A szimulációban a testek egymással ütköznek, és új sebesség vektorokat kapnak. Időnként szükség lehet olyan testekre, mint például egy padló, aminek a mozgását tilthatjuk. Ütközhetnek hozzá a mozgó testek, de nem mozdul el a helyéről. A kódban a test.mozgás(ki) utasítást kell beírnunk, és az alatta lévő kódban megadott testek nem fognak elmozdulni. A gravitáció y irányban lefelé hat, és 20 db véltelenül elhelyezett gömb zuhan a fix padlóra.
color(#ffb200)
gravitáció(0, -10, 0)
fizika.start
for(n,1,20)
x=rand(-100,100)/10
y=rand(50,100)/10
z=rand(-100,100)/10
hely(x,y,z)
gömb(1) DEF G[n]
next(n)
test.mozgás(ki)
color(#342a6b)
hely(0,0,0)
tégla(20,0.1,20)
camera(KAM1, 9.03, 14.69, 25.7, 0.03, 0.82, 0.1)
DOBOZA továbbiakban szükségünk lesz egy dobozra, ami nem mozog, és visszapattan róla minden test. Az alábbi kódot minden példa végére kell majd másolnod! Ebbe a dobozba potyogtatjuk bele a testeket. |
//----------------------------------------- |
RUGALMASSÁGAz ütközést befolyásolja a test rugalmassága. Ezt a test kódja előtt kell beállítani. Valóságos szimuláció esetén 0..1 közötti szám legyen. A példában minden gömb más rugalmasságot kapott. A hátul lévő gömb minden ütközéskor egyre magasabbra ugrik, mert a rugalmassága 1-nél nagyobb. Ne feledjük, hogy a padlónak, vagyis a doboznak is van rugalmassága! |
color(#ffffff) |
A két gömb (G1,G2) egymással ellentétes sebességgel zuhan a padlóra, és mivel elég nagy a rugalmasságuk, sokáig pattognak. |
color(#ffffff) |