Symulacje komputerowe zjawisk fizycznych z zakresu mechaniki
Symulacje komputerowe zjawisk fizycznych z zakresu mechaniki
Symulacje komputerowe zjawisk fizycznych z zakresu mechaniki
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
krzywa2.append(pos=(2,1,0), color=color.green)<br />
krzywa2.append(pos=(3,1,0), color=color.yellow)<br />
# krzywa rysowana parametrycznie<br />
n = 16 # ilosc pelnych cykli (zwojow) sprezyny na jednostke dlugosci<br />
r = 2 # promien sprezyny :)<br />
rd = 0.05 # promien drutu<br />
krzywa3=curve(pos=[], radius=0.05)<br />
for i in arange(0.,1.,0.001):<br />
k=2*(1/(i+1)*i)<br />
#print k<br />
c=(k,1,1)<br />
krzywa3.append(pos=(-4+10*i,-2+i*r*cos(n*2*math.pi*i),<br />
i*r*sin(n*2*math.pi*i)), color=color.hsv_to_rgb(c))<br />
#----- uklad trzech strzalek<br />
strzalkax = arrow(pos=(-2,-2,-2), axis=(1,0,0), shaftwidth=1, color=color.red)<br />
strzalkay = arrow(pos=(-2,-2,-2), axis=(0,1,0), shaftwidth=1, color=color.green)<br />
strzalkaz = arrow(pos=(-2,-2,-2), axis=(0,0,1), shaftwidth=1, color=color.blue)<br />
#-----<br />
Jednym z wielu sposobów zastosowania<br />
krzywych jest wizualizacja trajektorii<br />
punktu materialnego lub specyficznych<br />
aspektów ruchu bryły sztywnej. Kolejny<br />
skrypt przedstawia animację kuli<br />
poruszającej się w przestrzeni. Za każdym<br />
razem gdy kula podąża w kierunku<br />
rosnących wartości y do krzywej<br />
(trajectory) jest przypisywany punkt o<br />
współrzędnych równych położeniu kuli.<br />
Zatem poruszająca się kula pozostawi za<br />
sobą ślad w postaci krzywej. Dodatkowo na<br />
płaszczyznach xy, yz, oraz zx są rysowane<br />
rzuty tej trajektorii.<br />
from visual import *<br />
#scene.background=(1.0,1.0,1.0)<br />
scene.range = 3.0<br />
Rysunek 4: Wizualizacja krzywych.<br />
rc=0 # promien krzywych<br />
col=(0.1,0.7,0.7)<br />
trajectory=curve(pos=[],color=col, radius=rc) #trajektoria kuli xyz<br />
c1=curve(pos=[],color=(0.8,0.5,0.1), radius=rc) #rzut na plaszczyzne xy<br />
c2=curve(pos=[],color=(0.2,0.6,0.2), radius=rc) #rzut na plaszczyzne yz<br />
c3=curve(pos=[],color=(0.9,0.1,0.9), radius=rc) #rzut na plaszczyzne zx<br />
a=1.0<br />
b=1.0<br />
c=0.0<br />
kula=sphere(pos=vector(a,c,b), radius=0.05, color=col)<br />
#p1,p2,p3 - prowadnice<br />
szary=(0.7,0.7,0.7)<br />
p1=curve(pos=[(kula.pos),(kula.pos[0],kula.pos[1],0.0)],color=szary, radius=rc)<br />
p2=curve(pos=[(kula.pos),(kula.pos[0],0.0,kula.pos[2])],color=szary, radius=rc)<br />
p3=curve(pos=[(kula.pos),(0.0,kula.pos[1],kula.pos[2])],color=szary, radius=rc)<br />
r = 0.6 # promien okregu<br />
#----- uklad trzech strzalek<br />
p=(0.0,0.0,0.0)<br />
k=0.01<br />
strzalkax = arrow(pos=p, axis=(1,0,0), shaftwidth=k, color=color.red)<br />
9