已知圆参数与点间距,如何计算圆上目标CGPoint坐标?
绿色点CGPoint坐标计算方法
已知条件:
- 红色点坐标:
(Rx, Ry)(已知) - 圆半径:
R(已知) - 角度theta:圆心到红色点的向量与x轴的夹角(已知)
- 红色点到绿色点的固定距离:
25
推导过程
圆心到红色点的向量方向为theta,红色点处的切线方向与该向量垂直,存在两个可能的方向(顺时针/逆时针):
- 逆时针切线方向的单位向量:
(-sin(theta), cos(theta)) - 顺时针切线方向的单位向量:
(sin(theta), -cos(theta))
最终坐标公式
将红色点坐标沿切线方向移动25个单位,得到绿色点的两个可能坐标:
- 逆时针方向:
let Gx = Rx - 25 * sin(theta) let Gy = Ry + 25 * cos(theta) - 顺时针方向:
let Gx = Rx + 25 * sin(theta) let Gy = Ry - 25 * cos(theta)
补充说明
若theta为角度制,需先转换为弧度计算:thetaRadian = theta * .pi / 180
内容的提问来源于stack exchange,提问作者pankot
相关产品推荐
相关产品推荐

