我想計(jì)算兩點(diǎn)之間的角度。例如,假設(shè)我正在制作一個(gè)游戲,我想要一把槍指向鼠標(biāo)光標(biāo),我得到將槍旋轉(zhuǎn)到該角度所需的角度。
2 回答

阿波羅的戰(zhàn)車(chē)
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用math庫(kù)的atan2功能,
p1 = (2,2)
p2 = (-1,5)
# Difference in x coordinates
dx = p2[0] - p1[0]
# Difference in y coordinates
dy = p2[1] - p1[1]
# Angle between p1 and p2 in radians
theta = math.atan2(dy, dx)

一只萌萌小番薯
TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
在pygamepygame.math.Vector2
中,您可以通過(guò)使用對(duì)象 和來(lái)計(jì)算 2 個(gè)向量之間的角度angle_to()
:
在以下示例中,(?x0?,?y0?) 是旋轉(zhuǎn)點(diǎn)。(?x1?,?y1?) 和 (?x2?,?y2?) 是 2 個(gè)點(diǎn),它們定義向量形式 (?x0?,?y0?):
v1?=?pygame.math.Vector2(x1-x0,?y1-y0) v2?=?pygame.math.Vector2(x2-x0,?y2-y0) angle?=?v1.angle_to(v2)
angle_to()
計(jì)算與給定向量的角度(以度為單位)。
添加回答
舉報(bào)
0/150
提交
取消