Народ поясните кто знает плиз...
1.Имеем локальные параметры объекта(позиция, размер,угол вращения)...
2.Поворачиваем объект с помощью матрицы - глобально по трем осям...
3.Как узнать на какой угол объект повернулся - по всем осям локально?
Модератор: Mikle
.Имеем локальные параметры объекта(позиция, размер,угол вращения)...
Поворачиваем объект с помощью матрицы - глобально по трем осям...
Как узнать на какой угол объект повернулся - по всем осям локально?
Для моих целей необходимо чтобы оси объекта оставались постоянно паралельно осям мира
'************************************************************
SUB UpdateGeoms1()
'************************************************************
DIM vTemp AS R3DVector3D
MB2Class_SetPointerEx Box
vTemp.x=TOKRB_GetX(bodyBox)
vTemp.y=TOKRB_GetY(bodyBox)
vTemp.z=TOKRB_GetZ(bodyBox)
MB2Mesh_SetPosition vTemp
vTemp.y =-TOKRB_GetYaw (bodyBox)
vTemp.x = TOKRB_GetPitch(bodyBox)
vTemp.z = TOKRB_GetRoll (bodyBox)
MB2Mesh_SetRotation vTemp
End Sub
'************************************************************
SUB UpdateGeoms2()
'************************************************************
LOCAL MatObj AS R3DMatrix
LOCAL MatPos AS R3DMatrix
LOCAL MatRot AS R3DMatrix
MB2Class_SetPointerEx Box
D3DXMatrixRotationYawPitchRoll MatRot,-TOKRB_GetYaw (bodyBox)*g_Rad,TOKRB_GetPitch(bodyBox)* g_Rad,TOKRB_GetRoll (bodyBox)*g_Rad
D3DXMatrixTranslation MatPos, TOKRB_GetX(bodyBox),TOKRB_GetY(bodyBox),TOKRB_GetZ(bodyBox)
D3DXMatrixMultiply MatObj, MatRot ,MatPos
MB2Mesh_SetMatrix(MatObj)
End Sub
vTemp.x=TOKRB_GetX(Box)
vTemp.y=TOKRB_GetY(Box)
vTemp.z=TOKRB_GetZ(Box)
MB2Mesh_SetPosition vTemp
vTemp.y =-TOKRB_GetYaw (Box)
vTemp.x = TOKRB_GetPitch(Box)
vTemp.z = TOKRB_GetRoll (Box)
MB2Mesh_SetRotation vTemp
определяем обьект с которым работаем...
MB2Class_SetPointerEx Box
получаем параметры позиции от описываемой поверхности для обьекта, которая включена в физический процесс...
vTemp.x=TOKRB_GetX(bodyBox)
vTemp.y=TOKRB_GetY(bodyBox)
vTemp.z=TOKRB_GetZ(bodyBox)
устанавливаем эти параметры позиции для нашего обьекта
MB2Mesh_SetPosition vTemp
тоже самое для поворота
vTemp.y =-TOKRB_GetYaw (bodyBox)
vTemp.x = TOKRB_GetPitch(bodyBox)
vTemp.z = TOKRB_GetRoll (bodyBox)
MB2Mesh_SetRotation vTemp
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19