画线与线成90度

时间:2012-01-22 20:33:54

标签: ios core-graphics

在iOs设备上,我在startPointendPoint之间画了一条线。绘制该线后,我想从endPoint开始绘制90度。所以我必须在屏幕上创建一个我不知道的点,因为该线可以是任何角度。

所有都是使用CGContextAddLineToPoint编程的。

正确的方向是什么?

2 个答案:

答案 0 :(得分:1)

绘制一条垂直于线startPoint - >的线条endPoint,该行需要从endPoint开始,然后转到以下定义的点:

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

然后该线与原始线的长度相同,但与初始线的末端相差90度。

答案 1 :(得分:0)

调用你知道的A和B点,以及你不知道的点。

然后从A到B的向量是:

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

要将2d矢量旋转90度,请切换组件并取消组件。所以你可以创建:

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

然后将C置于:

C = B + t*rightVec;

对于某些非零t。