3. Délka spirály

In [1]:
import numpy as np
import matplotlib.pyplot as plt

parametry pohybu:
úhlová rychlost otáčení $\omega = 1\;\text{s}^{-1}$
perioda oběhu $T = 2\pi / \omega = 6.28\;\text{s}$
počáteční vzdálenost bodu od počátku: $r(t = 0) = 1\;\text{m}$
radiální rychlost $v_r =\frac{dr}{dt} = \frac{r(t=0)}{T}$, tj. za jednu otáčku se dostaneme do počátku

In [2]:
omega=1
r=1
T=2*np.pi/omega
vr=r/T

časový krok $dt$

In [3]:
dt=T/10000

pole časů

In [4]:
t=np.arange(0,T,dt)
x=(r-vr*t)*np.cos(omega*t)
y=(r-vr*t)*np.sin(omega*t)
vx=-vr*np.cos(omega*t)-(r-vr*t)*omega*np.sin(omega*t)
vy=-vr*np.sin(omega*t)+(r-vr*t)*omega*np.cos(omega*t)

počet časových intervalů

In [5]:
n=np.size(t)

vypočítáme souřadnice $x, y$ pro pohyb, jehož trajektorie je spirála
$x(t)=(r-v_r t)\cos (\omega t)$
$y(t)=(r-v_r t)\sin (\omega t)$

In [6]:
x=(r-vr*t)*np.cos(omega*t)
y=(r-vr*t)*np.sin(omega*t)

vypočítáme také složky rychlosti jako časové derivace souřadnic
$v_x(t)=\dot{x}(t)=-v_r\cos(\omega t)-(r-v_rt)\omega\sin(\omega t)$
$v_y(t)=\dot{y}(t)=-v_r\sin(\omega t)+(r-v_rt)\omega\cos(\omega t)$

In [7]:
vx=-vr*np.cos(omega*t)-(r-vr*t)*omega*np.sin(omega*t)
vy=-vr*np.sin(omega*t)+(r-vr*t)*omega*np.cos(omega*t)

Nyní nakreslíme trajektorii pohybu

In [8]:
fig,ax=plt.subplots(figsize=(5,5))
ax.plot(x,y)
plt.title("trajektorie")
ax.set_xlabel("x")
ax.set_ylabel("y")
plt.show()
No description has been provided for this image

Teď spočítáme dráhu $s$, kterou hmotný bod urazil v čase od $0$ to $T$ jako součet useků uražených za časové okamžiky $dt$.
$s=\sum_{i=1}^n \frac{\sqrt{v_x(t_{i-1})^2+v_y(t_{i-1})^2}+\sqrt{v_x(t_i)^2+v_y(t_i)^2}}{2}\,dt$

In [9]:
s=0
for i in range(1,n):
    s=s+(np.sqrt(vx[i-1]**2+vy[i-1]**2)+np.sqrt(vx[i]**2+vy[i]**2))/2*dt

Nakonec vypíšeme výsledek

In [10]:
print(f"časový krok dt = {dt} s") 
print(f"počet intervalů n = {n}") 
print(f"uražená dráha: s = {s} m")
časový krok dt = 0.0006283185307179586 s
počet intervalů n = 10000
uražená dráha: s = 3.3829442906638465 m