EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 1167|回复: 20
打印 上一主题 下一主题

3D中的方位与角位移

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12404

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-9 14:45:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
方位: 方向
          角位移
          旋转
位移:我们知道不能用绝对坐标系来描述物体的位置,要描述物体的位置,必须把物体放置于特定的参考系中。描述位置实际上就是描述相对于给定参考点(通常是坐标原点的)位移。
    同样,描述物体方位时,也不能使用绝对量。与位置只是相对已知点的位移一样,方位时通过相对已知方位的旋转来描述的。旋转的量称作角位移。具体来说,我们用矩阵和四元素来表示“角位移”,用欧拉来表示“方位”。
矩阵的形式:3D中,描述坐标系中方位的一种方法就是列出这个坐标系的基向量,这些基向量是用其他的坐标系来描述的。用这些基向量构成一个3*3矩阵,然后就能用矩阵形式来描述方位。换句话说,能用一个旋转矩阵来描述这两个坐标系之间的相对方位,这个旋转矩阵用于把一个坐标系中的向量转换到另一个坐标系中。
矩阵形式的有点:
    可以立即进行向量的旋转。矩阵形式最重要的性质就是利用矩阵能再物体和惯性坐标系间旋转向量,这是其他描述方法所做不到的。为了旋转向量,必须方位转换成矩阵形式。
     矩阵的形式被图形API所使用。受到了前一节所述原因的影响,图形API使用矩阵来描述方位。(API是应用程序接口,基本上,它们是实现您和显卡交流的代码)当你和图形API交流时,则必须在渲染管道的某处将其转换成矩阵。
     多个角位移连接。矩阵形式的第二个优点就是可以“打破”嵌套坐标系间的关系。例如,如果知道A关于B的方位,有知道B关于C的方位,使用矩阵可以求得A关于C的方位。
      矩阵的逆。用矩阵形式表达角位移时,逆矩阵就是“反”角位移。因为旋转矩阵是正交的,所以这个计算只是简单的矩阵转置运算。
矩阵形式的缺点:矩阵占用了更多的内存。如果需要保存大量方位,如动画序列中的关键帧,9个数会导致数目可观的额外空间损失。
    难于使用。矩阵对人类来说并不直观。有太多的数,并且它们都在-1到1之间。人类考虑方位的直观方法是角度,而矩阵使用的是向量。通过实践,我们能从一个给定的矩阵中得到它所表示的方位。但这仍比欧拉角困难得多,其他方面也不尽如人意。用手算来构造描述任意方位的矩阵几乎是不可能的。总之,矩阵不是人类思考的直观方位如的直观方法。
    矩阵可能是病态的。矩阵使用9个数,其实只有3个数是必须的。也就是说,矩阵带有6阶冗余。描述方位的矩阵必须满足6个限制条件。行必须是单位向量,而且它们必须互相垂直。
如果随机取9个数并组成一个3*3阶矩阵,这个矩阵条件不大可能全部满足6个限制条件。因此,这9个数不能组成一个有效的旋转矩阵。从另一方面,至少对于表达旋转这个目的而言,这个矩阵的结构很不合理,这样的矩阵会出问题,因为它可能导致数值异常或其它非预期行为。
    病态矩阵时怎样出现的呢?有很多原因。
    矩阵还可能包含缩放、切变或镜像的操作,这些操作会对物体的“方位”产生什么影响呢?确实,对此没有一个清晰的定义。任何非正交的矩阵都不是一个定义良好的旋转矩阵。虽然镜像矩阵也是正交的,但它不是有效的旋转矩阵。
    可能从外部数据源获得“坏”数据。例如,使用物理数据获取设备(如动作捕捉器)时,捕获过程中可能产生错误。许多建模包就是因为会产生病态矩阵而变得声明狼藉。
     可能因为浮点数的舍入错误产生“换数据”,例如,对一个方位动作大量的加运算,这在允许人们手动控制物体方位的游戏中是很常见的。由于浮点精度的限制,大量的矩阵乘法最终可能导致病态矩阵。这种现象称作“矩阵蠕变”。矩阵正交化能解决矩阵蠕变的问题。
小结:
    矩阵是一种表达方位的“强力”方法,我们可以在当前坐标系中明确列出另一个坐标系的基向量。
    用矩阵形式表达方位非常有用,这主要是因为它允许在不同坐标系间旋转向量。
     当前图形API使用矩阵描述方位。
    能使用矩阵乘法把嵌套矩阵连接起来,从而得到单一的矩阵。
    矩阵的逆提供了一种得到“相反”角位移的机制。
    矩阵占用了大量的内存。当有大量方位需要存储时(如动画数据)这样的的资源浪费将是一个大问题。
    并非所有矩阵都能描述方位。一些矩阵还包括镜像或切变等情况。从外部数据源得到坏数据或矩阵蠕变都可能导致病态矩阵。
    矩阵中的数对人类来说并不直观。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12404

社区QQ达人

推荐
 楼主| 发表于 2014-2-13 10:32:42 | 只看该作者
不错的东西 分享给大家  一起学习
工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言

8

主题

836

帖子

1364

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1364
推荐
发表于 2014-4-1 10:45:21 | 只看该作者
路过!!! 不发表意见……

4

主题

852

帖子

1381

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1381
推荐
发表于 2014-3-26 16:14:52 | 只看该作者
路过!!! 不发表意见……

4

主题

852

帖子

1381

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1381
11F
发表于 2014-3-26 16:15:47 | 只看该作者
顶...... 楼下跟上.....

23

主题

898

帖子

1564

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1564
12F
发表于 2014-4-1 10:58:02 | 只看该作者
顶......
楼下跟上.....

26

主题

722

帖子

-2205

积分

乞丐

积分
-2205
13F
发表于 2014-4-11 11:27:01 | 只看该作者
(*^__^*) 嘻嘻……

13

主题

840

帖子

1580

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1580
14F
发表于 2014-4-11 11:31:43 | 只看该作者
(*^__^*) 嘻嘻……
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-23 20:18

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表