坐标系,向量_batch及向量点乘部分知识

坐标系

Unity所采用的是左手坐标系。

对于Vector3.forward ,其坐标值为(0,0,1),为定值

而transform.forward 该值不固定,本地坐标正方向所在世界坐标系中的方向

向量

向量是终点位置减去起始点位置得到的;向量是没有位置的,可以任意平移。

基础知识:

1.相等向量:大小和方向相等的向量为相等向量

2.0向量:方向是任意方向,模长为0

3.单位向量:模长为1的向量

4.相反向量:大小相等,方向相反

向量的加法

几何方法理解:

1.补全平行四边形,两个向量共同起点做平行四边形的对角线,这个对角线就是两个向量相加的结果。

2.补全三角形方法:以某一个(a)向量的终点为另外一个向量(b)的起始点,连接(a)向量的起始点到(b)向量的终点,得到的向量就是a向量和b向量的加和。

数学方法理解:向量a(6,0,0),向量b(3,0,3) a+b=(6+3,0+0,0+3)=(9,0,3)

a(x,y,z) ,b(a,b,c) a+b=(x+a,y+b,z+c)

向量的减法

几何方向理解:

将两个向量起始点移至同一点,连接两个向量的终点,方向为减向量指向被减向量。

数学角度理解:

向量a(x,y,z) 向量b(a,b,c) a-b=(x-a,y-b,z-c)

向量应用实例

摄像机跟随(相应代码如下):

cs 复制代码
    public GameObject Target;
    public float forward;
    public float height;
    public float speed;
    private void LateUpdate()
    {
        Vector3 v=(-Target.transform.forward * forward) + new Vector3(0, height, 0);
        Vector3 pos = v + Target.transform.position;
        transform.position = Vector3.Lerp(transform.position, pos, speed);
        transform.LookAt(Target.transform);
    }

正确挂载物体后运行如下:

向量和标量相乘:得到的结果还是向量,就是原来向量方向不变,模长和标量相乘。

向量的点乘

点乘:a·b=|a||b|cos

b向量在a向量方向上投影长度,乘以a向量的模;

数学公式:a(x,y,z) b(a,b,c) a·b=x*a+y*b+z*c

该系列专栏为网课课程笔记,仅用于学习参考。

相关推荐
jtymyxmz1 小时前
《Unity Shader》10.1.3 反射
unity·游戏引擎
合作小小程序员小小店2 小时前
桌面开发,在线%物品代送,代接管理%系统,基于vs2022,c#,winform,sql server数据。
开发语言·数据库·sql·microsoft·c#
P***84393 小时前
【MySQL】C# 连接MySQL
数据库·mysql·c#
zzlyx994 小时前
用C#采用Avalonia+Mapsui在离线地图上插入图片画信号扩散图
java·开发语言·c#
云中飞鸿4 小时前
C#类:将Get/Set方法放在一起
c#
合作小小程序员小小店5 小时前
桌面开发,点餐管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·c#
r***18646 小时前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
PfCoder6 小时前
WinForm真入门(20)——StatusStrip控件解析
开发语言·windows·c#·winform·statusstrip
合作小小程序员小小店7 小时前
桌面开发,在线%医院管理%系统,基于vs2022,c#,winform,sql server数据
开发语言·数据库·sql·microsoft·c#
合作小小程序员小小店8 小时前
桌面开发,下午茶甜品管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·c#