我正在做一个绕圆盘旋转的表盘。
使用此转盘,您可以将鼠标移到圆的任何位置,以将转盘的位置调整到圆上与单击角度相同的一点。例如,如果您单击上方的转盘,请单击下面粉红色所示的位置,则将转盘移至该点的上方但在圆圈上。
我知道如何在给定的半径和角度(以弧度为单位)的情况下获得圆上点的位置。那就是这个公式:
x = Cos(angle) * radius + CenterX;
y = Sin(angle) * radius + CenterY;
但是,我正在做相反的事情-我有一个点击点,我想将它变成圆上的一个点(控制旋钮所在的位置)。我正在尝试使用此点(和给定的半径)来计算以弧度为单位的角度,以便可以将控制旋钮以相同的角度放置在圆上。
我可以使用方便的公式来完成此操作吗?
您是否正在寻找公式来获得点之间的夹角?
—
William Mariager
你能在两点之间得到一个角度吗?我可以计算斜率,但我的猜测是我需要第三个点来创建三角形并使用反三角函数来解决这个问题。
—
编辑者
我发布了一个答案,说明了如何做到这一点。
—
William Mariager