找出弹丸撞到旋转圆的角度

时间:2019-04-08 00:49:35

标签: math trigonometry angle euler-angles

我正在尝试找出实体被击中的那一面

46-135-右侧

136-225-背面

226-315-左侧

316-360和0-45-正面

https://i.ibb.co/hKz5n9z/Help.png(无法发布图片,但这是我想要的)

我知道实体面对的角度和射弹击中实体时的角度

我尝试过类似的事情:

Math.abs(entityRotation-AttackRotation)%360;

Math.abs(180-entityRotation-AttackRotation)%360; 等

但是我似乎找不到适合所有角度的方程式。

如果不可能的话,当一个角度大于另一个角度时,我可以使用两个不同的方程式。

谢谢:)

1 个答案:

答案 0 :(得分:0)

如果射弹始终指向圆心,请尝试下一种方法
(Python代码,使用整数除法//
 result here

print("targdir", " attackdir", "side")
sides = ["front", "right", "back", "left"]
for target in range(0, 361, 45):
    for attack in range(0, 361, 45):
        side = ((attack - target + 585) % 360) // 90
        print(target, attack, sides[side])