繁体   English   中英

平面水平旋转

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM