如何从圆心与圆心之间的角度计算圆心

问题描述 投票:0回答:1

我有一个直径为256px的圆,中间点在xy [128,128]上。我在圆上有第一个点,例如X = 0,Y = 128。坐标原点位于左上角。第一点与中间点之间的线以及这条线上的角度(从中间开始)会创建与第三个点的圆相交的三角形。如何计算这一点?

输入变量是:

  1. 将xy指向圆圈
  2. 中点
  3. 角度

预期输出为x1,y1

enter image description here

c++ algorithm geometry point angle
1个回答
2
投票

初始点绕中心点旋转角度的公式:

 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) 
© www.soinside.com 2019 - 2024. All rights reserved.