Показать сообщение отдельно
Старый 31.12.2010, 06:14   #12
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: newton или у меня кривые руки...

Сам не нашёл(хлама много, просто завалился)
Во нашёл.Чемто смахивает на взрыв.Из комплекта NEWTON 1.0.5
; Пример, как сделать разлет тел, как от взрыва
Include "newton.bb"
;					-- Set Graphics, camera and light --
Graphics3D 600,600,32,2
AppTitle "Sample #16 of Newton Wrapper. Simple Explosion."
AmbientLight 64,64,64
Global cam = CreateCamera()
CameraClsColor cam,25,30,70
PositionEntity cam,-5,13,-30
light= CreateLight()
RotateEntity light,20,50,0

plane = CreatePlane()
celltex = LoadTexture("Cell.bmp")
ScaleTexture CellTex,10,10
EntityTexture plane,celltex
EntityAlpha plane,.8
CreateMirror()
;				-- Set physic
phWorldCreate(1)

;				-- create environment
For x = -9 To 9 Step 3
	For y = 1 To 19 Step 2
		For z = -9 To 9 Step 3
			box.phx = phxCreateBox(1,1,1,.1)
			phBodySetPos(box\body,x,y,z)
			EntityColor(box\mesh,Rnd(0,255),Rnd(0,255),Rnd(0,255))
		Next
	Next
Next

;play it!
While Not(KeyHit(1))
	
	If (KeyHit(57));create explosion at (0,0,0)
		For p.phx = Each phx
			;текущие координаты
			xx# = phBodyGetX(p\body)
			yy# = phBodyGetY(p\body)
			zz# = phBodyGetZ(p\body)
			dist2# = xx*xx+yy*yy+zz*zz
			;сила
			power# = 1000.0
			fx# = power*xx/dist2
			fy# = power*yy/dist2
			fz# = power*zz/dist2
			phBodyAddForce(p\body,fx,fy,fz)
			;момент вращения
			power2# = 10000.0
			Torque# = power2/dist2
			phBodyAddTorque(p\body,Rnd(-Torque,Torque),Rnd(-Torque,Torque),Rnd(-Torque,Torque))
		Next
	EndIf
	WorldStep(0.05)
	
	RenderWorld
	Text 20,200,"Press Space to Explode"
	Flip
Wend
(Offline)
 
Ответить с цитированием