5

線の端に 2 つの点があります。
この行の翻訳の終了座標を取得する必要があります。
平行移動は、元の線から距離 d の平行線になります。
ここに私が必要とするもののイメージがあります:

ここに画像の説明を入力

したがって、これら 2 点と距離を渡し、2 つの新しい座標を返す関数が必要です。
私はしばらくこの問題に悩まされてきました。どんな助けでも大歓迎です!
ありがとうございます!

4

2 に答える 2

3

新しい座標は、結果のベクトルになります

距離dに移動方向の正規化されたベクトルを掛けて、元のベクトルポイントに追加します。

編集:

線の 2 点が与えられたら、これらの点を結ぶベクトルの法線を計算する必要があります。その情報はこちら..

このベクトルを正規化し、 dを掛け、各ポイントに加算します。

于 2012-06-28T22:13:31.750 に答える
2

ベクトル (x2-x1,y2-y1) を計算します。これは、ラインの方向のベクトルです。法線ベクトルは次の式で与えられます。

    (-(y2-y1),-(x2-x1)) = (y1-y2,x1-x2). 

このベクトルをそのサイズで割って、必要な方向の単位ベクトルを取得します

    A = (y1-y2,x1-x2)/|(y1-y2,x1-x2)|

距離dが与えられると、変換されたポイントは次のように与えられます

    NewPoint = OldPoint + d * A
于 2012-06-28T22:20:56.743 に答える