
;-----------------------------
Graphics3D 640,480
SetBuffer BackBuffer()
camera=CreateCamera()
light=CreateLight()
;-пивот der весомое тело
der=CreatePivot()
PositionEntity der,0,0,5
nagr=3;нагрузка
;-----граници---
Dim d(8),xxx(8),yyy(8),zzz(8)
For i = 0 To 8
d(i)=CreatePivot(der)
If i=1 Then xxx(i)=1 yyy(i)=1 zzz(i)=1
If i=2 Then xxx(i)=1 yyy(i)=1 zzz(i)=-1
If i=3 Then xxx(i)=1 yyy(i)=-1 zzz(i)=1
If i=4 Then xxx(i)=1 yyy(i)=-1 zzz(i)=-1
If i=5 Then xxx(i)=-1 yyy(i)=1 zzz(i)=3
If i=6 Then xxx(i)=-1 yyy(i)=1 zzz(i)=-1
If i=7 Then xxx(i)=-1 yyy(i)=-1 zzz(i)=1
If i=8 Then xxx(i)=-1 yyy(i)=-1 zzz(i)=-1
PositionEntity d(i) ,xxx(i),yyy(i),zzz(i)
ss=CreateSphere(8,d(i))
ScaleEntity ss,.05,.05,.05
Next
While Not KeyDown( 1 )
;-----------расстояние проекций------------
xder1#=Sqr(Abs((EntityX(der,True)-EntityX(d(1),True))^2-(EntityY(der,True)-EntityY(d(1),True))^2))
xder2#=Sqr(Abs((EntityX(der,True)-EntityX(d(2),True))^2-(EntityY(der,True)-EntityY(d(2),True))^2))
xder3#=Sqr(Abs((EntityX(der,True)-EntityX(d(3),True))^2-(EntityY(der,True)-EntityY(d(3),True))^2))
xder4#=Sqr(Abs((EntityX(der,True)-EntityX(d(4),True))^2-(EntityY(der,True)-EntityY(d(4),True))^2))
xder5#=Sqr(Abs((EntityX(der,True)-EntityX(d(5),True))^2-(EntityY(der,True)-EntityY(d(5),True))^2))
xder6#=Sqr(Abs((EntityX(der,True)-EntityX(d(6),True))^2-(EntityY(der,True)-EntityY(d(6),True))^2))
xder7#=Sqr(Abs((EntityX(der,True)-EntityX(d(7),True))^2-(EntityY(der,True)-EntityY(d(7),True))^2))
xder8#=Sqr(Abs((EntityX(der,True)-EntityX(d(8),True))^2-(EntityY(der,True)-EntityY(d(8),True))^2))
;--------------крутящие моменты----------------
mom1#=Sqr(xder1#^2+nagr^2)
mom2#=Sqr(xder2#^2+nagr^2)
mom3#=Sqr(xder3#^2+nagr^2)
mom4#=Sqr(xder4#^2+nagr^2)
mom5#=Sqr(xder5#^2+nagr^2)
mom6#=Sqr(xder6#^2+nagr^2)
mom7#=Sqr(xder7#^2+nagr^2)
mom8#=Sqr(xder8#^2+nagr^2)
mom_1#=(mom1#+mom2#+mom3#+mom4#)-(mom5#+mom6#+mom7#+mom8#); ось x
mom_2#=(mom1#+mom3#+mom5#+mom7#)-(mom2#+mom4#+mom6#+mom8#); ось z
;-------------управление вращением---------------
If KeyDown( 208 )=True Then pitch#=pitch#-1
If KeyDown( 200 )=True Then pitch#=pitch#+1
If KeyDown( 203 )=True Then yaw#=yaw#-1
If KeyDown( 205 )=True Then yaw#=yaw#+1
If KeyDown( 45 )=True Then roll#=roll#-1
If KeyDown( 44 )=True Then roll#=roll#+1
;-----------вращение и воздействие------------
RotateEntity der,pitch#,yaw#,roll#
TurnEntity der,mom_1#,mom_2#,0
RenderWorld
Text 0,10,"xder1 : "+xder1#
Text 0,20,"xder2 : "+xder2#
Text 0,30,"xder3 : "+xder3#
Text 0,40,"xder4 : "+xder4#
Text 0,50,"xder5 : "+xder5#
Text 0,60,"xder6 : "+xder6#
Text 0,70,"xder7 : "+xder7#
Text 0,80,"xder8 : "+xder8#
Text 0,100,"mom_1# : "+mom_1#
Text 0,110,"mom_2# : "+mom_2#
Flip
Wend
End