Physics Simulation ProjectFizik Simülasyon Projesi
Projectile Motion with Linear DragDoğrusal Sürüklemeli Mermi Hareketi
A numerical simulation comparing projectile trajectories with and without air resistance, using forward Euler integration and analytical solutions.Hava direnciyle ve dirençsiz mermi yörüngelerini karşılaştıran, ileri Euler entegrasyonu ve analitik çözümler kullanan sayısal bir simülasyon.
pythonnumpyphysicsnumerical-methods
Team: Schrödinger's Siths — Livanur Çelik · Ahmet Ali Akkurt · Berkay Yılmaz
§1 — Theory§1 — Teori
Physical ModelFiziksel Model
A projectile of mass $m$ is launched from the origin with initial speed $v_0$ at
angle $\theta$ above the horizontal. Two forces act on it: uniform gravitational
acceleration $\vec{g}$ pointing downward, and a linear drag force proportional to
and opposing the velocity vector.
The linear drag model assumes $\vec{F}_d = -k\vec{v}$, where $k$ is the drag
coefficient in $[\text{kg/s}]$. This is a good approximation for slow, small objects
in viscous media (low Reynolds number). For high-speed projectiles in air, a quadratic
model ($F \propto v^2$) would be more appropriate — but the linear case keeps the math
tractable and clearly demonstrates how drag modifies trajectories.
$m$ kütleli bir mermi, orijinden $v_0$ başlangıç hızıyla yatayla $\theta$ açı yapacak
şekilde fırlatılır. Üzerine iki kuvvet etki eder: aşağı yönlü düzgün yerçekimi
ivmesi $\vec{g}$ ve hız vektörüne oransal ve zıt yönlü doğrusal sürükleme kuvveti.
Doğrusal sürükleme modeli $\vec{F}_d = -k\vec{v}$ kabul eder; burada $k$, sürükleme
katsayısı olup birimi $[\text{kg/s}]$'dir. Bu, viskoz ortamlarda yavaş ve küçük cisimler
için (düşük Reynolds sayısı) iyi bir yaklaşımdır. Havadaki yüksek hızlı mermiler için
kuadratik model ($F \propto v^2$) daha gerçekçi olur — ancak doğrusal durum matematiği
basit tutar ve sürüklemenin yörüngeleri nasıl değiştirdiğini açıkça gösterir.
Newton's Second LawNewton'un İkinci Yasası
Applying $\vec{F} = m\vec{a}$ with gravity and linear drag:Yerçekimi ve doğrusal sürükleme ile $\vec{F} = m\vec{a}$ uygulandığında:
$$m\vec{a} = m\vec{g} - k\vec{v}$$
Net force = gravity + dragNet kuvvet = yerçekimi + sürükleme
Defining $\gamma = k/m$ as the drag-to-mass ratio (units $[\text{s}^{-1}]$), the equations of motion decompose into:$\gamma = k/m$ sürükleme-kütle oranı (birimi $[\text{s}^{-1}]$) tanımlandığında, hareket denklemleri şöyle ayrışır:
$$\frac{d^2 x}{dt^2} = -\gamma \frac{dx}{dt}$$
Horizontal — exponential velocity decayYatay — üstel hız azalması
Vertical — gravity plus dragDüşey — yerçekimi artı sürükleme
Analytical SolutionsAnalitik Çözümler
These are first-order-reducible ODEs with closed-form solutions. For the horizontal direction with $v_{x0} = v_0 \cos\theta$:Bunlar birinci mertebeye indirgenebilir, kapalı form çözümleri olan ODE'lerdir. $v_{x0} = v_0 \cos\theta$ ile yatay yön için:
NoteNot —
In the no-drag case, total mechanical energy is conserved ($E = \text{KE} + \text{PE} = \text{const}$). With drag, energy is continuously dissipated as heat: $dE/dt = -k|\vec{v}|^2 < 0$.Sürüklemesiz durumda toplam mekanik enerji korunur ($E = \text{KE} + \text{PE} = \text{sabit}$). Sürüklemeli durumda enerji sürekli olarak ısıya dönüşür: $dE/dt = -k|\vec{v}|^2 < 0$.
While closed-form solutions exist for linear drag, we integrate numerically using Euler's method. This serves as a foundation for extending to more complex models (quadratic drag, wind, spin) where analytical solutions are unavailable.
Doğrusal sürükleme için kapalı form çözümler mevcut olsa da, Euler yöntemiyle sayısal olarak entegre ediyoruz. Bu, analitik çözümlerin bulunmadığı daha karmaşık modellere (kuadratik sürükleme, rüzgar, spin) genişletmek için bir temel oluşturur.
Watch the projectile in real time. Blue = with drag, dashed red = no drag.Mermiyi gerçek zamanlı izleyin. Mavi = sürüklemeli, kesikli kırmızı = sürüklemesiz.
Each sweep varies one parameter while holding others at defaults. Dashed = no-drag reference.Her taramada bir parametre değişirken diğerleri varsayılan değerde tutulur. Kesikli çizgi = sürüklemesiz referans.
§3.2 — Energy Dissipation§3.2 — Enerji Kayıpları
Without drag, mechanical energy is perfectly conserved. With drag, KE is continuously converted to heat.Sürüklemesiz durumda mekanik enerji tamamen korunur. Sürüklemeli durumda kinetik enerji sürekli ısıya dönüşür.
Drag Force vs. DistanceSürükleme Kuvveti – Mesafe İlişkisi
This project demonstrates how even a simple linear drag model significantly alters projectile motion compared to the idealized case. Linear drag reduces both range and maximum height, the horizontal velocity decays exponentially, and the trajectory is no longer a symmetric parabola. Energy analysis confirms monotonic total energy decrease, with the dissipated energy going to heat.
The forward Euler scheme provides accurate results when $\Delta t \cdot \gamma \ll 1$. Possible extensions include quadratic drag ($F \propto v^2$), wind effects, Magnus force, 3D trajectories, and adaptive time-stepping.
Bu proje, basit bir doğrusal sürükleme modelinin bile idealleştirilmiş duruma kıyasla mermi hareketini önemli ölçüde değiştirdiğini göstermektedir. Doğrusal sürükleme hem menzili hem de maksimum yüksekliği azaltır, yatay hız üstel olarak azalır ve yörünge artık simetrik bir parabol değildir. Enerji analizi, toplam enerjinin monoton olarak azaldığını ve kaybedilen enerjinin ısıya dönüştüğünü doğrular.
İleri Euler şeması $\Delta t \cdot \gamma \ll 1$ olduğunda doğru sonuçlar verir. Olası genişletmeler: kuadratik sürükleme ($F \propto v^2$), rüzgar etkileri, Magnus kuvveti, 3B yörüngeler ve uyarlanabilir zaman adımı.
Bug fix noteHata düzeltme notu —
The original notebook used quadratic drag in the integration loop despite the theory describing linear drag. This was corrected in the refactored version.Orijinal notebook, teori bölümünde doğrusal sürükleme anlatılmasına rağmen entegrasyon döngüsünde kuadratik sürükleme kullanıyordu. Bu, refaktör edilen sürümde düzeltildi.