【unity笔记】图解 Vector3.SignedAngle()方法的返回值

news2024/9/25 13:20:02

 这个方法可以理解为:“两个向量之间的夹角(有符号的)”。

我会将它想象成:将两个向量都放在坐标原点,一个向量要向哪个方向旋转多少度 才能与另一个向量重合。

于是我在坐标原点放置了两个向量:OBOA

OB始终躺在X轴正方向,看看OA在4个象限的不同的情况下,OBOA会返回什么值。

向量OB ———>向量OA,旋转轴为:Z轴正方向

float signedAngle = Vector3.SignedAngle ( OB, OA, Vector3.forward );

  • 测试得到的结果记录:

得到的SignedAngle :

 

 

从图三可以看出,结果并未返回225 ,而是 -135。——“ 返回两个可能角度中的较小者 ”

换而言之,结果永远在 (-180度 ,180度) 之间。


  • 关于符号

下图分别测试了OA到OB、OB到OA的结果:

-135,135

(一个思考:为什么OB到OA是逆时针旋转,结果为正? 大概因为旋转轴我传入了Vector3.forward 也就是z轴正方向 + Unity左手坐标系 (我猜)

而 Vector的此方法,不需要传入旋转轴,只需要from和to的两个向量。得到的结果与此方法的 Vector版本相同(传入z轴正方向)。

        angle = Vector3.SignedAngle(Vector3.right, Vector3.up, Vector3.forward);
        Debug.Log("Vector3 OB -> OA :" + angle.ToString()); //输出 90

        angle = Vector2.SignedAngle(Vector2.right, Vector2.up);
        Debug.Log("Vector2 OB -> OA :" + angle.ToString()); //输出90


  • 补充:官方文档的说明

public static float SignedAngle (Vector3 from, Vector3 to, Vector3 axis);

from测量角度差的源向量。
to测量角度差的目标向量。
axis一个向量,其他向量将绕其旋转。

返回 from 与 to 之间的有符号角度(以度为单位)。

返回两个向量之间的两个可能角度中的较小者,因此结果永远不会大于 180 度或小于 -180 度。 如果将 from 和 to 向量想象成一张纸上的线条,两者都源自同一点,则 axis 向量将指向纸外方向。 两个向量之间测量的角度在顺时针方向上为正,在逆时针方向上为负。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/130026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java Object 类

Java Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法。 Object 类位于 java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那…

Python采集股票数据信息

前言 今天打算来整整股票,简简单单的采集一些股票数据 对这个有兴趣的就一起来瞧瞧吧 准备 开发环境 & 第三方模块 解释器版本: python 3.8代码编辑器: pycharm 2021.2requests: pip install requests 爬虫pyecharts: pip install pyecharts 数据分析pandas…

图像属性操作

数字图像处理本质是对多维矩阵的操作。按照处理对象不同,可分为黑白图像处理,灰度图像处理,彩色图像处理。按照处理方法分为空间域处理和频域处理。按照策略分为全局处理和局部处理。 #一般步骤输入图像 多维数组 数组运算 图像…

排序算法:堆排序,快速排序,归并排序。内附完整代码和算法思路详解。

目录 一:堆排序 1.1:堆的数据结构 1.2:大小根堆 1.3:向下调整算法构建小根堆 1.4:堆排序思想 二:快速排序 2.1:快排单趟思想 三:归并排序 3.1:分组过程 3.2&am…

JSP ssh学习管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh学习管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式 开发。开发环境为TOMCAT7.0,Mye…

MMDetection框架入门教程之环境部署

创建虚拟环境 打开Anaconda Prompt,创建一个新的虚拟环境mmlab。注意我这里选择了python3.6,因为在python3.7下出现了mmdet3d.apis中的类无法无法import的情况(但mmdet3d可以import),暂时不清楚原因。 conda create …

SQLSERVER,求平均数,最大,最小,中位数,众数

SQLSERVER,求平均数,最大,最小,中位数,众数 SQLSERVER,求平均数,最大,最小,中位数,众数 SELECT -- *, t1.remark, t1.my_count, t1.my_sum, …

ArcGIS Python ​影像批量裁剪

该工具在:“14综合\工具箱.tbx\影像裁剪\按记录批量裁剪影像”,影像数据按矢量面要素批量裁剪,界面如图14-5所示。 图14-5 影像批量裁剪 按一个矢量面数据,按字段值相同的融合在一起裁剪影像,字段值是裁剪后的影像名字…

【再学Tensorflow2】TensorFlow2的高层封装

TensorFlow2的高层封装使用Tensorflow2构建模型的3种方法使用Sequential按层顺序构建模型使用函数式API创建任意结构的模型使用Model子类化创建自定义模型训练模型的3种方法内置fit方法内置train_on_batch方法自定义训练循环使用GPU训练模型使用单GPU训练模型使用多GPU训练模型…

ti3090安装cuda113+cudnn+anaconda+yolopose过程

wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run sudo sh cuda_11.3.1_465.19.01_linux.run 如果有了nvidia driver,可以不用install driver选项。 配置环境变量: export PATH“/…

十一、kubernetes核心技术Label详解、实例

1、概述 Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识,用来对它们进行区分和选择。 Label的特点: 一个Label会以key/value键值对的形式附加到各种对象上,如Node、Pod、Service等等 一个资源对象可以定义任意数量的…

【技术博客】文本挖掘之LDA主题模型

文本挖掘之LDA主题模型 作者:郑培 引言 主题模型是文本挖掘的重要工具,近年来在工业界和学术界都获得了非常多的关注。在文本挖掘领域,大量的数据都是非结构化的,很难从信息中直接获取相关和期望的信息,一种文本挖掘…

ArcGIS基础实验操作100例--实验23提取栅格有效边界值

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 基础编辑篇--实验23 提取栅格有效边界值 目录 一、实验背景 二、实验数据 三、实验步骤 (…

sqlserver 求平均数,中位数,众数

sqlserver 求平均数,中位数,众数 sqlserver 聚合函数结合 窗口函数的巧妙使用。 SELECT -- *, t1.remark, t1.my_count, t1.my_sum, t1.my_avg, t1.my_min, t1.my_max, /*my_median : 中位数*/ t2.my_median, /*my_mos…

保姆教程系列二、Redis高可用(主从同步+哨兵模式)

系列文章目录 !!!是的没错,胖友们,保姆教程系列又更新了!!! 保姆教程系列一、Redis部署 so easy 保姆教程系列二、Redis高可用(主从同步哨兵模式) 保姆教程系…

2008-2020年上市公司环境治理费用

2008-2020年上市公司环境治理费用 1、时间区间为:2008-2020年 2、指标包括:统计截止日期、证券代码、证券简称、本期金额、上期金额、上市公司排污费、环保费、绿化费、环保支出等有关环境治理费用 3、指标说明: EndDate [统计截止日期] …

ArcGIS基础实验操作100例--实验22NoData数据处理

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 基础编辑篇--实验22 NoData数据处理 目录 一、实验背景 二、实验数据 三、实验步骤 方法一&#xff1…

Linux网络协议之以太网协议(数据链路层)

Linux网络协议之以太网协议(数据链路层) 文章目录Linux网络协议之以太网协议(数据链路层)1.数据链路层解决的问题2.以太网协议2.1 认识以太网2.2 以太网帧格式2.3 认识MAC地址2.4 MAC地址与IP地址的区别3.ARP协议3.1 ARP协议的作用3.2 ARP数据报格式3.3 ARP协议工作流程3.4 ARP…

数据结构——基本术语

数据 数据能输入且被被计算机处理的符号集合。数据包括数值型数据和非数值型数据。非数值类型包括图,文字等 数据项和数据元素 数据元素时数据的基本单位,在计算机中通常被当作一个整体处理 也简称为元素,或者记录 数据元素又可以被若干个…

LaTeX环境的安装和配置 (vscode版)

目录下载Latex镜像文件安装镜像检验是否安装成功第一个Latex文件在vscode中使用latex支持中文编译引用下载Latex镜像文件 访问清华镜像网站,进行latex2022的下载 网站地址如下:latex_清华镜像 选择后缀名为.iso的文件进行下载即可 安装镜像 下载完成之…