在Unity3D中,有时候我们需要计算二维向量的夹角。二维向量夹角一般在0~180度之前,可以直接调用Vector2.Angle(Vector2 from, Vector2 to)来计算。

但是在有些场景,我们需要-180~180度的夹角,此时可以用下面的脚本进行计算:

1     float VectorAngle(Vector2 from, Vector2 to)
2     {
3         float angle;
4
5         Vector3 cross=Vector3.Cross(from, to);
6         angle = Vector2.Angle(from, to);
7         return cross.z > 0 ? -angle : angle;
8     }

上述脚本利用了向量叉乘的性质,注意Unity3D中的坐标系是左手系,故判断叉乘方向要用左手定则。

转载于:https://www.cnblogs.com/reachteam/p/4232066.html

【Unity3D】计算二维向量夹角(-180到180)相关推荐

  1. 求二维向量夹角(0-360度/-180-180)及2D UI指向问题

    //22求二位向量夹角(0-360度)     float Angle(Vector2 form, Vector2 to)     {         float x =to.x-form.x ;   ...

  2. python二维向量运算模拟_python二维向量运算_[VB.NET][C#]二维向量的基本运算

    前言 在数学中,几何向量是指具有大小和方向的几何对象. 在编程中,向量有着广泛的应用,其作用在图形编程和游戏物理引擎方面尤为突出. 第一节 构造函数 通过创建一个二维向量的类(或结构体),实现向量的表 ...

  3. 《UnityAPI.Vector2二维向量》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Vector2+Normalized+Lerp+Dot+立钻哥哥++OK++)

    <UnityAPI.Vector2二维向量> 版本 作者 参与者 完成日期 备注 UnityAPI_Vector2_V01_1.0 严立钻 2020.07.09 #<UnityAPI ...

  4. 二维向量的叉积是标量还是向量?

    二维向量的叉积是标量还是向量? 今天学习了一下<计算几何>,里面讲了一下关于判断一个点是否在某个三角形内的问题(在二维平面上).其中有一个算法是"同向法",主要是用叉积 ...

  5. 梯度下降计实例计算(二维)

    梯度下降计实例计算(二维) 文章目录 内容简介 示例说明 绘制曲线 进一步讨论 参考资料 内容简介 梯度下降是在机器学习中重要的计算内容.本文就一个具体的示例,展示如何在梯度下降中. 示例说明 设损失 ...

  6. python图像数据是几维数据_Python图像处理库PIL的ImagePath模块被用于存储和操作二维向量数据...

    ImagePath模块被用于存储和操作二维向量数据.Path对象会被传递到ImageDraw模块中. 一.ImagePath模块的函数 1. Path 定义:ImagePath.Path(coordi ...

  7. uda 3.C++二维向量

    二维向量 接下来,你将使用向量来存储矩阵.就像 Python 使用列表列表来存储矩阵一样,C++ 使用的是向量的向量.用于声明二维向量的语法有点复杂. 假设你正在使用 Python,并且想存储一个 3 ...

  8. LeetCode 251. 展开二维向量

    文章目录 1. 题目 2. 解题 1. 题目 请设计并实现一个能够展开二维向量的迭代器.该迭代器需要支持 next 和 hasNext 两种操作.. 示例: Vector2D iterator = n ...

  9. C++:二维数组和二维向量的长度

    对于一个二维数组: int mm[3][5] = { { 1,2,3,4,5 },{ 5,6,7,8,9 },{ 9,10,11,12,13 } }; int toatlnums = sizeof(m ...

  10. 用vector实现二维向量

    如果一个向量的每一个元素是一个向量,则称为二维向量,例如 [cpp] view plain copy   vector<vector<int> >vv(3, vector< ...

最新文章

  1. 苏州大学计算机科学与技术研究生分数线,【图片】18年苏州大学计算机872考研经验分享【苏州大学研究生吧】_百度贴吧...
  2. golang new make 区别
  3. 【[AHOI2013]差异】
  4. Eclipse 修改所有文件默认编码为UTF-8
  5. 授予数据库账号dba权限_数据库用户和权限
  6. 母子盗打电话竟为获取游戏Q币
  7. 正月初二 | 2月13日 星期六 | 大年初一单日票房创新纪录;除夕当天外卖订单增七成;央视春晚直播受众达11.4亿人...
  8. python怎么在字符串里加入变量数字_Python学习笔记(一)之基本元素:变量,数字和字符串...
  9. 微软被诉Windows字体侵权 微软版权意识翻车了
  10. 国内首款 FPGA 云服务器,性能是通用 CPU 服务器 30 倍以上
  11. django的admin
  12. 【MFC开发(9)】列表控件List Box
  13. ThinkPHP商城实战
  14. esxi 环境 西数硬盘测试软件,西数硬盘原厂检测工具(Western Digital Data LifeGuard Diagnostics)...
  15. numpy返回上下三角矩阵
  16. 关于 电子护照 的基本小常识问答
  17. 两无线路由器连接方法
  18. 计算机考研选择211还是重邮,22考研:这些容易但性价比高的院校专业千万别错过!...
  19. numpy的getA()/getA1()/getH()/getI()函数
  20. C语言实现贪吃蛇小游戏(详解)

热门文章

  1. 用CSS制作细线表格
  2. 英语中的完成时态的比较
  3. u-boot中断功能初步分析之---------按键中断
  4. 月薪一万的北漂可以过上什么样的生活?
  5. 事件元素JS的event对象--知识点总结
  6. vim如何删除^M字符
  7. matlab多种显示格式一起用,[转载]MATLAB支持的几种图像文件格式
  8. 微信小程序wxml如何判断字符串中汉语某字符_如何获取别人微信小程序的源文件?...
  9. python flask 路由_python框架flask入门之路由及简单实现方法
  10. python的flask实现接口_python+flask:实现POST接口功能