0

我有一个非常简单的问题,但这让我很困惑如何在 C++ 中做到这一点。

在这里,我有一个斜平面,其法向量是 (a,b,c)。现在我想将这个平面水平旋转 90 度和 180 度。即我想将XY平面中的平面法线旋转90度和180度。

问题是我不知道该向量落在哪个象限。它可能在第一或第三......或任何其他。

所以,我的问题是,任何将矢量旋转 90 度和 180 度的通用公式。

例如,如果更新后的向量是 [a1,b1,c](乘以 90)和 [a2,b2,c](乘以 180),那么 a1,b1 和 a2,b2 会是什么?

4

2 回答 2

3
a1 = -b
b1 =  a

a2 = -a
b2 = -b
于 2013-09-28T12:13:51.210 回答
1

更一般一点:围绕 Z 轴旋转 [x,y,z] 角度 theta 变为

[x,y,z]->[cos(theta)*x-sin(theta)*y , sin(theta)*x+cos(theta)*y , z]
于 2013-09-28T12:21:50.583 回答