• 三维图像投影变换——透视投影


    二、投影变换

    1、平面几何投影
    投影变换就是把三维物体投射到投影面上得到二维平面图形。

    【计算机绘图是产生三维物体的二维图象,但屏幕上绘制图形的时候,必须在三维坐标系下考虑画法。】

    常用的投影法有两大类


    两种投影法的本质区别在于【透视投影】的投影中心到投影面之间的距离是【有限的】,而【平行投影】的投影中心到投影面之间的距离是【无限的】

    (1)中心(透视)投影

    透视投影是3D渲染的基本概念,也是3D程序设计的基础。


    其中的[p,q,r]能产生透视变换的效果

    1、透视基本原理

    因为一条直线段是由两点确定,多边形平面由围城该多边形的各顶点和边框线段确定,而任何立体也可以看成是由它的顶点和各棱边所构成的一个框体。也就是说,可以通过求出这些【顶点的透视投影】而获得空间【任意立体的透视投影】

    三维世界的物体可以看作是由点集{Xi}构成的,这样依次构造起点为E,并经过点Xi的射线Ri,这些射线与投影面P的交点集合便是三维世界在当前视点的透视图。


    投影线均通过投影中心,在投影中心【相对】投影面【确定的】情况下,空间的一个点在投影面上只存在【唯一一个】投影。

    2、一点透视

    先假设q≠0,p=r=0。然后对点(x,y,z)进行变换
    图70
    对其结果进行齐次化处理得:

    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轴的直线将延伸交于该点。

    【一点透视投影实例】
    假设视点(投影中心)在z轴上(z=-d处),投影面在xoy面上,则一点透视的步骤如下:
    (1)将三维物体平移到适当位置l,m,n
    (2)进行透视变换
    (3)最后,为了绘制方便,向xoy平面作正投影变换,将结果变换到xoy平面上。
    三维物体中任何一点(x,y,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处。


    【二点透视投影图的生成实例】
    (1)将物体平移到适当位置l,m,n
    (2)将物体绕y轴旋转θ角
    (3)进行透视变换
    (4)最后向xoy面做正投影,即得二点透视图

    变换矩阵形式为:


    【三点透视投影图的生成实例】
    (1)将物体平移到适当位置
    (2)将物体绕y轴旋转θ角
    (3)再绕x轴旋转α角
    (4)进行透视变换
    (5)最后向xoy面做正投影,即得三点透视图

    变换矩阵形式为:


    4、生成透视投影图的方法


    假定投影中心在z轴上(z=-d处)就是点C(0,0,-d),投影面在面xoy上,与z轴垂直,现在求空间一点p(x,y,z)的透视投影p'(x',y',z')点的坐标。

    三角形ABC和A'OC、APC和AP'C相似,可知:
    x'/x=y'/y=d/(d+z) ——>x'=x/(1+(z/d)),y'=y/(1+(z/d)),z'=0
    ——>(1)透视坐标与z值成反比,即z值越大,透视坐标值越小
             (2)d的取值不同,可以对形成的透视图有放大和缩小的功能,当值较  大时,形成的透视图变大,反之缩小。

    变换过程写为变换矩阵形式为:

    然后再乘以像投影面投影的变换矩阵,就得到了点在画面上的投影

    由上式可以看出【透视投影的特性:透视缩小效应】。
    三维物体透视投影的【大小与物体到投影中心的距离成反比】,即透视缩小效应。这种效应所产生的视觉效果十分类似于照相系统和人的视觉系统。
    若投影中心在无穷远处,则1/d→0,上式变为平行投影。

    【透视投影特点】
    物体的投影视图由计算投影线与观察平面之交点而得。
    透视投影生成【真实感试图】【不保持相关比例】
    透视投影比轴测图更富有立体感和真实感
    【透视投影图】是用【中心投影法】形成的,【视点在有限远处】

  • 相关阅读:
    open-falcon实现邮件报警
    open-falcon监控Flume
    Ubuntu下安装open-falcon-v0.2.1
    Python学习笔记——发邮件
    Flume的监控参数
    Ubuntu下安装Kafka Manager
    Ubuntu系统监控indicator-sysmonitor
    kafka性能测试
    Ubuntu下安装sbt
    Ubuntu安装shadow$ocks-libev
  • 原文地址:https://www.cnblogs.com/Penglimei/p/9750390.html
Copyright © 2020-2023  润新知