shader学习三,数学基础

迪卡尔坐标系

基矢量

三维笛卡尔坐标系的坐标轴

标准正交基

坐标轴之间相互垂直,且长度为1的基矢量

正交基

坐标轴相互垂直,但是长度不为1的基矢量

左手坐标系、右手坐标系

因为二维坐标系可以通过旋转得到另一个二维坐标系,所以可以说,所有的二维笛卡尔坐标系都是等价的。而三维笛卡尔坐标系不行,不管如何旋转都有一个轴与之相反,即正负不一致。
大拇指为x轴,食指为y轴,中指为z轴

左手法则、右手法则判断旋转方向

左手坐标系使用左手法则,右手坐标系使用右手法则,大拇指朝向某个轴的正方向,四指弯曲的方向为正方向

注:在3dmax中模型空间使用的是右手坐标系,而unity中模型空间使用的是左手坐标系

点和矢量

点是一个没有大小之分的空间中的位置,而矢量是一个有模和方向但没有位置的有向线段。

矢量和标量只能乘除不能加减,矢量不能和不同维度的矢量运算,同一维度矢量和矢量可以加减乘除
矢量的加减法得到相同维度的新矢量:a+b=(a,b,c)+(x,y,z)=(a+x,b+y,c+z)
矢量的模:|v| = √(x²+y²+z²)
单位矢量也被称为被归一化的矢量:模为1的矢量
归一化:v/|v|

对任何给定的非零矢量,把它转换成单位矢量的过程:非零矢量v除以v的模
栗子:(3,-4)/|(3,-4)|=(3,-4)/5=(0.6,-0.8)

矢量的点积(内积)最后结果是一个标量

a·b = b·a = (a,b,c)·(x,y,z) = ax + by + cz
点积在几何意义很重要,其中之一就是投影
如下图:
在这里插入图片描述
(ka)·b = a·(kb) = k(a·b) 对向量进行缩放
a·(b+c) = a·b + a·c
v·v = |v|² 点积自身,可以比较两个矢量长度的大小,这时就不必开平方
在这里插入图片描述

矢量的叉积(外积)最后结果是一个矢量

a×b = (a,b,c)×(x,y,z) = (bz - cy,cx - az, ay - bx)
大学老师教了一个比较好记的方法如下图
在这里插入图片描述
a×b ≠ b×a
(a×b) × c ≠ a×(b×c)
|a×b| = |a||b|sinθ
其结果对于左右手坐标系来说会呈现相反的视觉效果

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值