[英]rotation of a plane in horizontally
我有一个非常简单的问题,但这使我困惑如何在c ++中做到这一点。
在这里,我有一个斜面,法线向量为(a,b,c)。 现在,我想将此平面水平旋转90度和180度。 即我想将XY平面中的法线平面旋转90度和180度。
问题是我不知道向量落在哪个象限中。 它可能排在第一或第三...或其他任何位置。
因此,我的问题是,任何将旋转矢量旋转90度和180度的通用公式。
例如,如果更新后的向量是[a1,b1,c](乘以90)和[a2,b2,c](乘以180),那么a1,b1和a2,b2是什么?
a1 = -b
b1 = a
a2 = -a
b2 = -b
更一般一点:绕Z轴旋转[x,y,z]角theta变为
[x,y,z]->[cos(theta)*x-sin(theta)*y , sin(theta)*x+cos(theta)*y , z]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.