Опять похожая проблема.
В этот раз просто необходимо поворачивать плано объект в то же направление куда повернут другой объект-пивот. В примере для удобства я взял только поворот по оси игрек.
Вот код:

Graphics3D 1280, 1024, 32, 1
cam=CreateCamera()
CameraClsColor cam, 0, 100,255
CameraRange cam, 1, 1000
MoveEntity cam,0,0,-50
lit=CreateLight()
PositionEntity cam, 2, 10,-2
cube=CreateWCone()
EntityColor cube, 255,0,0
PointEntity cam, cube
pivot=CreateWCone()
PositionEntity pivot, 5,0,0
RotateEntity pivot, 0, Rand(0,360), 0
Repeat
If Abs(EntityYaw(cube)-EntityYaw(pivot))<2
RotateEntity pivot, 0, Rand(0,360), 0
EndIf
SmoothTurn4(cube, pivot, 0.01)
If KeyDown(200)=1 Then MoveEntity cam, 0,0,0.5
If KeyDown(208)=1 Then MoveEntity cam, 0,0,-0.5
RotateEntity cam, EntityPitch(cam)+MouseYSpeed()*0.2, EntityYaw(cam)-MouseXSpeed()*0.2 ,0
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
UpdateWorld
RenderWorld
Flip 60
Until KeyHit(1)
End
Function CreateWCone()
f=CreateCone(4)
RotateMesh f,0,0,90
ScaleMesh f, 1,2,2
RotateMesh f, 45,90,0
ScaleMesh f,1.2,1,1
Return f
End Function
Function SmoothTurn4#(ent1,ent2,speed# = 1)
smx#=(EntityPitch(ent2)-EntityPitch(ent1))*speed
smy#=(EntityYaw(ent2)-EntityYaw(ent1))*speed
smz#=(EntityRoll(ent2)-EntityRoll(ent1))*speed
TurnEntity ent1, smx, smy, smz
End Function
Если внимательно приглядыватьтся то совсем несложно увидеть то что красный объект вовсе не всегда поворачивается так как это обычно происходит в жизни. Вместо того чтобы повернуться на -90 градусов, он к примеру повернйтся на 270, и наоборот. Вот именно этот недостаток необходимо устранить.
Я сам никак не могу додуматься как это возможно. Жду вашей помощи!

Спасибо!
