这一块的运算属于数学知识,相信数学书会比我讲的更加好。

假设点A、B、C、和P是空间中的三维坐标点。4个点的表达式可以分别看为:

(x0, y0, z0)

(x1, y1, z1)

(x2, y2, z2)

(Px, Py, Pz)

Untitled

定义3个向量,向量CA、向量BA、和向量AP。3个向量的表达式可以分别看为:

(x2-x0, y2-y0, z2-z0)

(x1-x0, y1-y0, z1-z0)

(x0-Px, y0-Py, z0-Pz)

Untitled

将3个向量的 X 分量单独提出来组合成一个新的向量 x

x =(x2-x0, x1-x0, x0-Px)

将3个向量的 Y 分量单独提出来组合成一个新的向量 y

y = (y2-y0, y1-y0, y0-Py)

将两个向量 x 和 y 进行叉积运算后,得到一个法向量 u。

当 u 的 z 分量 小于 1时,此时说明点 P不在三角形内。