平面公式:n · (p - p0) = 0
点p与p0必须均位于同一平面,且n为此平面的法向量。
平面公式:n · p + d = 0
平面公式转换式:d = -n · p
由平面公式可知:
如果d = 0,则点p位于当前平面上。
如果d > 0,则点p位于当前平面前方,并处于平面的正半区域。
如果d < 0,则点p位于当前平面后方,并处于平面的负半区域。
如果平面法向量n的模为1,则 n · p + d 就等于该平面到点p的最短有符号距离。
射线公式:p(t) = p0 + tu
p0为射线起始点向量,t为标量,u为射线方向。
给定射线 p(t) = p0 + tu 和平面 n · p + d = 0,求该射线是否与平面相交以及交点的位置。此时可以将射线代入平面方程,并求解满足平面方程的参数t,这样就求出能够产生交点的参数的范围。
n · p(t) + d = 0
n · (p0 + tu) + d = 0
n · p0 + n ·tu + d = 0
n · tu = -d - (n ·p0)
t = (-d - (n ·p0)) / (n ·u)
若t不在区间[0, ∞]内,则射线与平面不相交。
若t位于区间[0,∞]内,可将t带入射线方程,则可求得交点:
p((-d -(n · p0)) / (n · u)) = p0 + ((-d -(n · p0)) / (n · u)) · u