绘制给定原点,角度和距离的CGPoint

时间:2016-08-22 17:55:52

标签: ios swift cgpoint

在给定原点,距离和角度时,我无法绘制新的CGPoint。任务非常简单:我有一条带有三个编辑手柄的线 - 每端一个,中间一个。拖动末端手柄时,相对于被拖动的手柄移动线条。该功能正常运行。拖动中心手柄时,两个端点手柄应保持彼此的关系,如下图所示。因此,当拖动中心手柄时,另外两个手柄应随之移动。

enter image description here

这是我目前绘制点数的代码:

func pointFromPoint(origin:CGPoint, distance:Double, degrees:Double) -> CGPoint {
    var endPoint = CGPoint()
    endPoint.x = CGFloat(distance * cos(degrees) + Double(origin.x))
    endPoint.y = CGFloat(distance * sin(degrees) + Double(origin.y))
    return endPoint
}

使用此功能时,新的CGPoint位置似乎落在随机位置。有人能在我的数学中发现任何错误吗?谢谢!

1 个答案:

答案 0 :(得分:0)

大多数三角函数需要弧度,而不是度数。

另外,正如@Putz1103指出的那样,您可以使用运动的x的增量y和增量UITouch,而不是根据结果计算结束的新位置中心点的运动。