fbpx
维基百科

三维投影

三维投影是将三维空间中的点映射到二维平面上的方法。由于目前绝大多数图形数据的显示方式仍是二维的,因此三维投影的应用相当广泛,尤其是在计算机图形学,工程学和工程制图中。

分类

  • 三维图形平面投影
    • 平行投影:投影中心与投影平面的距离是无限的,投影线相互平行
      • 正投影(正交投影):投影线垂直于投影平面
        • 多视图投影:物体的坐标面与投影面平行,正视图、侧视图、俯视图
        • 轴测投影:物体的三个坐标面或坐标轴与投影面均不平行
          • 正等轴测投影(正等测):投影时三个坐标轴等比例缩放,投影面坐标轴夹角120°
          • 正二轴测投影(正二测):投影时两个坐标轴等比例缩放,第三个坐标轴缩放比例不同
          • 正三轴测投影(正三测):投影时三个坐标轴缩放比例均不相等
      • 斜投影:投影线不垂直于投影平面
        • 斜等轴测投影(斜等测)
        • 斜二轴测投影(斜二测)
        • 斜三轴测投影(斜三测)
    • 透视投影:投影中心与投影平面的距离是有限的
      • 一点透视
      • 两点透视
      • 三点透视


平行投影

平行投影是投影线相互平行的投影。若投影线平行于投影面则称正投影,若投影面倾斜于投影面则称斜投影。

正交投影

正交投影是一系列用于显示三维物体的轮廓、细节或精确测量结果的变换方法。通常又称作截面图、鸟瞰图或立面图。

当视平面的法向(即摄像机的朝向)平行于笛卡尔坐标系三根坐标轴中的一根,数学变换定义如下: 若使用一个平行于y轴(侧视图)的正交投影将三维点 ,  ,  投影到二维平面上得到二维点 ,  ,可以使用如下公式

 
 

