線の端に 2 つの点があります。
この行の翻訳の終了座標を取得する必要があります。
平行移動は、元の線から距離 d の平行線になります。
ここに私が必要とするもののイメージがあります:
したがって、これら 2 点と距離を渡し、2 つの新しい座標を返す関数が必要です。
私はしばらくこの問題に悩まされてきました。どんな助けでも大歓迎です!
ありがとうございます!
新しい座標は、結果のベクトルになります
距離dに移動方向の正規化されたベクトルを掛けて、元のベクトルポイントに追加します。
編集:
線の 2 点が与えられたら、これらの点を結ぶベクトルの法線を計算する必要があります。その情報はこちら..
このベクトルを正規化し、 dを掛け、各ポイントに加算します。
ベクトル (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