three.js三维空间中物体的位置信息变换 - 莫西摩西的个人空间 - 开源中国

第一点 object的矩阵是指:该物体从父级坐标系的原点变换到当前位置,其中包括位移、放缩、旋转

第二点 物体的position:对象是相对其父级而言的

例如: 场景中物体包含关系: scene>group>cube cube的position为(15,0,0)这是相对于group group的position为(80,0,0)这是相对于scene group的矩阵为 [1,0,0,0 0,1,0,0 0,0,1,0 80,0,0,1 ]

例子1、 现在要求cube在scene世界坐标系中的position,则乘以group的逆矩阵,就相当于把点(15,0,0)位移到现在的位置,cube的position同group的position一样发生位移,得出其在scene中的position为(95,0,0)

例子2、 现在有cube2,其世界坐标position为(65,0,0),并且cube2在group中 要求cube2在group坐标系中的position,则 要乘以group的逆矩阵,至于为什么,看我下面分析: 相当于要将group的本地坐标系与scene坐标系重合,由于group的矩阵记录的是group从scene坐标系的原点变换到现在的位置(80,0,0),现在要将这两个坐标系重合,就是反过来,所有要乘以其逆矩阵,相当于把group向其scene坐标系的原点变换,cube的position就随之发生位移,最后求的坐标为(-15,0,0)


原网址: 访问
创建于: 2018-10-13 16:37:06
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论