3D数学基础(一) | 坐标系

《3D数学基础:图形与游戏开发》

前言

白玉无冰决定开一个新坑。再次重读《3D数学基础:图形与游戏开发》(第一版)

结合Cocos Creator 引擎及其他相关书籍,整理并记录一些笔记。

cf8bada493d2d318bbdd79e39161c114.png

开始

坐标系有许多种,本文主要围绕笛卡儿坐标系(Cartesian Coordinate System)展开。

af0aac433c8d526a8b4e09bf3d069056.png
摘自《游戏引擎架构》

计算机图形学第一准则:近似原则。如果它看上去是对的,它就是对的。

左手坐标系与右手坐标系

3D坐标系中存在两种坐标系:左手坐标系和右手坐标系。

伸出你的双手,让拇指(x)、食指(y)和中指(z)相互垂直,就构成了相应的坐标系。

3b2f08b700a53cb655b28bfeeb0c778c.png
左手坐标系与右手坐标系

🎈 OpenGL中的坐标系大体是右手坐标系,而Direct3D中大体是左手坐标系。

🥥 Cocos Creator 3.0 的世界坐标系采用的是笛卡尔右手坐标系,默认 x 向右,y 向上,z 向外,同时使用 -z 轴为正前方朝向。

9f754ed8e477942e14e076ddbec9c801.png
Cocos Creator 与右手坐标系

其中旋转也遵循对应左右手法则,伸出双手,做一个点赞👍 的手势,拇指指向朝向,四指握着的方向为正。

afc6c72377328cdb15309dae3bd653c3.png
旋转与左右手

🥥 Cocos Creator 3.0 中的旋转(Rotation)遵守右手法则,从转向轴往原点看,当属性值为 正 时,节点 逆时针 旋转。当属性值为 负 时,节点 顺时针 旋转。

3f800279b4b45e98315e60a4bfdab127.gif
Cocos Creator 旋转

⚠️ 注意:节点上的 rotation 属性是一个四元数,表示的是绕任意轴旋转的角度。与 属性检查器 中的 Rotation 所对应的属性是欧拉角属性 EulerAngles。这两个属性可以根据需求分别使用,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值