[英]Euler camera, rotation around x axis in camera local system
我有一个摄像头课程,可以通过欧拉角和位置来保持她的方向。 像这样:
float m_x;
float m_y;
float m_z;
Vector4 m_pos;
我想在空间上自由移动相机。 用户上下移动鼠标时,摄像头必须在自己的坐标系中绕x轴旋转。 但是我只想保持这三个角度和位置,仅此而已。
所以算法看起来像这样:
问题是:如何计算默认坐标系中的旋转角度(我的意思是(1,0,0),(0,1,0)和(0,0,1)),以响应本地相机坐标中的旋转角度系统?
还是针对此问题存在更好的解决方案?
我正在回答您评论中的简洁问题:
如何计算一个坐标系中的旋转响应另一个坐标系中的旋转?
您可以通过应用合适的变换矩阵来变换坐标系之间的旋转。 这又可以通过欧拉角来计算,请参阅Wikipedia上有关转换公式的部分 。
根据您的应用程序,您可能也可能不必考虑翻译。 据我了解您的问题,您可以专注于每个变换的旋转部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.