5

ポイントが 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);
4

3 に答える 3

6

ベクトルを正規化します。法線が一致しているかどうかを確認します。

最大値を見つけ、他のすべての値をその値で割り、ベクトル法線を取得します。

線上のどの点も、同じベクトル法線を持つ必要があります。

于 2011-02-18T16:21:25.253 に答える
3

点は、実際の座標の線上にあることはありません。あなたがする必要があるのは、線に最も近い点までの距離を計算し、これが十分に近いかどうかを判断することです.

于 2011-02-18T16:20:32.147 に答える
0

直線の方程式は

v(t) = v0 + t*dir

v0線上の点はどこにあり、そのdir方向はどこですか. ポイントがこの線形方程式と十分な精度で一致するかどうかを確認するだけです

于 2011-02-18T16:23:17.697 に答える