坐标变换深入理解

本文深入探讨了坐标变换的前提,理论层面的理解,以及在工业领域中的实际应用。内容包括物体坐标系和坐标体系的变换理解,四元数在骨骼父子节点关系中的旋转变换,父子节点变换传递性的区别,蒙皮权重和相对位置的影响,以及四元数在右手坐标系中的特殊应用。同时,还介绍了四元数逆的等价性和在.md5mesh与.md5anim文件中的使用细节。
摘要由CSDN通过智能技术生成

一、变换的前提

考虑坐标变换时候,一定要分清楚几个前提条件:
1.当前是否需要进行变换,通过一些相对位置是否能够求取出来; 通过中间位置(屏幕位置)得到结果,或者通过方便的函数计算出来,不需要自己计算,如UnityEngine.RectTransformUtility.ScreenPointToLocalPointInRectangle
2.当前是左手坐标系还是右手坐标系。(cocos2dx中用的就是右手坐标系,而u3d中世界坐标系是左手坐标系),不同坐标系统,z轴定义不同基于观察坐标系的左右翻转,旋转角度不同,绕序正面不同,矩阵是行矩阵还是列矩阵定义不同,向量乘以矩阵顺序不同,四元数乘法规则和乘法顺序不同。

3.当前是变换物体,还是变换坐标系,变换坐标系也要基于变换物体的逆来考虑。
4.变换的顺序,连续变换的顺序,基于父节点要先进行缩放->旋转->平移才能得到正确的结果。

二、理论层面理解

1.不同坐标体系,旋转定义规则,不同矩阵定义规则,四元数乘法定义规则,变换会不同。
2.简化变换的思想
使用 惯性坐标系 (惯性坐标系是世界坐标系平移到物体坐标系的位置)可以简化物体-世界,世界-物体,或者说任何两个坐标系间的转换做一个中间的转换,使问题变得简单。使用 嵌套坐标系(父坐标系-子坐标系-子坐标系)也可以分解问题,简化复杂的变换逻辑。 其实把问题简单化思考的方法,不外乎实例化,拆分它,转换它,再组合转换抽象回来,就可以很elegant的解决问题了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值