【发布时间】:2013-04-09 10:24:58
【问题描述】:
我从 Blender(一种发型)中导出了一些头发颗粒。这些由几行(GL_LINES)组成。我的 openGL 程序可以毫无问题地显示这些粒子。现在我只想在这些粒子上应用光属性。 Blender 不会导出法线向量,所以我需要自己计算它们。我知道以下规则:
如果我们将一条线段定义为二维的 [AB], 我们有 dx = xB - xA 和 dy = yB - yA,那么法线是 N1(-dy, dx) 和 N2(dy, -dx)。
希望我没有犯任何错误。
但是如果我在我的线段坐标中添加 z 维度(例如 A(5, 2, 3) 和 B(0, 0, -5),我不知道 3D 空间线段定义的规则)。
有人可以帮助我吗?
【问题讨论】:
-
3D 中的线没有单一的法线。相反,线本身是平面的法线。
-
Aki Suihkonen 说了什么。或者,反过来说:在垂直于直线的平面上有无数条法线。要计算单个法线,您需要像三角形这样的“平面”。另一方面,一条线可以以各种可能的方式围绕自身旋转,而您却看不到差异。
标签: math opengl normalization opengl-3 normals