我知道如何检查点是否在2d线上,但我想在3D中执行此操作。有什么想法吗?
// slope from point 1 to point 3
var p13:Number = (Math.atan2 (end.x - start.x, end.y - start.y)) * toDegrees;
// slope from point 1 to point 2 -- matches?
var p12:Number = (Math.atan2 (point.x - start.x, point.y - start.y)) * toDegrees;
return Math.round(p12) == Math.round(p13);
答案 0 :(得分:6)
标准化向量。检查法线是否匹配。
找到最大值,将所有其他值除以该值,以便得到向量法线。
一行上的任何一点都应该具有相同的矢量法线。
答案 1 :(得分:3)
一个点永远不会在真正的坐标线上“上”。您需要做的是计算到closest point to the line的距离,并确定它是否足够接近您。
答案 2 :(得分:0)
一条线的等式是
v(t)= v0 + t * dir
v0
在一条线上的某个点,而dir
是它的方向。只需检查您的点是否与此线性方程匹配,并具有足够的精度