找到一个射弹击中旋转圆的角度

问题描述 投票:-1回答:1

我试图找出一个实体被击中的那一方

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;等等

但我似乎无法找到一个适用于所有角度的方程式。

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

谢谢 :)

math trigonometry angle euler-angles
1个回答
1
投票

如果射弹始终指向圆心,请尝试下一个方法 (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])
© www.soinside.com 2019 - 2024. All rights reserved.