C++ Programmer's Cookbook

{C++ 基础} {C++ 高级} {C#界面,C++核心算法} {设计模式} {C#基础}

三维几何变换

三维几何变换
  1. 由于用齐次坐标表示,三维几何变换的矩阵是一个4阶方阵,其形式如下:


     1)平移变换

     参照二维的平移变换,我们很容易得到三维平移变换矩阵:

    

     2)缩放变换
    直接考虑相对于参考点

xf yf zf 的缩放变换,其步骤为:

     A. 将平移到坐标原点处;
     B. 进行缩放变换;
     C. 将参考点

xf yf zf 移回原来位置
       则变换矩阵为:
     
    3)绕坐标轴的旋转变换
    三维空间的旋转相对要复杂些,考虑右手坐标系下相对坐标原点绕坐标轴旋转
q 角的变换:

     A.绕 x 轴旋转

   

     B.绕 y 轴旋转

   

     C.绕 z 轴旋转

   

    
    

三维空间的平移、旋转及缩放示意图

   4)绕任意轴的旋转变换
   设旋转轴 AB 由任意一点 A xa ya za )及其方向数( a b c )定义,

     

   可以通过下列步骤来实现 P 点的旋转:

     A. 将 A 点移到坐标原点。

     B. 使

AB 分别绕 X 轴、 Y 轴旋转适当角度与 Z 轴重合。

    

     D.作上述变换的逆操作,使 AB 回到原来位置。

AB YOZ 平面与 XOZ 平面的投影与 Z 轴的夹角。


http://necweb.neu.edu.cn/ncourse//tuxingxue/Chapter6/CG_Txt_6_012.htm

posted on 2006-06-13 14:11 梦在天涯 阅读(1713) 评论(0)  编辑 收藏 引用 所属分类: DirectX


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

EMail:itech001#126.com

导航

统计

  • 随笔 - 461
  • 文章 - 4
  • 评论 - 746
  • 引用 - 0

常用链接

随笔分类

随笔档案

收藏夹

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

积分与排名

  • 积分 - 1667029
  • 排名 - 5

最新评论

阅读排行榜