2012-01-22 18 views
2

iOSデバイスでは、startPointendPointの間に線を描いています。その線を描いた後、私はendPointから90度で描画を進めたいと思います。だから私は知らないスクリーン上にPointを作成しなければならない。なぜなら、ラインはどんな角度にもなる可能性があるからだ。線から線を90度描く

すべてはCGContextAddLineToPointを使用してプログラムされました。

見える正しい方向は?ラインが同じ長さになります

X = endPoint.X + (startPoint.Y - endPoint.Y) 
Y = endPoint.Y + (endPoint.X - startPoint.X) 

: -

答えて

1

あなたはAとBを知っているポイントを呼び出して、あなたが1はC.

が続いてAからBへのベクトルではありません。

vec.x = B.x - A.x; 
vec.y = B.y - A.y; 

90度の2Dベクトルを回転させるには、コンポーネントを切り替えて1を否定します。だから、作成することができます。で

rightVec.x = vec.y; 
rightVex.y = -vec.x; 

そして、位置C:

C = B + t*rightVec; 

をいくつかの非ゼロトンについて。

1

ラインstartPointに垂直な線描画するには>endPointは、行がendPointから始まり、およびによって定義された点に移動する必要があります元の行としては90度ですが、最初の行の終わりで始まります。