[数学]8三维变换与投影ppt课件_第1页
[数学]8三维变换与投影ppt课件_第2页
[数学]8三维变换与投影ppt课件_第3页
[数学]8三维变换与投影ppt课件_第4页
[数学]8三维变换与投影ppt课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、三维图形变换与投影三维图形变换与投影主要内容主要内容 三维图形的根本问题三维图形的根本问题 三维几何变换三维几何变换 平面几何投影平面几何投影 三维图形显示流程图三维察看三维图形显示流程图三维察看 - - 坐标系之间的变换坐标系之间的变换 - - 察看坐标系中的投影变换察看坐标系中的投影变换视见体视见体 - - 三维裁剪三维裁剪 - - 规范化视见体规范化视见体三维图形的根本问题三维图形的根本问题 如何将三位的物体图形在二维的显示设备上显如何将三位的物体图形在二维的显示设备上显示出来?示出来? 在三维空间中如何经过空间多边形、曲面来表示复在三维空间中如何经过空间多边形、曲面来表示复杂的物体?杂

2、的物体? 如何在图形的显示结果中反映出来物体之间或同一如何在图形的显示结果中反映出来物体之间或同一物体的不同部分之间的遮挡关系?物体的不同部分之间的遮挡关系? 如何在计算机虚拟的场景中模拟光线的传播过程以如何在计算机虚拟的场景中模拟光线的传播过程以产生逼真的、颜色分布自然的图形?产生逼真的、颜色分布自然的图形?三维几何变换三维几何变换平移与缩放平移与缩放110001000100011zyxtttzyxzyx平移平移PtttTPzyx),(缩放缩放110000000000001zyxssszyxzyxPsssSPzyx),(旋转一旋转一 11000010000cossin00sincos1zyx

3、zyx指定旋转轴和旋转角度旋指定旋转轴和旋转角度旋转角度有正负转角度有正负最简单的是绕着坐标轴的旋最简单的是绕着坐标轴的旋转:转:沿沿 z 轴轴110000cossin00sincos000011zyxzyx沿沿 x 轴轴沿沿 y 轴轴110000cos0sin00100sin0cos1zyxzyx)(zR)(yR)(xR旋转一旋转一 绕平行于坐标轴如绕平行于坐标轴如 x x 轴的旋转:轴的旋转:1 1平移使其旋转轴与平行与它的坐平移使其旋转轴与平行与它的坐标轴重合:标轴重合:Trans1Trans1;2 2对对 x x 轴完成指定的旋转:轴完成指定的旋转:RxRx;3 3平移将其旋转轴移回原

4、来的位置:平移将其旋转轴移回原来的位置:Trans2Trans2。复合变换为:复合变换为: M = Trans2 M = Trans2 * * Rx Rx * * Trans1 Trans1其中其中 Trans2 Trans2 为为Trans1 Trans1 的逆。的逆。此直线方程为:此直线方程为:x = k;y = y0;z = z0 x = k;y = y0;z = z0其中其中k k为恣意实数,为恣意实数,y0,z0y0,z0为常为常值。值。Trans1 = T ( 0.0, -y0, -z0)Trans1 = T ( 0.0, -y0, -z0)旋转一旋转一 绕恣意与坐标轴不平行的轴的

5、旋转:绕恣意与坐标轴不平行的轴的旋转:1 1平移使得旋转轴经过坐标原点:平移使得旋转轴经过坐标原点: ;2 2旋转使得旋转轴与某一个坐标轴旋转使得旋转轴与某一个坐标轴 ( z ) ( z ) 重合:重合: ;3 3绕此重合坐标轴绕此重合坐标轴 ( z ) ( z ) 进展指定旋转:进展指定旋转: ;逆旋转使得旋转轴回到原来方向:逆旋转使得旋转轴回到原来方向: ; ;逆平移使得旋转轴回到原来位置:逆平移使得旋转轴回到原来位置: 。复合变换为:复合变换为: 需求确定其中的需求确定其中的 和和 。)(zR1TR1RTRRRTMz)(11TTR旋转一旋转一 确定确定T T和和R R。恣意一条直线可以由

6、其上的两个点的坐标恣意一条直线可以由其上的两个点的坐标来表示,沿此轴的正向给定两个来表示,沿此轴的正向给定两个点:点: 。 其轴向量为:其轴向量为: 其单位向量为:其单位向量为:那么平移变换那么平移变换 就是将就是将 点移到原点位点移到原点位置。置。 1P1P2P2P),(12121212zzyyxxPPV),(|cbaVVu1P1P2PuT旋转一旋转一 R R的作用就是将矢量的作用就是将矢量 u u 与与 z z 轴重合,轴重合,此过程可以分解为两步:此过程可以分解为两步:1 1将矢量将矢量 u u 绕绕 x x 轴旋转到达轴旋转到达 xz xz 平平面:面: ;2 2然后再绕然后再绕 y

7、y 轴旋转到轴旋转到 z z 轴轴 。)(xR)(yRuxyzuu旋转一旋转一 将矢量将矢量u u沿沿x x轴旋转到轴旋转到xz xz 平面相当平面相当于将于将u u在在yzyz平面内的投影向量平面内的投影向量u u绕着绕着x x轴旋转到轴旋转到z z轴的过程。由于轴的过程。由于u u=(0,b,c)=(0,b,c),所以旋转角度由,所以旋转角度由u u与与z z轴之间的夹角决议,即轴之间的夹角决议,即又又所以所以22| |coscbddcuuuuzz其中dbsinuxyzuuxzxzbucbkjiuuuuu1000sin| | |旋转一旋转一 此时的矢量此时的矢量u u为:其为:其x x 分

8、量与分量与u u的的x x分量分量一样,其一样,其y y 分量为分量为0 0,其,其z z分量为分量为u u的的模,即模,即u u=( a, 0, d);=( a, 0, d);所以所以又又所以所以duuuuzz| | cosasinuxyzuuyzyzaudakjiuuuuu1000sin| | | 旋转一旋转一 10000/00/00001)(dcdbdbdcRx所以有:所以有:100000001000)(daadRy)()(xyRRRTRRRRRTMxyzyx)()()()()(111旋转二旋转二 得到复合矩阵得到复合矩阵 的更快的方法是利用正交矩阵的乘积依然是正交的更快的方法是利用正交

9、矩阵的乘积依然是正交矩阵。矩阵。那么有那么有 )()(xyRRR1000000)()(333231232221131211rrrrrrrrrRRRxy10011131211rrrR10101232221rrrR11001333231rrrR旋转二旋转二 将将u u 轴旋转到轴旋转到 z z 轴的变换可以经过建立一个新轴的变换可以经过建立一个新的坐标系来构造。的坐标系来构造。那么所需复合矩阵为那么所需复合矩阵为) , , (321zzzzuuuuu) , , (|321yyyxxyuuuuuuuu) , , (321xxxzyxuuuuuu1000000321321321zzzyyyxxxuuu

10、uuuuuuR四元数旋转四元数旋转 三三将复数的概念扩展到高维,就得到四元数的定义。将复数的概念扩展到高维,就得到四元数的定义。定义高维复数:定义高维复数:其中虚数项系数其中虚数项系数 以及参数以及参数 都是实数,称为标量。都是实数,称为标量。标量乘法标量乘法加法加法),(),(cbavvskcjbiasq其中cba,skjiijkjikji, 1,222满足:为实数lv llskcljbliallsql),(),()21212121212121vvsscckbbjaaissqq()(四元数旋转三四元数旋转三 四元数乘法四元数乘法四元数的平方值四元数的平方值四元数的逆四元数的逆所以有所以有22

11、22|vsvvsq),211221212121vvvsvsvvssqq (),(|121vsqq)0 , 1 (11qqqq四元数旋转四元数旋转 三三设设 u u 是沿着所选旋转轴的单位矢量,是沿着所选旋转轴的单位矢量, 是绕此轴是绕此轴的指定旋转角。那么可以定义绕过原点的此旋转轴的指定旋转角。那么可以定义绕过原点的此旋转轴对应的四元数:对应的四元数:恣意点恣意点P P 的坐标为:的坐标为:p=(x,y,z)p=(x,y,z),那么可以定义此,那么可以定义此点对应的四元数点对应的四元数那么此点绕所给旋转轴旋转后得到的点可以由四元那么此点绕所给旋转轴旋转后得到的点可以由四元数运算来实现:数运算来

12、实现:2sin,2cos),(uvsvsq其中), 0(pP 1 qPqP四元数旋转四元数旋转 三三)()(2)() , 0 ()()(2)(, 0 ()()()( ,)()(),)(,(),)(, 0)(,(221pvvpvspvvpspppvvpvspvvpsvpvsppvspsvpvvpvsppvsvspvsppvvspvsqPqP四元数旋转四元数旋转 三三假设绕假设绕z z 轴旋转那么对应的旋转坐标值为:轴旋转那么对应的旋转坐标值为:利用四元数旋转,同样有利用四元数旋转,同样有其中其中zzyxyyxxcossinsincos) 0 ,()(),0 ,(,yxpuuxypuzpu)(2s

13、in)(2sin2cos2)(2sin2cos)()(2)(2222puupupuuppvvpvspvvpsp四元数旋转三四元数旋转三 所以有所以有)(2sin)(2sin2cos2)(2sin2cos)()(2)(2222puupupuuppvvpvspvvpsp) 0 ,()(),0 ,(,yxpuuxypuzpuzzyxyyxxcossinsincos四元数旋转三四元数旋转三 四元数旋转的优点:四元数旋转的优点:1 1需求更少的存储空间;需求更少的存储空间;2 2更容易硬件实现;更容易硬件实现;其它变换其它变换 反射变换反射变换1000010000100001zRF错切变换错切变换100

14、00100010001baSHz复合变换与变换方式复合变换与变换方式 任何三维仿射变换可以表示成此五类变换的组合,任何三维仿射变换可以表示成此五类变换的组合,从而可以表示成五类矩阵的乘积方式:从而可以表示成五类矩阵的乘积方式:)(21PMMMPn两类变换方式:两类变换方式: 固定坐标系方式;固定坐标系方式; 活动坐标系方式。活动坐标系方式。复合变换与变换的方式复合变换与变换的方式 固定坐标系方式固定坐标系方式先调用的变换放在连乘式右边,后调用的变换放在连先调用的变换放在连乘式右边,后调用的变换放在连乘式左边;乘式左边;每一次变换都是相对于原始固定坐标系进展的。每一次变换都是相对于原始固定坐标系

15、进展的。活动坐标系方式活动坐标系方式- -先调用的变换放在连乘式左边,后调用的变换放在连先调用的变换放在连乘式左边,后调用的变换放在连乘式右边;乘式右边;每一次变换都是针对前面构成的新坐标系进展的;每一次变换都是针对前面构成的新坐标系进展的;更符合人的思想方式。更符合人的思想方式。第八章第八章 投影投影平面几何投影平面几何投影广义地说,投影就是将广义地说,投影就是将n n维的点变换成小于维的点变换成小于n n维的点。维的点。此处仅思索三维到二维的投影。此处仅思索三维到二维的投影。 COP投影中心;投影中心; 投影面;投影面; 投影线;投影线;平面几何投影平面几何投影投影线为直线,投影面为平面;

16、投影线为直线,投影面为平面;ABABCOP平面几何投影平面几何投影根据投影中心到投影平面的间隔不同可以分成两类投根据投影中心到投影平面的间隔不同可以分成两类投影:平行投影和透视投影。影:平行投影和透视投影。ABABCOPBAABCOP透视投影透视投影投影中心与投投影中心与投影平面之间的间隔有限;影平面之间的间隔有限;平行投影平行投影投影中心与投投影中心与投影平面之间的间隔无限;影平面之间的间隔无限;此时只需求指定投影方向,此时只需求指定投影方向,投影线与投影方向平行。投影线与投影方向平行。平行投影平行投影平行投影平行投影根据投影方向与投影平面法向之间的关系,可以分根据投影方向与投影平面法向之间

17、的关系,可以分为正投影和斜投影。为正投影和斜投影。正投影斜投影正投影由可以分成三视图和正轴侧。正投影由可以分成三视图和正轴侧。三视图三视图投影平面与某一坐标轴垂直,如以下图投影平面与某一坐标轴垂直,如以下图正视图、俯视图和侧视图。正视图、俯视图和侧视图。特点: 准确保管度量关系; 单个方向的投影不能反映三维场景的完全信息; 要获得物体的三维视觉,通常需求多个视角的投影图。平行投影平行投影正轴侧正轴侧投影平面与三个坐标轴都投影平面与三个坐标轴都不垂直。不垂直。等轴侧等轴侧投影平面的法向与三个轴投影平面的法向与三个轴的交角一样;的交角一样;正二侧正二侧投影平面的法向与某两个投影平面的法向与某两个轴

18、的交角一样;轴的交角一样;正三侧正三侧投影平面的法向与三个轴投影平面的法向与三个轴的交角都不一样;的交角都不一样;平行投影平行投影正投影变换正投影变换假设投影平面为假设投影平面为xyxy平面,那么将点平面,那么将点(x,y,z)(x,y,z)投影到点投影到点 的变换方程为:的变换方程为:z z坐标作为深度信息,仍被保管。坐标作为深度信息,仍被保管。投影矩阵为:投影矩阵为:yyxxpp)0 ,(ppyx1000000000100001parallelM平行投影平行投影斜投影变换斜投影变换假设投影平面为假设投影平面为xy xy 平面,投影方向由角平面,投影方向由角 给定,那给定,那么将点么将点(x

19、,y,z) (x,y,z) 投影到点投影到点 的变换方程为:的变换方程为:z z 坐标作为深度信息,仍被保管。坐标作为深度信息,仍被保管。sintancostanzyyzxxpp,)0 ,(ppyx)0 ,(ppyxxzy(x,y,z)(x,y,0)平行投影平行投影斜投影变换斜投影变换投影矩阵为:投影矩阵为:正投影中正投影中 ,因此正投影矩阵也可以看成上面,因此正投影矩阵也可以看成上面矩阵的特例。矩阵的特例。10000000sintan010costan001zzMparallel90平行投影平行投影透视投影透视投影透视投影透视投影 不保管物体的外形和尺寸;不保管物体的外形和尺寸; 具有三维视

20、觉效果。具有三维视觉效果。透视投影与平行投影的不同:透视投影与平行投影的不同: 在平行投影中,投影物体的在平行投影中,投影物体的大小与间隔投影平面的远近无大小与间隔投影平面的远近无关;而在透视投影中,间隔投关;而在透视投影中,间隔投影平面越远的物体投影后越小,影平面越远的物体投影后越小,反之越大。反之越大。ABABCOP平行投影将平行线不平行投影将平行线不与投影方向平行投影与投影方向平行投影为平行线;为平行线; 透视投影将与投影平面平行透视投影将与投影平面平行的平行线投影为平行线;的平行线投影为平行线;透视投影透视投影 透视投影将不与投影平面平行的平行线投影为相交于一点的透视投影将不与投影平面

21、平行的平行线投影为相交于一点的直线,相交点称为灭点;直线,相交点称为灭点;透视投影透视投影灭点可以看作灭点可以看作 三维空三维空间的无穷远点在投影间的无穷远点在投影平面上的投影点,有平面上的投影点,有无数多个灭点。无数多个灭点。平行于坐标轴的平行平行于坐标轴的平行线的灭点成为主灭点。线的灭点成为主灭点。按照主灭点的个数,按照主灭点的个数,可以分成一点透视,可以分成一点透视,二点透视和三点透视。二点透视和三点透视。透视投影透视投影透视投影变换透视投影变换投影中心在原点,投影平面投影中心在原点,投影平面为为 ,点,点 的投影点的投影点为为 ,那么有,那么有 用齐次坐标表示,有用齐次坐标表示,有dz

22、 ),(zyx),(pppzyxdzdzyydzxxppp/10/100010000100001/1zyxddzzyxzyxppp透视投影透视投影透视投影变换矩阵为:透视投影变换矩阵为:0/100010000100001dMePerspectiv1/100000000100001dMePerspectiv注:当注:当d d 区域无穷时,即为正平行区域无穷时,即为正平行投影矩阵。投影矩阵。透视投影透视投影三维察看三维察看对部分物体对部分物体建立模型描画建立模型描画在世界坐标系在世界坐标系中建立模型描画中建立模型描画将世界坐标系将世界坐标系转换为察看坐标系转换为察看坐标系将窗口描画将窗口描画转换为

23、视口描画转换为视口描画经过扫描转换经过扫描转换显示图形显示图形ModelWorldCameraScreenRaster将三维坐标投影将三维坐标投影到二维平面到二维平面Project关于视见体关于视见体进展裁剪进展裁剪Clippling坐标系之间的变换坐标系之间的变换 右图给出了两个笛卡尔坐标系。右图给出了两个笛卡尔坐标系。只需知道新的坐标系原点在旧坐标中只需知道新的坐标系原点在旧坐标中的位置,以及三个新坐标轴的单位矢的位置,以及三个新坐标轴的单位矢量,那么可以构造平移和旋转矩阵:量,那么可以构造平移和旋转矩阵:那么完好的坐标变换由复合矩阵那么完好的坐标变换由复合矩阵 给出。给出。1000100

24、010001),(000000zyxzyxTTRxyxyzz1000000321321321zzzyyyxxxuuuuuuuuuR三维图形显示过程三维图形显示过程坚持物体方位。坚持物体方位。在此显示过程中,在此显示过程中,通常是透射投影通常是透射投影假设光源在无穷假设光源在无穷远处,例如太阳光,远处,例如太阳光,思索平行投影思索平行投影视见体视见体Cameral ModelCameral ModelPositionPosition相机在世界相机在世界坐标系中所放置的位置;坐标系中所放置的位置;Look VectorLook Vector向着察向着察看物体看过去的方向;看物体看过去的方向;Up

25、DirectionUp Direction显示物显示物体的朝向;不一定与体的朝向;不一定与Look Vector Look Vector 垂直垂直objectxyz视见体视见体那么可以建立察看坐标系:那么可以建立察看坐标系:以相机所在位置为原点,以以相机所在位置为原点,以Look Look Vector Vector 为为z z 轴负向,以轴负向,以Up DirectionUp Direction在在Look Vector Look Vector 的垂直面中的投影向的垂直面中的投影向量为量为y y 轴正向,轴正向,x x 轴正方向可以经过轴正方向可以经过矢量乘积得到。矢量乘积得到。object

26、xyz视见体视见体相机具有有限的察看角度,有限的察相机具有有限的察看角度,有限的察看空间。看空间。Front clipping plane Front clipping plane 前裁剪前裁剪面;面;Back clipping planeBack clipping plane后裁剪面;后裁剪面;FrustumFrustum视见体;视见体;视见体的定义有两种方式:视见体的定义有两种方式:察看角度察看角度fovyfovy和和 Aspect Ratio Aspect Ratio;前裁剪面的四条边所对应坐标;前裁剪面的四条边所对应坐标;Frustum视见体视见体显示角度不同,显示效果也不一样。显示角

27、度不同,显示效果也不一样。视见体视见体根据显示角度的不同可以分成两类视根据显示角度的不同可以分成两类视见体,此二类视见体分别对应两类投见体,此二类视见体分别对应两类投影:平行投影和透视投影。影:平行投影和透视投影。当视角为当视角为0 0时,对应于平行投影;其时,对应于平行投影;其中正平行投影对应视见体可以经过以中正平行投影对应视见体可以经过以下参数来定义:下参数来定义: Far Distance;Far Distance; Near Distance; Near Distance; 前裁剪面中四条边境所对应的坐标:前裁剪面中四条边境所对应的坐标:Left, Right, Bottom, RightLeft, Right, Bottom, Right。视见体视见体xyz当视角为非当视角为非0 0正值,对应于透正值,对应于透视投影。视投影。它有两种定义方式:它有两种定义方式:1 1Far Distance, Near Far Distance, Near Distance, Distance, 前裁剪面四条边前裁剪面四条边境所对应的坐标境所对应的坐标Left, Left, Right, Bottom, TopRight, Bottom, Top。2 2Far Distance, Near Far Dist

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论