是否可以旋转其顶点以球面坐标定义的身体? 目前我正在做VHDL的拼贴项目,是关于旋转十二面体和呈现VGA。从球坐标旋转身体
我申请了pinhole camera model等式,并且只需要两次sin/cos计算和两个每顶点乘法。 我只是想考虑绕着第三轴旋转三个角度,但是我无法找出合适的方程,即使这是可能的。
编辑
我想我得到了它。
旋转到与摄像头相同方向的第3个轴,只要计算出相机坐标的二维变换即可。这意味着比3轴旋转(确定两轴和一个倾角),您需要总共应用4次sin/cos计算和4次乘法。如果有人提出更好的建议,可以自由发表答案。
我刚刚发布我的解决方案。在你的情况下,有5次乘法,3次sin/cos(3次角),1次acos和1次atan函数绕3次斧旋转,在我的解决方案中,我只加了2次sin/cos和2次乘法。问题也在VHDL中实现atan和acos函数。 – 2011-03-12 11:09:35
@ralu:是的,只要使用第二组2D旋转方程(忽略第一个和第三个方程)就可以工作,如果您认为相机总是*定位并定向在x轴上。 – 2011-03-12 17:55:48
实际上,只能通过更改φ才能绕z轴旋转。这取决于你当前的(θ,φ)。这是有道理的,你必须转换为笛卡尔坐标来做一个关于笛卡尔坐标轴的旋转 - 从某种意义上讲,笛卡尔坐标轴“不在那里” - 你不能通过简单的加法“沿着x轴行进”在球坐标 - 为什么你应该能够围绕它旋转? – bobobobo 2012-02-24 19:29:43