0

「ほぼ」線形 (しきい値内)、実際には線形であるポイントを変更するにはどうすればよいですか?

3 つの点が互いに直線であるかどうか (ギブまたはテイク) をチェックするコードがあり、それらの座標を 100% インラインの新しい座標に置き換えたいと考えています。

        double distance = (x1 - x2) * (y1 - y3) - (y1 - y2) * (x1 - x3);

        double threshold = 4;

        if (Math.abs(distance) <= threshold) {
            // is Near line
            return true;
        }
        else
            return false;

これは私の別の投稿の延長です...これは再投稿ではなく、単に関連するトピックです:

Java - 平均線形グラフ プロット

4

1 に答える 1

0

ポイントをラインにスナップするための専門用語は、ポイントをラインに投影することです(-セグメント)

残っている唯一の問題: 点を線または線分に投影する必要がありますか? (線分は 2 点間のみであり、線は無限の長さを持ち、両方の点を通過します)

以下のコードは両方を解決します: 点 A->B の外側にある線の部分にも点を投影できるようにするには、コードははるかに単純になりますが、これは以下のリンクでも説明されています。

http://forums.codeguru.com/showthread.php?194400-Distance-between-point-and-line-segmentを参照してください

投影されたポイントは変数 (xx,yy) にあります: (xx,yy) は、(cx,cy) に最も近い lineSegment 上のポイントです。

于 2012-11-27T21:38:02.313 に答える