首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指向坐标

指向坐标
EN

Stack Overflow用户
提问于 2020-02-06 17:47:41
回答 1查看 61关注 0票数 1

我试着做一个指向某个位置的箭头,但问题是,当我用向量做一个角度时,他不能改变东西之间的区别,因为两者都是90°。我怎样才能使西方负的,或加上180度,使两者之间的差异?

我的代码:

代码语言:javascript
复制
double angle = 0;       
Vector a = (targetLoc).toVector().subtract(player.getLocation().toVector()).normalize();
Vector b = player.getLocation().getDirection();
angle = Math.acos(a.dot(b));
angle = Math.toDegrees(angle);

targetLoc是我想指出的位置

例如,当球员的视觉坐标在90°时,西侧和est的角度是90°,或者当坐标与玩家的视觉相距45°时,西侧和est的角度是45°。

我只想使用x和z计划,而不是y。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-08 07:36:25

这是我所做的,谢谢你的帮助

代码语言:javascript
复制
        Vector a = (targetLoc).toVector().subtract(player.getLocation().toVector()).normalize();
        Vector b = player.getLocation().getDirection();
        angle = Math.acos(a.dot(b));
        angle = Math.toDegrees(angle);
        if(a.getX()*b.getZ() - a.getZ()*b.getX() < 0) {
            angle = -angle;
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60100846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档