我有一个直径为256px的圆,中点在xy[128128]上。我在圆上有第一个点,例如x=0,y=128。坐标原点在左上角第一点和中间点之间的直线,加上这条直线上的角度(从中间开始),形成三角形,与第三点中的圆相交我如何计算这一点?
输入变量为:
圆上的XY点
中间点

预期输出为x1,y1
c++ - 如何从圆心与圆心之间的角度计算圆心-LMLPHP

最佳答案

原点绕中心点旋转角度公式:

 x1 = middle.x + (x - middle.x) * cos(angle) - (y - middle.y) * sin(angle)
 y1 = middle.y + (x - middle.x) * sin(angle) + (y - middle.y) * cos(angle)

(这是仿射变换-从中间到原点、围绕原点旋转和向后平移的组合)
别忘了用弧度而不是这样的度数来表示cos和sin:
 cos(angle * M_PI / 180)

关于c++ - 如何从圆心与圆心之间的角度计算圆心,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58501322/

10-10 16:09