0
当给定原点,距离和角度时,我无法绘制新的CGPoint。任务非常简单:我有一条连接有三个编辑手柄的线 - 每个手柄一个,中心一个。拖动结束手柄时,线条将相对于被拖动的手柄移动。该功能正常工作。当中心手柄被拖动时,两个端点手柄应该保持彼此的关系,如下图所示。所以当拖动中心手柄时,另外两个手柄应该随之移动。绘制一个给定原点,角度和距离的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位置似乎陷入随机位置。任何人都可以在我的数学中发现任何错误?谢谢!
我认为trig函数需要弧度,而不是度数。 – paulvs
根据开始和停止触摸动作的x和y差异,您知道中心的x和y差异。为什么不把这些作为你的唯一价值呢?把这三个点全部移到这个x上,这么多... – Putz1103
@paulvs是的。我想你应该把它当作答案。 – jlasierra