图形学之空间坐标变化之三维图形观察及变换

一、三维物体基本几何变换 

  主要讨论如下几个问题 :
  • 如何对三维图形进行方向、尺寸和形状方面的变换 ?
  • 三维物体如何在二维输出设备上输出 ?
  • 通过三维图形变换,可由简单图形得到复杂图形,三维图形变换则分为三维几何变换和投影变换 。

1、基本几何变换 
          
           三维物体的几何变换是在二维方法基础上增加了对z坐标的考虑而得到的 ,二维图形几何变换的结论仍然适用 。三维空间几何变换直接与显示、造型有关,故更为重要 。
         
          同二维变换一样,三维基本几何变换都是相对于坐标原点和坐标轴进行的几何变换:有平移、比例、旋转、对称和错切等 。同样引入齐次坐标表示,即 :三维空间中某点的变换可以表示成点的齐次坐标与四阶的三维变换矩阵相乘 。
 






  • 平移变换
    • 若三维物体沿 x , y , z 方向上移动一个位置,而物体的大小与形状均不变,则称为平移变换 。点P的平移变换矩阵表示如下 : 


  • 比例变换 

  • 比例变换分局部比例变换和整体比例变换

  • 局部比例变换 
局部比例变换由T2D中主对角线元素决定,其它元素均为零。当对x,y,z方向分别进行比例变换时,其变换的矩阵表示为 : 


  • 整体比例变换 ,整体比例变换,可用以下矩阵表示 :  



  • 旋转变换 

  • 三维立体的旋转变换是指给定的三维立体绕三维空间某个指定的坐标轴旋转θ角度 。旋转后, 立体的空间位置将发生变化, 但形状不变 。θ角的正负按右手规则确定, 右手大姆指指向旋转轴的正向, 其余四个手指指向旋转角的正向  。


  • 绕z轴旋转 θ 

  • 三维空间立体绕z轴正向旋转时, 立体上各顶点的x, y坐标改变, 而z坐标不变。而x, y坐标可由二维点绕原点旋转公式得到, 因此可得 : 

                         


  • 绕x轴旋转 
    • 同理,三维点 p 绕 x 轴正向旋转θ角的矩阵计算形式为 : 


  • 绕y轴旋转 

  • 三维点p绕y轴正向旋转θ角的矩阵计算形式为: 
 
    • 绕任意轴旋转 
      求绕任意直线旋转矩阵的原则: 
           ① 任意变换的问题——基本几何变换的问题 
           ② 绕任意直线旋转的问题——绕坐标轴旋转的问题 

  • 对称变换 

  • 对称变换有关于坐标平面、坐标轴等的对称变换 。
                        
                    ( 1 )关于坐标平面的对称 
                                关于xoy平面进行对称变换  
 




                                    关于xoy平面进行对称变换



                                   
                                    关于zox平面进行对称变换



  • 关于坐标轴对称        关于x轴进行对称变换

  • 关于y轴进行对称变换


  • 关于z轴进行对称变换的矩阵


