我有兴趣创建一个新函数,让python乌龟看一个对象。所以我只需要一个公式,计算让乌龟这样做所需的角度。 (0 =向右看)示例:
coords of turtle: 100,0
coords of point to look at: 0,0
result: 180
但是如何计算呢? 谢谢你希望得到答案
答案 0 :(得分:0)
假设你已经有了一些分数类(我不熟悉Turtle
,但我认为你这样做了)就像这样
class pt():
def __init__(self, x, y):
self.x = x
self.y = y
我们可以提出两点
>>> ptA = pt(10, 10)
>>> ptB = pt(0, 0)
然后,您可以简单地使用与某些几何体的反切线来找到这些点之间的角度
def findAngle(pt1, pt2):
import math
dy = pt2.y - pt1.y
dx = pt2.x - pt1.x
if dx == 0:
return 180.0
else:
return math.atan2(dy, dx) * 180.0 / math.pi
测试
>>> findAngle(ptB, ptA)
45.0
>>> findAngle(ptA, ptB)
-135.0
现在就你的问题而言:乌龟必须转取决于他最初面对的方式。上述方法可以找到从第一点到第二点的方向,但是您需要知道龟的当前方向,以了解他们需要转向哪个方向。