在给定原点,距离和角度时,我无法绘制新的CGPoint。任务非常简单:我有一条带有三个编辑手柄的线 - 每端一个,中间一个。拖动末端手柄时,相对于被拖动的手柄移动线条。该功能正常运行。拖动中心手柄时,两个端点手柄应保持彼此的关系,如下图所示。因此,当拖动中心手柄时,另外两个手柄应随之移动。
这是我目前绘制点数的代码:
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位置似乎落在随机位置。有人能在我的数学中发现任何错误吗?谢谢!
答案 0 :(得分:0)
大多数三角函数需要弧度,而不是度数。
另外,正如@Putz1103指出的那样,您可以使用运动的x
的增量y
和增量UITouch
,而不是根据结果计算结束的新位置中心点的运动。