圈外转圈

时间:2014-03-29 20:53:04

标签: python rotation geometry trigonometry

我正在尝试根据鼠标在圆圈内部或外部的位置旋转矩形。

我看到它的方式,如果我可以确定最接近鼠标位置的圆上的点,我可以使用该点作为目标,沿圆圈变换矩形。

然而,我不能弄清楚如何找到那个位置。我想也许是通过使用y = mx + b来跟随鼠标pos的直线,直到它到达圆圈上的点。

然而,问题在于我没有圆圈上的所有点,圆上有数百个甚至数千个点。

如果鼠标位置在圆圈之外,如何在最接近鼠标位置的圆圈上找到该点?

1 个答案:

答案 0 :(得分:0)

使用math.atan2()从中心获取光标的角度。圆圈距离中心的距离是固定的,因此您可以将角度和距离转换为圆圈上具有更多触发的点。

angle = math.atan2(ymouse - ycenter, xmouse - xcenter)