【问题标题】:Parallel plane in openGLopenGL中的平行平面
【发布时间】:2012-01-19 15:08:10
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: opengl rotation translate-animation


    【解决方案1】:

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

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

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

    【讨论】:

    • 是的,我知道,这就是计算三角形法线向量、平移法线、旋转法线角度并绘制平面的原因。
    • 好吧,也许我误解了你当时的意思。但是按照您的表述方式,您似乎希望更改三角形顶点,然后自动更改绘制的内容(这对于场景图来说是可能的)。如果您显示用于绘制平面的代码,也许我们可以为您提供更多帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 2018-11-21
    • 2013-02-24
    • 2018-07-14
    相关资源
    最近更新 更多