是的,我一直在stackoverflow上搜索其他帖子,但大多数情况下我不理解它们,或者我不知道如何在我的脚本语言中实现它。
我想围绕另一个3D点旋转一个3D点,我有一个具有3D旋转的父3D点和具有3D旋转的子3D点,我如何围绕父点旋转子点以保持旋转信息?
脚本语言是PAWN,但C语言也很好(因为它是相似的),我知道我必须使用这些函数:
- floatcos(Float:angle, anglemode(radian, degrees or grades));
- floatsin(浮动:角度,角度模式(弧度,度或等级));
- floatan(浮动:角度,角度模式(弧度,度或等级));
父点和子点有这些坐标:X(左右),Y(前后),Z(上下)RX(旋转俯仰),RY(旋转横摇),RZ(旋转偏航)
红色为父点蓝色是子点
点击这里查看图片
我希望你们能帮助我,我真的不擅长数学,我需要这个工作:/
我使用了一个旋转矩阵库,它从父对象的位置和旋转中计算所有附加对象的世界位置。
一个数学论坛的用户建议了这个方法,并且它有效https://en.m.wikipedia.org/wiki/Rotation_matrix