1

ポイント A、B、C、および D を取得する方法は?

AB と CD が p0p1 に垂直な場合。

p0A、p0B、p1C、および p1D の長さが正規化されていると仮定します。

ここに画像の説明を入力

4

2 に答える 2

3

線の方向は で与えられd = normalize(p1 - p0)ます。垂直ベクトルを計算するには、 の外積を使用できます(0, 0, 1)。結果は次のとおりです。

d_left = (-d.y, d.x)
d_right = (d.y, -d.x)

座標系がどのように整列されているかを言っていないので、d_leftそうなっd_rightたり、逆になったりする可能性があります。

次に、次の方法で目的のポイントを取得します。

A = p0 + d_left
B = p0 + d_right
C = p1 + d_left
D = p1 + d_right
于 2013-07-24T10:30:09.967 に答える
0

ベクトル角度rotate(p,d)を回転させる演算子であるとしpます。d

p0p1次に、正の傾きが であるx-axis場合x。それで、

A = p0 + 回転(p1-p0,pi/2)/|p1-p0|
B = p0 + 回転(p1-p0,-pi/2)/|p1-p0|
C = p1 + 回転 (p1-p0,pi/2)/|p1-p0|
D = p1 + 回転 (p1-p0,-pi/2)/|p1-p0|

于 2013-07-24T11:11:23.373 に答える