繁体   English   中英

旋转平面使其具有一定的法向矢量

[英]Rotating plane such that it has a certain normal vector

我遇到以下问题:在3D中,有一个向量将平面的中心固定为原点。 该平面在此中心周围具有任意坐标,因此其法向矢量不一定是上述矢量。 因此,我必须围绕该固定中心旋转平面,以使所提到的向量成为该平面的法线向量。

我的第一个想法是计算向量和法线向量之间的角度,但是问题是如何旋转平面。

有任何想法吗?

平面是满足以下方程式的数学实体

在此处输入图片说明

其中n是法线, a是平面上的任何点(在这种情况下,中心点如上)。 “旋转”该方程式没有任何意义-如果您希望平面面向某个方向,只需使法线等于该方向即可(即“提到的”矢量)。

您稍后在注释中提到“平面”是OpenGL四边形,在这种情况下,您可以使用四元数来计算旋转。

这篇Stackoverflow帖子告诉您如何计算从当前法向矢量到“提及”矢量的旋转四元数。 该站点告诉您如何将四元数转换为旋转矩阵(尺寸为3x3)。

假设中心点称为q ,并且您获得的旋转矩阵具有以下形式:

在此处输入图片说明

这只能使几何图形绕原点旋转。 围绕一般点的旋转需要4x4矩阵(OpenGL使用的矩阵),其结构如下:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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