两点之间的角度的正切定义为 delta y / delta x
即 (y2 - y1)/(x2-x1)。这意味着math.atan2(dy, dx)
给出两点之间的角度assuming您知道定义坐标的基轴。
假设您的枪位于轴的 (0, 0) 点,以便计算以弧度表示的角度。一旦获得该角度,您就可以使用该角度进行其余的计算。
请注意,由于角度以弧度为单位,因此您需要在代码中使用 math.pi 而不是 180 度。另外,不需要进行超过 360 度 (2*math.pi) 的测试。负值 (
计算枪和目标之间角度的代码是
myradians = math.atan2(targetY-gunY, targetX-gunX)
如果要将弧度转换为度数
mydegrees = math.degrees(myradians)
将度数转换为弧度
myradians = math.radians(mydegrees)
Python ATAN2 http://www.tutorialgateway.org/python-atan2/
Python ATAN2 函数是 Python 数学函数之一,它是
用于返回从 X 轴到坐标轴的角度(以弧度为单位)
指定点 (y, x)。
数学.atan2() https://sites.google.com/a/pythontkinter.com/tkinter/mathatan2
定义返回半径的正切(y,x)。
Syntax
math.atan2(y,x)
参数
y,x=数字
Examples
回报是:
>>> import math
>>> math.atan2(88,34)
1.202100424136847
>>>