我对向量知之甚少,所以我想知道如何计算训练中点的法线向量。例如,在三角形 ABC 中,IF A ≡ (0,3,0), B ≡ (0, 0,0) 和 C ≡ (4,0,0) 如何在 B 点找到 ABC 的法线向量?谁能解释一下计算方法?
问问题
481 次
1 回答
1
法线向量指向垂直于三角形平面的方向。由于这个向量在三角形中的任何位置都是相同的,因此它不会位于特定点。所以 B 处的法线与 A、C 和三角形上任何地方的法线相同。您可以通过取构成三角形两侧的两个向量的叉积来找到该方向的向量。例如说 D 和 E,其中 D 是向量 B - A = (0,-3,0),E 是 C - B = (4,0,0)。则叉积 C 定义为 D x E (D cross E),计算如下:
Cx = Dy * Ez - Dz * Ey
Cy = Dz * Ex - Dx * Ez
Cz = Dx * Ey - Dy * Ex
其中 xyz 是向量的分量。在你的情况下:
Cx = -3 * 0 - 0 * 0 = 0
Cy = 0 * 4 - 0 * 0 = 0
Cz = 0 * 0 - (-3) * 4 = 12
所以法向量指向方向(0,0,12)。通常,法线向量是单位向量,这意味着它的长度为 1。在这种情况下,单位向量是 (0,0,1)。您可以通过查看给定的坐标来判断 z 在每个点处为零,因此三角形位于 XY 平面上。然后法线指向 Z 轴。由于三角形的面有两条边,法线可以指向两个方向。您可以通过取叉积 E x D 而不是 D x E 来获得相反的法线。然后您将得到 (0,0,-12)。
于 2020-11-21T23:04:34.557 回答