我想尝试在 Java OpenGL 中构建雷达。基本上在该方法中,您传入玩家的当前位置、玩家面对的角度和敌人的位置。如果敌人在正前方,红点(象征敌人)应该在圆圈(雷达)的顶部,可以说是 0 度。如果直接在右侧,红点将是 90 度,等等。基本上,我试图找到直接在玩家面前射出的矢量与从玩家到敌人的矢量之间的角度。我该怎么做呢?我环顾四周,发现了 atan2() 的建议,但还不确定如何使用它。如果有更快,更有效的做事方式,也请告诉我。
编辑:我使用了绘制点的方法而不是点积和cos等,并且我使用玩家的位置作为原点。但是,如果距离大于使用距离公式选择的数字 70,我将如何让敌方点出现在雷达边缘?小于 70 的任何东西都会在雷达内,但任何超过 70 的敌人,我希望敌人只是在雷达边缘盘旋,而不是让敌人的点消失。