其中向量s是一个任意的缩放因子,而c是一个任意的偏移量。这些常量可自由选择,通常用于将视口调整到一个合适的位置。该投影变换同样可以使用矩阵表示(为清晰起见引入临时向量d

 
 


虽然正交投影产生的图像在一定程度上反映了物体的三维特性,但此类投影图像和实际观测到的并不相同。特别是对于相同长度的平行线段,无论离虚拟观察者(摄像机)远近与否,它们都会在正交投影中显示为相同长度。这会导致较近的线段看起来被缩短了。

斜投影

斜投影不像正交投影一样投影线垂直于投影面,而是投影线与投影面成非90度的斜角。

透视投影

透视投影的定义更为复杂。可以将其理解为透过摄像机取景器对于被投影物体进行观察。摄像机的位置、朝向和视野都将影响投影变换的结果。我们定义以下变量来对这一变换进行描述:

  •  :将被投影的三维空间中的点。
  •  :摄像机的位置。
  •  :摄像机的旋转角度。当  =<0,0,0>且  =<0,0,0>, 三维向量<1,2,0>将被投影到二维向量<1,2>。
  •  :观测者相对显示平面的位置。[1]

最终结果为:

  •   所产生的二维投影。

首先我们定义点 作为点 向摄像机坐标系所作的变换,其中摄像机坐标系由摄像机的位置 和旋转 所决定。该过程为:先用 减去 ,然后使用由 产生的旋转矩阵乘上该结果。该变换通常称为摄像机变换(注意该计算过程假设使用左手法则): [2][3]

 [4]

或者使用以下这种非矩阵表示的形式,其中角度的正负号与矩阵表示形式不同:

 

然后将变换后的该点通过以下方程投影到二维平面(此处投影平面为x/y平面,有时也使用x/z):[5]

 

或在齐次坐标系下可以表示为:

 

 

观测者到显示平面的距离, ,直接关系到视野的大小。 为可视角度。(这里假设屏幕的两角为(-1,-1)和(1,1))

如果要在一些特定的显示设备上显示该二维平面,之后还要进行一些必要的剪裁和缩放操作。

图示

 

计算三维空间中位于Ax,Az的点在屏幕坐标x轴的位置:

 

对于y轴同样有:

 

(其中Ax和Ay是透视转换前物体在空间中的坐标)

参看

参考文献

  1. ^ Ingrid Carlbom, Joseph Paciorek, Planar Geometric Projections and Viewing Transformations, ACM Computing Surveys, 1978, 10 (4): 465–502, doi:10.1145/356744.356750 .
  2. ^ Riley, K F. Mathematical Methods for Physics and Engineering. Cambridge University Press. 2006: 931,942. ISBN 0521679710. doi:10.2277/0521679710. 
  3. ^ Goldstein, Herbert. Classical Mechanics 2nd Edn.. Reading, Mass.: Addison-Wesley Pub. Co. 1980: 146–148. ISBN 0201029189. 
  4. ^ Rotation About an Arbitrary Axis in 3 Dimensions (页面存档备份,存于互联网档案馆) Glenn Murray 2013-6-6 [2014-4-23]
  5. ^ Sonka, M; Hlavac, V; Boyle, R, Image Processing, Analysis & Machine Vision 2nd Edn., Chapman and Hall: 14, 1995, ISBN 0412455706 

深入阅读

  • Kenneth C. Finney. 3D Game Programming All in One. Thomson Course. 2004: 93 [2009-12-23]. ISBN 159200136X. (原始内容于2012-11-12). 

三维投影, 是将三维空间中的点映射到二维平面上的方法, 由于目前绝大多数图形数据的显示方式仍是二维的, 因此的应用相当广泛, 尤其是在计算机图形学, 工程学和工程制图中, 目录, 分类, 平行投影, 正交投影, 斜投影, 透视投影, 图示, 参看, 参考文献, 深入阅读分类, 编辑三维图形平面投影, 平行投影, 投影中心与投影平面的距离是无限的, 投影线相互平行, 正投影, 正交投影, 投影线垂直于投影平面, 多视图投影, 物体的坐标面与投影面平行, 正视图, 侧视图, 俯视图, 轴测投影, 物体的三个坐标面或坐标. 三维投影是将三维空间中的点映射到二维平面上的方法 由于目前绝大多数图形数据的显示方式仍是二维的 因此三维投影的应用相当广泛 尤其是在计算机图形学 工程学和工程制图中 目录 1 分类 2 平行投影 2 1 正交投影 2 2 斜投影 3 透视投影 4 图示 5 参看 6 参考文献 7 深入阅读分类 编辑三维图形平面投影 平行投影 投影中心与投影平面的距离是无限的 投影线相互平行 正投影 正交投影 投影线垂直于投影平面 多视图投影 物体的坐标面与投影面平行 正视图 侧视图 俯视图 轴测投影 物体的三个坐标面或坐标轴与投影面均不平行 正等轴测投影 正等测 投影时三个坐标轴等比例缩放 投影面坐标轴夹角120 正二轴测投影 正二测 投影时两个坐标轴等比例缩放 第三个坐标轴缩放比例不同 正三轴测投影 正三测 投影时三个坐标轴缩放比例均不相等 斜投影 投影线不垂直于投影平面 斜等轴测投影 斜等测 斜二轴测投影 斜二测 斜三轴测投影 斜三测 透视投影 投影中心与投影平面的距离是有限的 一点透视 两点透视 三点透视平行投影 编辑平行投影是投影线相互平行的投影 若投影线平行于投影面则称正投影 若投影面倾斜于投影面则称斜投影 正交投影 编辑 正交投影是一系列用于显示三维物体的轮廓 细节或精确测量结果的变换方法 通常又称作截面图 鸟瞰图或立面图 当视平面的法向 即摄像机的朝向 平行于笛卡尔坐标系三根坐标轴中的一根 数学变换定义如下 若使用一个平行于y轴 侧视图 的正交投影将三维点a x displaystyle a x a y displaystyle a y a z displaystyle a z 投影到二维平面上得到二维点b x displaystyle b x b y displaystyle b y 可以使用如下公式 b x s x a x c x displaystyle b x s x a x c x b y s z a z c z displaystyle b y s z a z c z 其中向量s是一个任意的缩放因子 而c是一个任意的偏移量 这些常量可自由选择 通常用于将视口调整到一个合适的位置 该投影变换同样可以使用矩阵表示 为清晰起见引入临时向量d d x d y 1 0 0 0 0 1 a x a y a z displaystyle begin bmatrix d x d y end bmatrix begin bmatrix 1 amp 0 amp 0 0 amp 0 amp 1 end bmatrix begin bmatrix a x a y a z end bmatrix b x b y s x 0 0 s z d x d y c x c z displaystyle begin bmatrix b x b y end bmatrix begin bmatrix s x amp 0 0 amp s z end bmatrix begin bmatrix d x d y end bmatrix begin bmatrix c x c z end bmatrix 虽然正交投影产生的图像在一定程度上反映了物体的三维特性 但此类投影图像和实际观测到的并不相同 特别是对于相同长度的平行线段 无论离虚拟观察者 摄像机 远近与否 它们都会在正交投影中显示为相同长度 这会导致较近的线段看起来被缩短了 斜投影 编辑 斜投影不像正交投影一样投影线垂直于投影面 而是投影线与投影面成非90度的斜角 透视投影 编辑主条目 变换矩阵 透视投影的定义更为复杂 可以将其理解为透过摄像机取景器对于被投影物体进行观察 摄像机的位置 朝向和视野都将影响投影变换的结果 我们定义以下变量来对这一变换进行描述 a x y z displaystyle mathbf a x y z 将被投影的三维空间中的点 c x y z displaystyle mathbf c x y z 摄像机的位置 8 x y z displaystyle mathbf theta x y z 摄像机的旋转角度 当 c x y z displaystyle mathbf c x y z lt 0 0 0 gt 且 8 x y z displaystyle mathbf theta x y z lt 0 0 0 gt 三维向量 lt 1 2 0 gt 将被投影到二维向量 lt 1 2 gt e x y z displaystyle mathbf e x y z 观测者相对显示平面的位置 1 最终结果为 b x y displaystyle mathbf b x y a displaystyle mathbf a 所产生的二维投影 首先我们定义点d x y z displaystyle mathbf d x y z 作为点a displaystyle mathbf a 向摄像机坐标系所作的变换 其中摄像机坐标系由摄像机的位置c displaystyle mathbf c 和旋转8 x y z displaystyle mathbf theta x y z 所决定 该过程为 先用a displaystyle mathbf a 减去c displaystyle mathbf c 然后使用由 8 displaystyle mathbf theta 产生的旋转矩阵乘上该结果 该变换通常称为摄像机变换 注意该计算过程假设使用左手法则 2 3 d x d y d z 1 0 0 0 cos 8 x sin 8 x 0 sin 8 x cos 8 x cos 8 y 0 sin 8 y 0 1 0 sin 8 y 0 cos 8 y cos 8 z sin 8 z 0 sin 8 z cos 8 z 0 0 0 1 a x a y a z c x c y c z displaystyle begin bmatrix mathbf d x mathbf d y mathbf d z end bmatrix begin bmatrix 1 amp 0 amp 0 0 amp cos mathbf theta x amp sin mathbf theta x 0 amp sin mathbf theta x amp cos mathbf theta x end bmatrix begin bmatrix cos mathbf theta y amp 0 amp sin mathbf theta y 0 amp 1 amp 0 sin mathbf theta y amp 0 amp cos mathbf theta y end bmatrix begin bmatrix cos mathbf theta z amp sin mathbf theta z amp 0 sin mathbf theta z amp cos mathbf theta z amp 0 0 amp 0 amp 1 end bmatrix left begin bmatrix mathbf a x mathbf a y mathbf a z end bmatrix begin bmatrix mathbf c x mathbf c y mathbf c z end bmatrix right 4 或者使用以下这种非矩阵表示的形式 其中角度的正负号与矩阵表示形式不同 d x cos 8 y sin 8 z a y c y cos 8 z a x c x sin 8 y a z c z d y sin 8 x cos 8 y a z c z sin 8 y sin 8 z a y c y cos 8 z a x c x cos 8 x cos 8 z a y c y sin 8 z a x c x d z cos 8 x cos 8 y a z c z sin 8 y sin 8 z a y c y cos 8 z a x c x sin 8 x cos 8 z a y c y sin 8 z a x c x displaystyle begin array lcl d x amp amp cos theta y cdot sin theta z cdot a y c y cos theta z cdot a x c x sin theta y cdot a z c z d y amp amp sin theta x cdot cos theta y cdot a z c z sin theta y cdot sin theta z cdot a y c y cos theta z cdot a x c x cos theta x cdot cos theta z cdot a y c y sin theta z cdot a x c x d z amp amp cos theta x cdot cos theta y cdot a z c z sin theta y cdot sin theta z cdot a y c y cos theta z cdot a x c x sin theta x cdot cos theta z cdot a y c y sin theta z cdot a x c x end array 然后将变换后的该点通过以下方程投影到二维平面 此处投影平面为x y平面 有时也使用x z 5 b x d x e x e z d z b y d y e y e z d z displaystyle begin array lcl mathbf b x amp amp mathbf d x mathbf e x mathbf e z mathbf d z mathbf b y amp amp mathbf d y mathbf e y mathbf e z mathbf d z end array 或在齐次坐标系下可以表示为 f x f y f z f w 1 0 0 e x 0 1 0 e y 0 0 1 0 0 0 1 e z 0 d x d y d z 1 displaystyle begin bmatrix mathbf f x mathbf f y mathbf f z mathbf f w end bmatrix begin bmatrix 1 amp 0 amp 0 amp mathbf e x 0 amp 1 amp 0 amp mathbf e y 0 amp 0 amp 1 amp 0 0 amp 0 amp 1 mathbf e z amp 0 end bmatrix begin bmatrix mathbf d x mathbf d y mathbf d z 1 end bmatrix 和 b x f x f w b y f y f w displaystyle begin array lcl mathbf b x amp amp mathbf f x mathbf f w mathbf b y amp amp mathbf f y mathbf f w end array 观测者到显示平面的距离 e z displaystyle mathbf e z 直接关系到视野的大小 a 2 tan 1 1 e z displaystyle alpha 2 cdot tan 1 1 mathbf e z 为可视角度 这里假设屏幕的两角为 1 1 和 1 1 如果要在一些特定的显示设备上显示该二维平面 之后还要进行一些必要的剪裁和缩放操作 图示 编辑 计算三维空间中位于Ax Az的点在屏幕坐标x轴的位置 s c r e e n x c o o r d i n a t e B x m o d e l x c o o r d i n a t e A x d i s t a n c e f r o m e y e t o s c r e e n B z d i s t a n c e f r o m e y e t o p o i n t A z displaystyle screen x coordinate Bx model x coordinate Ax times frac distance from eye to screen Bz distance from eye to point Az 对于y轴同样有 s c r e e n y c o o r d i n a t e B y m o d e l y c o o r d i n a t e A y d i s t a n c e f r o m e y e t o s c r e e n B z d i s t a n c e f r o m e y e t o p o i n t A z displaystyle screen y coordinate By model y coordinate Ay times frac distance from eye to screen Bz distance from eye to point Az 其中Ax和Ay是透视转换前物体在空间中的坐标 参看 编辑计算机图形学 三维计算机图形 透视 单应性 三维投影的数学理论 投影参考文献 编辑 Ingrid Carlbom Joseph Paciorek Planar Geometric Projections and Viewing Transformations ACM Computing Surveys 1978 10 4 465 502 doi 10 1145 356744 356750 Riley K F Mathematical Methods for Physics and Engineering Cambridge University Press 2006 931 942 ISBN 0521679710 doi 10 2277 0521679710 Goldstein Herbert Classical Mechanics 2nd Edn Reading Mass Addison Wesley Pub Co 1980 146 148 ISBN 0201029189 Rotation About an Arbitrary Axis in 3 Dimensions 页面存档备份 存于互联网档案馆 Glenn Murray 2013 6 6 2014 4 23 Sonka M Hlavac V Boyle R Image Processing Analysis amp Machine Vision 2nd Edn Chapman and Hall 14 1995 ISBN 0412455706 深入阅读 编辑维基共享资源中相关的多媒体资源 三维投影Kenneth C Finney 3D Game Programming All in One Thomson Course 2004 93 2009 12 23 ISBN 159200136X 原始内容存档于2012 11 12 取自 https zh wikipedia org w index php title 三维投影 amp oldid 66485831 正交投影, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。