计算圆上A、B、C、D点坐标(原点位于左上角)
圆上四点坐标计算(原点位于左上角)
首先明确核心前提:你必须已知左上角坐标系下的圆心坐标 (cx, cy)(cx为圆心到左边缘的水平距离,cy为圆心到上边缘的垂直距离,y轴向下为正)。以下公式基于「角度从x轴正方向(向右)逆时针旋转」的定义推导。
通用坐标公式
对于任意角度θ(支持弧度/角度,需统一单位),左上角坐标系下圆上点的坐标为:
x = cx + r * cos(θ) y = cy - r * sin(θ)
(注:常规数学坐标系y轴向上,这里y轴向下,因此sin(θ)的符号反转)
A、B、C、D四点具体公式
假设四点分别对应角度:A(α)、B(α+90°)、C(α+180°)、D(α+270°),利用三角恒等式简化后,各点坐标如下:
A点(角度α)
x_A = cx + r * cos(α) y_A = cy - r * sin(α)
B点(角度α+90°)
x_B = cx - r * sin(α) y_B = cy - r * cos(α)
(推导:cos(α+90°) = -sinα,sin(α+90°) = cosα)
C点(角度α+180°)
x_C = cx - r * cos(α) y_C = cy + r * sin(α)
(推导:cos(α+180°) = -cosα,sin(α+180°) = -sinα)
D点(角度α+270°)
x_D = cx + r * sin(α) y_D = cy + r * cos(α)
(推导:cos(α+270°) = sinα,sin(α+270°) = -cosα)
注意事项
- 若你的角度α是顺时针从x轴正方向计算的,只需将公式中的α替换为
-α即可 - 计算时务必统一角度单位:三角函数(如代码中的
cos/sin)通常默认接收弧度参数,角度转弧度公式为弧度 = 角度 × π / 180 - 若需整数像素坐标,可对计算结果做四舍五入处理
内容的提问来源于stack exchange,提问作者Leon
相关产品推荐
相关产品推荐

