学习Shader所需的数学基础(坐标系,点和矢量)

坐标系

在三维笛卡尔坐标系中,我们需要定义3个坐标轴和一个原点。这3个坐标轴被称为该坐标系的基矢量,相互垂直且长度为1的基矢量被称为标准正交基,相互垂直但长度不为1的基矢量被称为正交基

左手坐标系与右手坐标系

我们可以利用双手来判断一个坐标系的旋向性。请读者举起你的左手,用食指和大拇指摆出一个“L”的手势,并且让你的食指向上,大拇指向右。现在伸出你的中指,它将指向你的前方。此时你已经得到了一个左手坐标系。你的大拇指,食指,中指分别对应了+x,+y,+z轴。如下图所示。

读者可以通过右手得到一个右手坐标系。举起你的右手,这次食指仍然向上,中指指向前方,不同的是,大拇指将指向左侧。如下图所示。

左手法则与右手法则

左手坐标系和右手坐标系对于正向旋转的定义也不同,分别取决于左手法则和右手法则。在左手坐标系中,请举起你的左手,握拳,伸出大拇指让它指向旋转轴的正方向,那么旋转的正方向就是剩下4个手指的弯曲方向。在右手坐标系中,使用右手法则对旋转正方向的判断类似。

Unity使用的坐标系

对于模型空间和世界空间,Unity使用的是左手坐标系。
对于观察空间,Unity使用的是右手坐标系。观察空间通俗来讲就是以摄像机为原点的坐标系,摄像机的前向是z轴的负方向,也就是说,z轴坐标的减少意味着场景深度的增加。

点和矢量

点是n维空间中的一个位置。
矢量是指n维空间中一种包含了模和方向的有向线段。而标量只有模没有方向。
具体来讲:

  • 矢量的模指的是矢量的长度
  • 矢量的方向则描述了这个矢量在空间中的指向
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值