在iOs设备上,我在startPoint
和endPoint
之间画了一条线。绘制该线后,我想从endPoint
开始绘制90度。所以我必须在屏幕上创建一个我不知道的点,因为该线可以是任何角度。
所有都是使用CGContextAddLineToPoint
编程的。
正确的方向是什么?
答案 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。