Unity 向量

news/2024/11/29 3:42:34/

向量的基本概念
向量:既有大小又有方向的量叫做向量。

零向量:各分量都是0的向量。

归一化向量:方向不变,将向量的长度变为1。

单位向量:长度为1的向量(归一化后的向量)。

向量的模:只有长度没有方向。

向量在Unity中的运算


//声明2个向量
Vector3 v1= new Vector3(1,1,1);
Vector3 v2= new Vector3(2,2,2);


向量的加减:将向量的各个分量想加减

//Unity中向量的加减
Vector3 v3_add = v1 + v2;
Vector3 v3_sub = v1 - v2;
向量的数乘:向量与一个标量相乘称为数乘。数乘可以对向量的长度进行缩放,如果标量大于0,那么向量的方向不变,若标量小于0,则向量的方向会变为反方向。

//向量的数乘
Vector3 v3_mul = v1 *2;
点乘:两个向量点乘得到一个标量,数值等于两个向量长度相乘再乘以两者夹角的余弦值。如果两个向量a,b均为单位向量,那么a.b等于向量b在向量a方向上的投影的长度(或者说向量a在向量b方向上的投影),点乘通常用于计算夹角、判断向量方向和计算投影等。

//点乘
float f_Dot = Vector3.Dot(v1, v2);


叉乘:两个向量的叉乘得到一个新的向量,新向量垂直与原来的两个向量,并且长度等于原来向量长度相乘后夹角的正弦值注意:叉乘不满足交换律 即a×b 不等于 b×a,叉乘通常用于计算法线、计算面积、旋转物体等。

//叉乘
Vector3 v3_cross = Vector3.Cross(v1, v2);


Vector3类中的常用方法和属性
//世界坐标系下的向量
//Vector3(0, 0, 1);
Vector3.forward;
//Vector3(0, 0, -1);
Vector3.back;
//Vector3(0, 1, 0);
Vector3.up;
//Vector3(0, -1, 0);
 Vector3.down;
//Vector3(1, 0, 0);
Vector3.right;
//Vector3(-1, 0, 0);
Vector3.left;
//Vector3(0, 0, 0);
Vector3.zero;
//Vector3(1, 1, 1);
Vector3.one;
//计算两个向量的距离
float f_distance = Vector3.Distance(v1, v2);

//返回两个向量直接的差值
//第三个参数是一个0到1之间的标量值,代表在两个向量之间的插值比例。
Vector3 v3_lerp = Vector3.Lerp(v1, v2, 0.5f);

//将向量归一化
Vector3 v3_norm = Vector3.Normalize(v1); 


http://www.ppmy.cn/news/62971.html

相关文章

Amper Music:AI创意音乐工具

【产品介绍】 Amper Music 是一家位于美国纽约的人工智能音乐技术公司,成立于2014年。 Amper Music是一个AI创意音乐工具,能让任何人为自己的内容制作原创音乐。无论你需要为视频、播客或互动内容配乐,Amper Music都能提供一个简单而强大的解…

阿里云Alibaba Cloud Linux镜像操作系统性能兼容如何?

阿里云服务器操作系统Alibaba Cloud Linux镜像怎么样?可以代替CentOS吗?Alibaba Cloud Linux兼容性如何?有人维护吗?漏洞可以修复吗?Alibaba Cloud Linux完全兼容CentOS,并由阿里云官方免费提供长期维护。 …

IP报文结构

文章目录 IP报文结构分片 IP报文结构 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4. 4位头部长度(header length): 类似于TCP4位首部长度,通常填的是0101(十进制5) 16位总长度(total length): IP数据报整体占多少个字节.这用…

2分钟搞懂人工智能、机器学习和深度学习

不少高校的小伙伴找我聊入门人工智能该怎么起步,如何快速入门,多长时间能成长为中高级工程师(聊下来感觉大多数学生党就是焦虑,毕业即失业,尤其现在就业环境这么差),但聊到最后,很多…

NtfsStreamsEditor下载使用

NtfsStreamsEditor 是一款免费的 NTFS 流编辑器,它可以帮助用户查看和编辑 NTFS 文件系统中的备用数据流。备用数据流是一种特殊的 NTFS 文件数据结构,允许用户在单个文件中存储多个数据流。 使用 NtfsStreamsEditor,用户可以浏览、创建、编…

每天一道算法练习题--Day21 第一章 --算法专题 --- ----------位运算

我这里总结了几道位运算的题目分享给大家,分别是 136 和 137, 260 和 645, 总共加起来四道题。 四道题全部都是位运算的套路,如果你想练习位运算的话,不要错过哦~~ 前菜 开始之前我们先了解下…

【Nginx基础篇】Linux虚拟机安装nginx

目录 一、版本区别 二、编译安装 三、启动nginx 关于防火墙 四、安装成系统服务 一、版本区别 常用版本分为四大阵营 Nginx开源版 http://nginx.org/ Nginx plus 商业版 https://www.nginx.com openresty http://openresty.org/cn/ Tengine http://tengine.taobao.org/ …

ModelViewSet额外路由参数 与 ADMIN事件触发

ModelViewSet额外路由参数 用了DefaultRouter,那么在URL匹配时带路径参数,只有update、delete、retrieve能带,关键是匹配pk还是写死的,我们需要对任意参数,同时还能修改方法命名。 咋搞?很简单。比如我们…