我正在使用 C 语言进行光线追踪器工作。我正在尝试找出光线平面交叉点的数学运算。我有
d = ((Po-Lo) (点) N) / (L (点) N)
现在如果我是对的...
n - the planes normal ray
Po = single point on the plane
L = the vector that represents the ray I am shooting
Lo = a point on the line
我很困惑这是如何工作的。如果我逐个像素地进行,线(Lo)上的点是否需要降落在平面上?如果这是真的,我不能只用我投射的光线 (L) 的方向向量来表示那个点吗?
我觉得我完全把这个复杂化了,但是我完全不知道如何在我的代码中让它工作。
编辑:
d = a scalar in the real world domain.
所以 d 需要等于零才能使平面和射线(在我正在看的点)相交?我可以用方向向量坐标来表示线上的那个点吗>