我在游戏中有两个向量 . 一个向量是玩家,一个向量是一个对象 . 我还有一个向量,指定玩家面对的方向 . 方向矢量没有z部分 . 这个点的大小为1,位于原点附近 .

我想计算士兵当前面对的方向和物体之间的角度,所以我可以正确地平移一些音频(仅限立体声) .

下图描述了我的问题 . 我想计算两条虚线之间的角度 . 一条虚线连接玩家和物体,另一条线代表玩家从玩家所处的方向所朝向的方向 .

目前,我正在这样做(假设玩家,物体和方向都是3点,x,y和z的向量):

Vector3d v1 = direction;

Vector3d v2 = object - player;

v1.normalise();

v2.normalise();

float angle = acos(dotProduct(v1, v2));

但它似乎给我不正确的结果 . 有什么建议?

代码测试:

Vector3d soldier = Vector3d(1.f, 1.f, 0.f);

Vector3d object = Vector3d(1.f, -1.f, 0.f);

Vector3d dir = Vector3d(1.f, 0.f, 0.f);

Vector3d v1 = dir;

Vector3d v2 = object - soldier;

long steps = 360;

for (long step = 0; step < steps; step++) {

float rad = (float)step * (M_PI / 180.f);

v1.x = cosf(rad);

v1.y = sinf(rad);

v1.normalise();

float dx = dotProduct(v2, v1);

float dy = dotProduct(v2, soldier);

float vangle = atan2(dx, dy);

}

java 两点计算角度_从两点和方向向量计算角度相关推荐

  1. qt 实现拖动矩形角度_手机上如何使用CAD角度标注功能?

    浩辰CAD看图王角度标注功能的增加,给我们的一些绘图,编辑等操作带来了很大的方便,可以快速完成一些简单的操作.那下面就为大家简单介绍下新功能角度标注的具体操作步骤.具体的操作步骤如下所示: 1. 创建 ...

  2. java惰性计算原理_利用 Lambda 表达式实现 Java 中的惰性求值

    Java 中惰性求值的潜能,完全被忽视了(在语言层面上,它仅被用来实现 短路求值 ).更先进的语言,如 Scala,区分了传值调用与传名调用,或者引入了 lazy 这样的关键字. 尽管 Java 8 ...

  3. java 数学计算库_数学计算工具类

    [java]代码库/** * Description: [数字计算工具类] * @version 1.0 */ public class MathUtils { /** 一百的常量 */ privat ...

  4. java微积分计算步骤_一次刨根问底的收获——从一道微积分题说开去

    几个月前的一天,公众号有个粉丝通过后台联系我,说是大一学生马上要期末考试了,有些高数问题能不能请教下. 要知道,我对数学和魔术相关需求,简直就像自己家里的事一样,那是来者不拒的.所以我就说,你发来看看 ...

  5. java怎么计算时间差_请问java怎么计算时间差

    比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方法一: DateFormat df ...

  6. python两点之间最短距离_寻找两点之间的最短距离Python

    我有两个数据框.一个包含properties locations,另一个包含railway stations locations. 属性数据框样本(原始数据框由约700行组成): properties ...

  7. java编写计算协方差矩阵_协方差矩阵的实例与意义

    在机器学习中经常需要计算协方差矩阵,本科时没学过这个概念,一直对此非常头疼.现在试图通过实例的计算.图形化的表示来梳理一下什么是协方差矩阵. ###A numerical example 问题: 有一 ...

  8. java怎么计算等式_谁能解释计算这个等式的步骤? Java的

    在解决此类问题时,您可以尝试观察"趋势"或"模式". 鉴于:100/1 99/2 98/3 97/4 96/5 - 3/98 2/99 1/100 我们得出:分 ...

  9. 已知三角形三点坐标求角度_高中数学:椭圆相关角度的最值问题

    圆锥曲线中的最值问题主要包括长度最值.角度最值及面积最值等. 例题:如图1,已知椭圆的中心在坐标原点,焦点在x轴上,长轴 的长为4,左准线与x轴的交点为M, . (1)求椭圆的方程: (2)若直线 , ...

最新文章

  1. 《评人工智能如何走向新阶段》后记
  2. 【基础不牢地动山摇】一遍记住 Java 面试中常用的八种排序算法与代码实现!...
  3. 计算机电路门,7.3 门电路计算机操作系统原理.pdf
  4. 不属于mysql常量的是_R256是内部“字”继电器WR25的( )号位。_学小易找答案
  5. flask之jinji2模板介绍
  6. 接口安全--签名验证
  7. js如何获取计算机当前时间,js获取当前系统时间
  8. openstack云计算实践-老男孩架构师课程教案笔记分享
  9. java项目实现服务器监控,Java实现服务器状态监控
  10. DNS知识:解决DNS中MX与cname冲突问题 DNS拉平 cname智能加速
  11. 链表简介(二)——在单向链表中插入节点
  12. matlab动态显示鼠标值,动态显示鼠标的坐标值和像素值
  13. 数学与机器学习的联系
  14. java面试之简述一下 Java 垃圾回收机制?
  15. XMPP中文 XEP-0045: 多用户聊天(一)
  16. 用python计算数据的方差_用python求数据表中数据的均值与方差
  17. visual C++2015提示0x80240017
  18. 使用python计算与你投缘与无缘的生肖
  19. java自旋锁使用_10.Java锁之自旋锁
  20. R语言数据可视化包ggplot2画图之散点图

热门文章

  1. 【计算机科学与技术学的是什么?】
  2. win10下python+pycharm的安装与破解
  3. 抢在时间前面的7条捷径阅读笔记
  4. WEB编程开发常用的代码 !
  5. SpringMVC前端传值到Controller与Controller中传值到View解析
  6. SAP查询当前期间初始库存数量
  7. 鸿蒙视频官方网站,土豆视频鸿蒙版下载-土豆视频 鸿蒙版v9.2.5-PC6鸿蒙网
  8. [Ljava.lang.String是什么意思+解决方法
  9. string是什么数据类型?
  10. 读博士的一些想法和做法(3)