3d 计算三维空间中单个三角形的法线

3d 计算三维空间中单个三角形的法线,3d,geometry,3d,Geometry,我在一个图形编程班,我在做书面作业,而不是编程,所以我希望这是适合这个网站。我有一个问题: 计算由以下各项指定的三角形的单位法线: 以下顶点集(假设三角形背对 原产地): 一年多前我学过线性代数,我的老师说他不会教交叉积,因为只有班上的计算机科学专业的人会需要它,当他们需要它的时候,它会被覆盖(这不是因为他们认为线性代数老师做的),我查了24个解释,它们都在我的脑海里 这个问题有三个不同的问题,如果有人能教我如何解决一个不涉及大量变量和希腊字母的问题,我将不胜感激 这个问题的A部分将这三个坐标作

我在一个图形编程班,我在做书面作业,而不是编程,所以我希望这是适合这个网站。我有一个问题:

计算由以下各项指定的三角形的单位法线: 以下顶点集(假设三角形背对 原产地):

一年多前我学过线性代数,我的老师说他不会教交叉积,因为只有班上的计算机科学专业的人会需要它,当他们需要它的时候,它会被覆盖(这不是因为他们认为线性代数老师做的),我查了24个解释,它们都在我的脑海里

这个问题有三个不同的问题,如果有人能教我如何解决一个不涉及大量变量和希腊字母的问题,我将不胜感激

这个问题的A部分将这三个坐标作为三角形的点:
[1,1,1];[1, -1, 1]; [1,0,-1]
。我尝试拼凑不同的公式和解释,得到法向量是[4,0,0],但这似乎不正确,因为我知道这个三角形不在y-z平面上。我还有一个公式:

(A x B) / | A x B |
我知道A和B是三角形的两条随机边,用矢量表示,通过减去A的V2和V1以及B的V3和V1来计算,但我不明白它到底告诉我要做什么

三角形的曲面法线可以通过取三角形两条边的向量叉积来计算。计算中使用的顶点顺序将影响法线的方向(在面w.r.t.缠绕内或外)

因此,对于三角形
p1,p2,p3
,如果向量
a=p2-p1
和向量
B=p3-p1
,则法线
N=a x B
,可通过以下公式计算:

Nx = Ay * Bz - Az * By
Ny = Az * Bx - Ax * Bz
Nz = Ax * By - Ay * Bx

世界跆拳道联盟?!没有教交叉积吗?它们在计算机科学之外很有用。。。事实上,我从未在任何CS课程中使用过它们,只是在CS的专门应用中使用过。工程师、物理学家等。。。所有学生都经常使用叉积,计算机科学专业的学生从不使用叉积,他们几乎完全专注于离散数学。除此之外,三角形的一个有用特性是,它们的所有点都保证位于一个平面(共面),两条边之间的叉积将为您提供一个垂直向量(法线)。但是你通常想更进一步,使单位长度正常。请注意,叉积是一个订单相关的操作。这就引出了缠绕顺序的讨论,如果颠倒两个叉积操作数的顺序,将得到一条面向另一个方向的法线。学习了线性代数之后,你应该研究叉积的行列式形式,它可能是最有意义的。现在偶然发现了这一点,只是想说明三角形实际上位于y-z平面上,其法线是任意x值[x,0,0]。只是觉得很有趣。Uy是U的第二个元素吗?@JuneWang是的。我将更改字母以避免与UV coordsHi混淆。我对这个公式有两个问题。a) 正交三角形返回零长度法线。b) 有些三角形也返回零长度法线。e、 g.p1(3.9585345,12.684328,1.2042775)p2(3.1372554,12.51845,-0.089832544),p3(2.726616,12.435511,-0.7368876)。你觉得有道理吗结束我最后的评论。我仍然有正交三角形的问题。我的第二个问题不是使用高精度浮点:)@AndrésOviedo这样的三角形是退化的——它的所有点都在直线上,没有表面积,也没有面方向。