当前位置: 首页 > article >正文

Unity 向量

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

零向量:各分量都是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.kler.cn/news/18288.html

相关文章:

  • Linux上安装Elasticsearch
  • 4。计算机组成原理(2)存储系统
  • 理解FPGA的基础知识——逻辑电路
  • 一次业务系统无法使用对应的oracle数据库性能分析过程
  • React条件渲染、列表渲染和组件传值
  • 增强型语言模型——走向通用智能的道路?!?
  • 11 KVM虚拟机配置-配置虚拟设备(存储)
  • PostgreSQL数据库自带的命令行工具--psql
  • Lumerical------S 参数文件格式
  • Qt 制作小程序登录系统(超详细)
  • 浅谈 LRU
  • Web2与Web3开发的不同之处
  • python正则表达式
  • 第二章 Vim编辑器与Shell命令脚本
  • 双线性插值(Bilinear interpolation)原理推导
  • PyQGIS中一次性加载多个shp文件
  • 探索语音识别技术:从自动翻译到智能客服
  • electron打包运行白屏、Can not find modules ‘xxx‘,Dynamic Linking Error
  • JavaWeb ( 六 ) JSP
  • C# 判断文件/目录是否存在
  • AWS VPC 配置指南:快速创建和设置你的虚拟私有云
  • 【C++】map和set的介绍+使用
  • EC6110-Hi3798MV310-当贝纯净桌面-卡刷强刷固件包
  • 在 node.js 里面写 MySQL 增删改查语句
  • helm部署nacos
  • 线性结构-数组
  • nestjs笔记
  • 打动人心的故事 | 如何利用文案在Facebook上塑造品牌形象
  • 面试整理 - 二叉排序树 c语言 及java 例子
  • 【在homeassistant的ONVIF中配置TP-Link】