淮南网站推广,装修黑榜第一名,门户网站 特点,阿里巴巴手工活加工平台目录
1 unity里的向量#xff1a;
2 向量加法
2.1 向量加法的几何意义
2.2向量加法的标量算法
3 向量减法
3.1 向量减法的几何意义
3.2 向量减法的标量算法
4 向量的标量乘法
5 向量之间的乘法要注意是左乘 还是右乘
5.1 注意区别
5.2 向量#xff0c;矩阵#x…目录
1 unity里的向量
2 向量加法
2.1 向量加法的几何意义
2.2向量加法的标量算法
3 向量减法
3.1 向量减法的几何意义
3.2 向量减法的标量算法
4 向量的标量乘法
5 向量之间的乘法要注意是左乘 还是右乘
5.1 注意区别
5.2 向量矩阵张量还是要注意区分不要随便混用
6 向量的点乘 / 点积
6.1 向量点乘公式1
6.2 向量点乘公式2
6.3 向量点乘公式3如果都是单位向量那么A·B cos θ
6.4 向量点乘的几何意义
7 向量的叉乘
7.1 向量叉乘的几何意义
8 unity里的 多种向量 vector
8.0 unity里的C#脚本新建以后必须挂到bierarcry下才会生效
8.1 结构体vector 有几种 虽然有多个数但是还不是矩阵, 都还是向量vector
8.2 vector3 在unity里可以是向量坐标旋转方向缩放比例等
8.3 结构体的初始化方法有两种
8.3.1 用newnew一个新的实例除了
8.3.2 直接变量特定的固定/内置属性
8.4 特殊的vector系统封装好后可以直接用
8.5 unity里单个向量的一些计算
8.5.1 可以显示 Vector3结构体变量的某个维度坐标
8.5.2 可以显示 Vector3结构体变量的其他属性变量本身的方法属性一般不大写首字母
8.6 unity里2个向量的一些计算Vector3.方法大写首字母 1 unity里的向量
一般坐标原点(0,0,0) 到某个点(x,y,z) 指向的一个有方向的线段起点坐标原点的坐标zero(0,0,0)终点箭头的坐标 一般的向量都是从原点出发的也有其他不从原点出发的向量起点起点的坐标终点箭头的坐标 2 向量加法
2.1 向量加法的几何意义
平行四边形法把一个向量接在另外一个向量的箭头尾部得到的点(从原点出发)形成的新向量 2.2向量加法的标量算法
向量的加法可以转化为标量的计算因为向量本身是以终点的坐标来表示的加法也可以用这个坐标的3个维度的标量直接计算即可AB(xaxb), (yayb) ,(zazb) 3 向量减法
3.1 向量减法的几何意义
三角形法从被减的向量的尾部箭头往减去它的向量的尾部箭头连线方向(注意不是从原点生成的而是直接生成了起点和终点)形成的新向量即是减法的结果。 3.2 向量减法的标量算法
向量的减法可以转化为标量的计算因为向量本身是以终点的坐标来表示的减法也可以用这个坐标的3个维度的标量直接计算即可A-B(xa-xb), (ya-yb) ,(za-zb) 4 向量的标量乘法
a是标量aA(x,y,z) (ax,ay,az) 5 向量之间的乘法要注意是左乘 还是右乘
5.1 注意区别
A*B ! B*A 5.2 向量矩阵张量还是要注意区分不要随便混用
向量相乘矩阵相乘其实是不一样的虽然向量可以看成是1维的矩阵但一般还是把矩阵认为至少是二维的1维的 vector 向量2维的: matrix 矩阵3维的 tensor 张量 6 向量的点乘 / 点积
A·B x1*y1x2*y2为什么呢因为这里是说的向量的点乘肯定需要两个向量可以进行乘法所以肯定是一个横向量1个总向量T因此所得结果才是一个标量A*B (x1,x2)*(y1,y2)T (x1y1x2*y2) 6.1 向量点乘公式1
A*B (x1,x2)*(y1,y2)T (x1y1x2*y2)得到的结果是一个标量 6.2 向量点乘公式2
A·B |A| · |B| · cos θ得到的结果是一个标量 6.3 向量点乘公式3如果都是单位向量那么A·B cos θ
A·B |A| · |B| · cos θ如果把AB标准化为单位向量那么|A|1 · |B| 1A·B cos θ又因为 cos y x 那么 yarccos x这样可以直接求出 θ 为什么可以标准化为单位向量后来计算 夹角 θ因为本身2个向量之间的夹角θ 也和两个向量本身的长度无关所以直接拿到AB对应的 单位向量即可 6.4 向量点乘的几何意义
A·B |A| · |B| · cos θ其实就是一个向量A往另外一个向量B的方向上进行投影形成的新A*cos θ 与B 相乘的结果。 结果是1个标量没有方向 7 向量的叉乘
向量的叉乘结果还是1个向量 7.1 向量叉乘的几何意义
AxB 就是他们法线方向投影形成的一个新向量AxB ,其实就是一个向量A往另外一个向量B的法线正交方向上进行投影形成的新A*sin θ 与B 相乘的结果 , 计算结果是一个新向量 8 unity里的 多种向量 vector
8.0 unity里的C#脚本新建以后必须挂到bierarcry下才会生效 8.1 结构体vector 有几种 虽然有多个数但是还不是矩阵, 都还是向量vector
vector2 2维的 (x,y) 描述3维的向量vector3 3维的 (x,y,z) 描述3维的向量vector4 四元数, (x,y,z,w) 描述4维的向量注意矩阵是这样的matrix [[1,2],[1,2]] 8.2 vector3 在unity里可以是向量坐标旋转方向缩放比例等 向量 Vector3 vnew Vector3(1,1,0.5f);坐标 Vector3 vnew Vector3(1,1,0.5f);旋转 Vector3 vnew Vector3(1,1,0.5f);缩放 Vector3 vnew Vector3(1,1,0.5f); 8.3 结构体的初始化方法有两种
newvVector3.zero; 8.3.1 用newnew一个新的实例除了
Vector3 vnew Vector3(1,1,0.5f);类型 变量名 new 类名(参数) 8.3.2 直接变量特定的固定/内置属性
vVector3.zero;变量 Vector3.zero变量 Quaternion.identity 8.4 特殊的vector系统封装好后可以直接用
vVector3.zero;vVector3.one;vVector3.forward; //同坐标轴的3个方向的单位向量, z方向(0,0,1)vVector3.right; //同坐标轴的3个方向的单位向量, x方向(1,0,0)vVector3.up; //同坐标轴的3个方向的单位向量,x方向(0,1,0) 可以直接改变V的各个坐标值
v.x0;v.y0;v.z0; 8.5 unity里单个向量的一些计算
8.5.1 可以显示 Vector3结构体变量的某个维度坐标
Debug.Log(v1.xv1.yv1.z);Debug.Log() 同时只能显示1个 8.5.2 可以显示 Vector3结构体变量的其他属性变量本身的方法属性一般不大写首字母
显示其长度模v1.magnitude讲其标准化 v1.normalized 8.6 unity里2个向量的一些计算Vector3.方法大写首字母
计算2个向量之间的夹角包装的方法内部就是用点乘算出来的Vector3.Angle(v1,v2) 计算2个向量之间的距离Vector3.Distance(v1,v2) 计算2个向量之间的lerp插值Vector3.Lerp(v1,v2,0.6f) 计算2个向量之间的点乘Vector3.Dot(v1,v2) 计算2个向量之间的叉乘Vector3.Cross(v1,v2) using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class vectorTest1 : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){Vector3 v1Vector3.right;Debug.Log(v1.xv1.yv1.z);Vector3 v2Vector3.forward;Debug.Log(v2.xv2.yv2.z);Vector3 v3Vector3.up;Debug.Log(v3.xv3.yv3.z);//计算1个向量之间的属性Debug.Log(v1.xv1.yv1.z);Debug.Log(v1.magnitude);Debug.Log(v1.normalized);//计算2个向量之间的夹角Debug.Log(Vector3.Angle(v1,v2));//计算2个向量之间的距离Debug.Log(Vector3.Distance(v1,v2));//计算2个向量之间的lerp插值Debug.Log(Vector3.Lerp(v1,v2,0.6f));//计算2个向量之间的点乘Debug.Log(Vector3.Dot(v1,v2));//计算2个向量之间的叉乘Debug.Log(Vector3.Cross(v1,v2));}// Update is called once per framevoid Update(){}
}