0

我正在使用 OpenGL,我需要在三维空间中的三角形前面绘制一个平面。因此,如果其中一个三角形点发生变化,平面也会发生变化

我有 3 个点,使用叉积,我可以得到法线向量,所以,要绘制平面,我只需要参考其中一个三角形点将三角形平移到世界的原点,平移一段距离在法线上,旋转 X、Y 和 Z 中的法线角度,并绘制平面。

我需要知道如何在法线上平移,以及如何旋转新平面,因此,当其中一个顶点发生变化时,法线会发生变化,而平面也会发生变化。

据我了解,我可以使用 glRotatef(angle, normal[x, y, z]) 中的法线向量,角度 = 0。但是当我改变一个三角形顶点时,平面并没有改变。

4

1 回答 1

2

OpenGL 不是场景图。它不会为您处理转换对象。OpenGL 所做的只是渲染您告诉它渲染的内容。

如果你告诉它渲染一个顶点(你改变了它),而不是告诉它改变它绘制平面的方式,那么平面当然不会改变。

查看场景图,以及如何进行矩阵和矢量数学。一个简单的场景图相对容易创建。

于 2011-12-13T18:42:47.350 回答