Newton Problem
Blitz3D Forums/Blitz3D Beginners Area/Newton Problem
| ||
Hey! Have a small problem with newton. The sample code is from the explosion. The origin of the explosion has the coordinates 0,0,0. How must I change the code so that the explosion can have different coordinates?If (KeyHit(57));create explosion at (0,0,0) For p.phx = Each phx ;current position xx# = phBodyGetX(p\body) yy# = phBodyGetY(p\body) zz# = phBodyGetZ(p\body) dist2# = xx*xx+yy*yy+zz*zz ;force power# = 1000.0 fx# = power*xx/dist2 fy# = power*yy/dist2 fz# = power*zz/dist2 phBodyAddForce(p\body,fx,fy,fz) ;and torque power2# = 10000.0 Torque# = power2/dist2 phBodyAddTorque(p\body,Rnd(-Torque,Torque),Rnd(-Torque,Torque),Rnd(-Torque,Torque)) Next EndIf |
| ||
Haven't tested this (and don't have time right now) but try subtracting the position you want the explosion to be at from the position of each body. EDIT: Tested it and it seems to work correctly. eg. ; For an explosion position at 10, 10, 10 xx# = phBodyGetX(p\body) - 10 yy# = phBodyGetY(p\body) - 10 zz# = phBodyGetZ(p\body) - 10 |
| ||
Thanks for your help, works exactly as I had imagined. GREAT!!! |