行の最後に2つの点があります。
この行の翻訳の終了座標を取得する必要があります。
翻訳は、元の行から距離dの平行線になります。ここ
は私が必要なものの画像です:行末の座標を変換する関数
だから私は、私はこの二点との距離を渡し、リターンの二つの新しい座標を取得することができます機能を必要としています。
私はしばらくこの問題に立ち往生しています。どんな助けもありがとう!
ありがとうございます!
行の最後に2つの点があります。
この行の翻訳の終了座標を取得する必要があります。
翻訳は、元の行から距離dの平行線になります。ここ
は私が必要なものの画像です:行末の座標を変換する関数
だから私は、私はこの二点との距離を渡し、リターンの二つの新しい座標を取得することができます機能を必要としています。
私はしばらくこの問題に立ち往生しています。どんな助けもありがとう!
ありがとうございます!
新しい座標が正規化ベクトル方向が動いているの乗じ
距離Dの結果として得られるベクトルとなり、元のベクトル点に加えました。
EDIT:
ラインの二つの点を考えると、あなたはこれらの点を結ぶベクトルのノーマルを計算する必要があります。 Information on that is here..
ノーマライズDによって乗算このベクターは、それぞれ点に加えます。
ちょっと遊んだ後、私はそれを理解した!どうもありがとうございます。 –
ベクトル(x2-x1、y2-y1)を計算します。これはあなたの行の方向のベクトルです。法線ベクトルは、その後、あなたの距離d
があなたの翻訳されたポイントは
A = (y1-y2,x1-x2)/|(y1-y2,x1-x2)|
をしたい方向の単位ベクトルを取得するには、そのサイズによって
(-(y2-y1),-(x2-x1)) = (y1-y2,x1-x2).
デバイドこのベクトルで与えられます
NewPoint = OldPoint + d * A
「距離」が正の場合、どの方向が投影されますか?負? – justderb
この翻訳は別の方向なしではあいまいです。ラインから距離dだけ離れた直線に無数のラインがあります。 – cheeken
私はそれが同じ長さのラインセグメントと元の平行にしたい。古い点と新しい点の間に線を引く場合、それは元の線と垂直な線を形成するはずです。それが明確かどうかわからない。私はイメージに見える線をしたい。 –