Skip to content

kotikoM/Dynamic-Projectile-Targeting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 Dynamic Projectile Targeting under Real-Life Disruptive Forces

📌 Description

This project focuses on simulating projectile motion under real-world forces such as gravity and drag. The governing equations are formulated as ordinary differential equations (ODEs) and solved using the shooting method to determine the optimal velocity for hitting static and moving targets.

Written in Python , this project utilizes advanced techniques such as edge detection, clustering, shooting method and numerical methods like Euler and RK2, all packaged in the utils module.

For a more detailed explanation, visit my documentation: 📚 Dynamic Projectile Targeting Docs

🧮 Governing Equations

$$\frac{dx}{dt} = v_x,$$ $$\frac{dy}{dt} = v_y,$$ $$\frac{dv_x}{dt} = -\frac{k}{m} v_x \sqrt{v_x^2 + v_y^2},$$ $$\frac{dv_y}{dt} = -g - \frac{k}{m} v_y \sqrt{v_x^2 + v_y^2}.$$

🔥 Project Components

🎯 1. Shooting Static Targets

  • A stationary shooter aims at targets identified in an input image.
  • Edge detection & clustering help locate targets.
  • The shooting method computes the optimal velocity to hit them.
  • Topped with visualizations & animations!✨

Example:

  • Input Image Computed Static Trajectories
    colorful_balls.jpg Target Projectiles.png
  • Animation Demonstration:

    Numerical.Target.Shooting.Game.Simulation.mp4

🚀 2. Intercepting a Moving Target

  • The system predicts the motion path of a moving object.
  • Optimal projectile velocity is calculated to intercept the target.
  • Visualizations and animations enhance the analysis.

Example:

  • Input Video: YouTube Video

  • Real Path vs. Prediction Interceptions Visualization
    data vs prediction.png Predicted and Shooter Path
  • Animation Demonstration:

    Projectile.interception.based.on.part.of.its.initial.path.mp4

⚙️ Installation & Usage

📜 Prerequisites

  • Python 3.x
  • Required libraries: NumPy, OpenCV, Matplotlib

About

Simulation of static and dynamic target hitting and interception under real-world forces such as gravity and drag.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages