Unity3D - Shader - 笛卡尔坐标系

二维笛卡尔坐标系

二维笛卡尔坐标系包含两部分信息:

  1. 一个特殊的位置,原点,是整个坐标系的中心
  2. 两条过原点的相互垂直的矢量,即X轴和Y轴,这些坐标轴也被称为是该坐标系的基矢量。

这里写图片描述

二维笛卡尔坐标系可以帮助我们精确地定位一个点的位置。

三维笛卡尔坐标系

三维笛卡尔坐标系需要3个坐标轴和一个原点。这三个坐标轴被称为该坐标系的基矢量(basis vector)

二维坐标系中:
X轴基矢量:(1, 0)
Y轴基矢量:(0, 1)

三维坐标系中:
X轴基矢量:(1, 0, 0)
Y轴基矢量:(0, 1, 0)
Z轴基矢量:(0, 0, 1)

标准正交基(orthonormal basis):若三个坐标轴之间相互垂直且长度为1,那么这样基矢量被称为标准正交基。

正交基(orthogonal basis):若三个坐标轴之间相互垂直但长度不为1,那么这样的基矢量被称为正交基。

这里写图片描述

坐标系取向

旋向性:若两个坐标系具有相同的旋向性,就可以通过旋转的方式让这两个坐标轴相互重合。

左手坐标系与右手坐标系

三维坐标系中有两种不同的旋向性将坐标系分为了左手坐标系右手坐标系,这两个坐标系无法通过旋转的方式使其完全重合。

若我们右方为X轴正向,我们的头顶为Y轴正向,那么在不同的坐标系中,仅仅是我们的前方所处的Z轴正负不同而已:若我们是在右手坐标系中,那么我们的前方就是Z轴负方向;若我们是在左手坐标系中,那么我们的前方就是Z轴的正方向。

此外,左右坐标系还带来了左右对正向旋转的定义的不同。

这里写图片描述

左右坐标系无优劣之分,绝大多数情况不会影响底层的数学运算,仅在映射到视觉上时有些差别。

Unity中的坐标系

对于模型空间使用的是左手坐标系,也就是说一个物体的右侧(right)、上侧(up)和前侧(forward)分别对应X轴的正方向、Y轴的正方向、Z轴的正方向。

这里写图片描述

对于观察空间使用的是右手坐标系,也就是以摄像机为原点的坐标系。在这个坐标系中,摄像机的右侧(right)、上侧(up)、前方(forward),分别对应X轴的正方向、Y轴的正方向、Z轴的负方向。

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值