二、投影变换
          
          通过投影变换解决在二维平面(显示器屏幕、绘图纸 )上显示三维物体(显示对象 )

          1 、平面几何投影
                    
       投影变换就是把三维物体投射到投影面上得到二维平面图形需要记住的一点是,计算机绘图是产生三维物体的二维
          图象。但在屏幕上绘制图形的时候,必须在三维坐标系下来考虑画法,故需要在创建一个三维图形时,考虑二维平面图象是怎样的 。 
          
                       
        两种投影法的本质区别在于透视投影的投影中心到投影面之间的距离是有限的;而另一个的距离是无限的 

  • 中心(透视)投影  ( 投影线均通过投影中心  

                                       
           在投影中心相对投影面确定的情况下,空间的一个点在投影面上只存在唯一一个投影。
           透视投影特点: 
           物体的投影视图由计算投影线与观察平面之交点而得 ,透视投影生成真实感视图但不保持相关比例 。
                                                   
  • 平行投影
    • 如果把透视投影的中心移至无穷远处,则各投影线成为相互平行的直线,这种投影法称为平行投影法。
             

      平行投影特点:
          平行投影保持物体的有关比例不变物体的各个面的精确视图由平行投影而得没有给出三维物体外表的真实性表示 。
                                               
                                                       
平面几何投影的分类:
               

                        
三、平行投影

      平行投影可根据投影方向与投影面的夹角分成两类: 正投影 斜投影

                 
1、正投影

           正投影根据投影面与坐标轴的 夹角 又可分为两类: 三视图 正轴侧图 当投影面与某一坐标轴垂直时,得到的投影为三视图,这时投影方向与这个坐标轴的方向一致;否则,得到的投影为正轴侧图 。


               

2、三视图
          
       通常所说的三视图包括主视图、侧视图和俯视图三种,投影面分别与x轴、 y轴和z轴垂直 。
          

               
  • 特点 :
    • 三视图的特点是物体的一个坐标面平行于投影面,其投影能反映形体的实际尺寸。工程制图中常用三视图来测量形体间的距离、角度以及相互位置关系 。
  • 不足 :
    • 不足之处是一种三视图上只有物体一个面的投影,所以三视图难以形象地表示出形体的三维性质,只有将主、侧、俯三个视图放在一起,才能综合出物体的空间形状 。
  • 三视图的计算 :
    • 主视图、俯视图和侧视图是分别将三维物体对正面、水平面和侧面作正平行投影而得到的三个基本视图  。 显然,只要求得这种正平行投影的变换矩阵,就可以得到三维物体上任意点经变换后的相应点,有这些变换后的点即可绘出三维物体投影后的三视图  。

  • 具体计算步骤如下 :
                a、 确定三维物体上各点的位置坐标;
                b、 引入齐次坐标,求出所作变换相应的变换矩阵;
                c、 将所作变换用矩阵表示,通过运算求得三维物 体上各点经变换后的点坐标值;
                d、 由变换后得到的二维点绘出三维物体投影后的三视图

  • 主视图
          将三维物体 xOz 面(又称V面)作垂直投影,得到主视图 。
 
由投影变换前后三维物体上点到主视图上点的关系,此投影 变换的变换矩阵应为:
               
                           

通常称T V 为主视图的投影变换矩阵。于是,由三维物体到主 视图的投影变换矩阵表示为:
                 

  • 俯视图
    • 将三维物体xOy面(又称H面)作垂直投影得到俯视图 。如上面的所示, 其投影变换矩阵如下 :
            
  • 为了使俯视图与主视图都画在一个平面内,就要使H面绕x轴顺时针转90度,即应有一个旋转变换,其变换矩阵为:


于是,俯视图的投影变换矩阵 :


  • 侧视图
           将三维物体 y O z 面(又称W面)作垂直投影得到侧视图 。其 投影变换矩阵如下:
                
为了使侧视图与主视图也在一个平面内,就要使W面绕z轴正 转90 0 ,其旋转变换换矩阵为:
       
为使主视图和侧视图有一定的间距,还要使W面沿负x方向平 移一段距离- x 0 , 该平移变换矩阵为:
                          
于是,侧视图的投影变换矩阵为:
    
  • 小结:
                
3 、 正轴侧图投影变换矩阵

        
  • 正轴测有等轴测、正二测和正三测三种:
    • 当投影面与三个坐标轴之间的夹角都相等时为等轴测
    • 当投影面与两个坐标轴之间的夹角相等时为正二测
    • 当投影面与三个坐标轴之间的夹角都不相等时为正三测





空间物体的正轴测图是以V面 为轴测投影面,先将物体绕Z 轴转γ角,接着绕X轴转-α 角,最后向V面投影。其变换 矩阵为:




                 
    

三 、 透视投影
        
       有两种基本的投影 —   平行投影 透视投影 。它们分别用于 解决基本的、彼此独立的图形表示问题 。 透视投影比轴测图更富有立体感和真实感 。

  • 平行投影表示真实大小和形状的物体
  • 透视投影表示真实看到的物体
       透视投影(Perspective Projection)是为了获得接近真实三维 物体的视觉效果而在二维的纸或者画布平面上绘图或者渲染 的一种方法,能逼真地反映形体的空间形象,也称为透视图 。 透视投影是3D渲染的基本概念,也是3D程序设计的基础 。 轴测投影图是用平行投影法形成的,视点在无穷远处;而透 视投影图是用中心投影法形成的,视点在有限远处 。
                                 
     其中的[p,q,r]能产生透视变 换的效果 。

1、透视基本原理

         众所周知,位于空间的任何一个点,它之所以能被人们的眼 睛所看见,是因为从该点出发射出来的一条光线能够到达人 们的眼睛 。 该平面为透视投影面,穿点 P’ 为P的透视投影。
        假如求空间点的透视投影问题得到了解决,那么空间任何线 段、多边形或立体的透视投影也就可以方便地求得了。
             
                             
         因为一条直线段是由两点确定,多边形平面由围成该多边形 的各顶点和边框线段确定,而任何立体也可以看成是由它的 顶点和各棱边所构成的一个框体 这就是说,可以通过求出这些顶点的透视投影而获得空间任 意立体的透视投影 。
         三维世界的物体可以看作是 由点集合{X i }构成的,这样 依次构造起点为E,并经过点 X i 的射线R i 这些射线与投影面P的 交点集合便是三维世界 在当前视点的透视图 。
                     
2、一点透视
         先假设q≠0 , p=r=0。 然后对 点(x,y,z) 进行变换 :
               
                 
           
        对其结果进行齐次化处理得:
   
       

A、 当y=0时,得:
                   
              说明处于 y=0 平面内的点,经过变换以 后没有发生变化 。
B、 当y → ∞时,得:
                 
        这说明,当 y → ∞ 时,所有点 的变换结果都集中到了y轴上 的 1/q 处 。 即所有平行于y轴的直线将延 伸相交于此点(0 ,1/q , 0)。 该点称为 灭点 ,而像这样形成 一个灭点的透视变换称为一点 透视 。
        根据同样的道理,当p≠0 , q=r=0时,则将在x轴上的1/p处 产生一个灭点,其坐标值为(1/p,0,0)。 在这种情况下,所 有平行于x轴的直线将延伸交于该点:
  
           
当r ≠ 0 , q = p = 0时,则将在z轴上的1/r处产生一个灭点, 其坐标值为(0,0,1/r)。 在这种情况下,所有平行于z轴 的直线将延伸交于该点。

3、多点透视
         根据一点透视的原理予以推广,如果p,q,r三个元素中有两个 为非零元素时,将会生成两个灭点,因此得到两点透视。如当 p≠0, r≠0时,结果为:
     
                
经过齐次化处理后结果为:

            
从以上结果可以看到:
        当x→∞时,一个灭点在x轴上的1/p处
        当z→∞时,一个灭点在z轴上的1/r处
        同理,当p,q ,r三个元素全为非零时,结果将会产生三个灭 点,从而形成三点透视。产生的三个灭点分别在x轴上的1/p  处、 y轴上的1/q处和z轴上的1/r 处 。


4、生成透视投影图的方法
         三维物体透视投影的 大小 与物体到投影中心的 距离 反比 即透视缩小效应。这种效应所产生的视觉效果十分类似于照 相系统和人的视觉系统

5、 三点透视投影图的生成

    构造三点透视的一般步骤如下:
          (1) 将物体平移到适当位置
         (2) 将物体绕y轴旋转θ角
         (3) 再绕x轴旋转α角
         (4) 进行透视变换
         (5) 最后向xoy面做正投影,即得三点透视图 。

四 、小结

1、 三维物体基本几何变换
         三维物体的几何变换是在二维方法基础上增加了对z坐标的 考虑而得到的 有关二维图形几何变换的讨论,基本上都适合于三维空间 。 根据T 3D 在变换中所起的具体 作用,进一步可将T 3D 分成四 个矩阵。即:
                            

             

2、 三维物体的投影变换

         两种投影法的本质区别在于:透视投影的投影中心到投 影面之间的距离是有限的;而另一个的距离是无限的 。
     

平行投影特点:
       平行投影保持物体的有关比例不变 物体的各个面的精确视图由平行投影而得 没有给出三维物体外表的真实性表示 。
                                         
平行投影保持物体的有关比例不变 物体的各个面的精确视图由平行投影而得 没有给出三维物体外表的真实性表示 。

透视投影特点:
         物体的投影视图由计算投影线 与观察平面之交点而得 透视投影生成真实感视图但不保 持相关比例 。 透视投影比轴测图更富有立体感和真实感 。
                                    
其中的[p,q,r]能产生透 视变换的效果
                              

猜你喜欢

转载自blog.csdn.net/smilejiasmile/article/details/79619365