我正在尝试根据鼠标在圆圈内部或外部的位置旋转矩形。
我看到它的方式,如果我可以确定最接近鼠标位置的圆上的点,我可以使用该点作为目标,沿圆圈变换矩形。
然而,我不能弄清楚如何找到那个位置。我想也许是通过使用y = mx + b来跟随鼠标pos的直线,直到它到达圆圈上的点。然而,问题在于我没有圆圈上的所有点,圆上有数百个甚至数千个点。
如果鼠标位置在圆圈之外,如何在最接近鼠标位置的圆圈上找到该点?
答案 0 :(得分:0)
使用math.atan2()
从中心获取光标的角度。圆圈距离中心的距离是固定的,因此您可以将角度和距离转换为圆圈上具有更多触发的点。
angle = math.atan2(ymouse - ycenter, xmouse - xcenter)