如何在一个点或一个点上画一条线,这条线的长度始终相同(iPhone app dev)

时间:2010-07-08 21:37:58

标签: iphone xcode cgcontext

我有一个带有径向光标的圆形图形,光标移动到你在iPhone屏幕上触摸的位置,但我需要光标保持相同的长度,即使触摸发生在接近原点的图表或图表外部。我不知道该怎么做。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

确定您想要线条开始的位置与终点之间的角度,然后从起点开始绘制一条您喜欢的任何长度的线条,并且只根据您想要的长度行进?或者我误解了这个问题?

arctangent((y2-y1)/(x2-x1))

答案 1 :(得分:0)

我不熟悉这些方法,但如果根据角度找到合适的点,CGContextAddLineToPoint应该使用@ eruciform的技术。

angle = arctan((y2-y1)/(x2-x1))

x = cos(角度)*长度

y = sin(角度)*长度

从(x1,y1)到(x,y)绘制线条。

或者,您可以使用这样一个事实,即您绘制的线与原点形成的线成比例,并做一些毕达哥拉斯的东西:

原始长度= sqrt((y2 - y1)^ 2 +(x2 - x1)^ 2)

比率=所需长度/原始长度

x =((x2-x1)*比率)+ x1 y =((y2-y1)* ratio)+ y1

再次,从(x1,y1)到(x,y)画线。