章节二 几何基元与变换

  1. 几何基元和变换
    • 用以描述三维形状的基本构件。
    • 2D点:用一对数值表示(x,y),也可以使用其次坐标来表示,齐次矢量可以通过可以除以最后一个元素转换为非齐次矢量。(其次坐标在进行几何变换时,为了加快运算速度,简化计算,往往使用矩阵,而在使用矩阵运算时,矩阵的乘积只能表示旋转、比例和剪切等等变换,而不能表示平移变换。因此为统一计算(使用齐次坐标在数学中的意义还要广),引入了第四个分量w,这使得原本二维坐标变成三维坐标,同理三维坐标变为四维坐标,而w称为比例因子,当w不为0时(一般设1),表示一个坐标,一个三维坐标的三个分量x,y,z用齐次坐标表示为变为x,y,z,w的四维空间,变换成三维坐标是方式是x/w,y/w,z/w,当w为0时,在数学上代表无穷远点,即并非一个具体的坐标位置,而是一个具有大小和方向的向量。从而,通过w我们就可以用同一系统表示两种不同的量。在OPENGL中,作为坐标点时,w参数为1,否则为0,如此一来,所有的几何变换和向量运算都可以用相同的矩阵乘积进行运算和变换,当一个向量和一个矩阵相乘时所得的结果也是向量。)
    • 2D直线:采用齐次坐标表达式L=(a,b,c)表示。对应的直线方程是:L=a*x+b*y+c=0;可以标准化:L=(nx,ny,d)=(n,d);|n|=1,这样子n就是一个和这条直线垂直的法向量了,d是到原点的距离。不过在无穷远的直线(0,0,1)是一个例外,它包含所有无穷远处的点。令n=(nx,ny)=(cosθ,sinθ),这种表达经常用于霍夫变换检测直线。
    • 2D圆锥曲线:用多项式齐次方程来表示。
    • 3D点:非齐次坐标(x,y,z);齐次坐标(x,y,z,w);( 齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指一个用于投影几何里的坐标系统,如同用于欧氏几何里的笛卡儿坐标一般。)
    • 3D平面:m=(a,b,c,d);对应的平面方程是a*x+b*y+c*z+d=0;同样规划化这条直线可以有m=(nx,ny,nz,d);d是到达原点的距离,其中、(0,0,0,1)代表所有无限远点的集合是不能被规范化的。令n=(cosθcosη,sinθcosη,sinη)。
    • 3D直线:使用直线的两个点表示(p,q),直线的其他点:r=(1-λ)P+λq
  2. 2D变换
    • 平移:Xnew=X+t;或者写成二维矩阵Xnew=【I t】;其中I是一个2*2的单位矩阵;写成其次的坐标变换形式即是:,
    • 旋转+平移:又称2D刚体运动。写法为Xnew=RX+t;Xnew就是下图的新X的意思。
    • 放缩旋转:又称为相似变换。
    • 仿射变换 又称透视变换或者同态变换
    • 2D变换的几种结构形式如图所示。(这里可以这样子理解相似变换就是相似三角形的变换,可以平移,旋转和等比例的改变大小;仿射变换是一束平行光的照射的影子,而投影是点光源在平面上产生的结果https://blog.csdn.net/chaolei3/article/details/79531140
  3. 3D变换
    • 和2D变换的效果其实差不多一样的,就是自由角度数会比较的多了。包括有平移,旋转+平移(刚性欧式变换,即是位置和角度发生变化),放缩旋转(放缩+旋转),仿射(新坐标统一乘上一个变换矩阵,可以看成是从一束光照过去所形成的投影,保持平行性)
    • 3D旋转(2D和3D旋转变化最大的不同是3D旋转矩阵的参数不简单,因此有以下四种旋转的表达方法。)
      • 欧拉角。
      • 轴/角(指数扭曲)旋转表示使用旋转轴和角度来表示,或者等同的用一个向量(用轴n和旋转角共同表示)。
      • 单位四元素:其表达和轴/角的表达有着密切的关系。q=(x,y,z,w);单位四元素位于单位球|q|=1上,且两个相反的四元素q和-q表示相同的旋转。单位四元素最好的一面是存在简单的代数方法,用于复合用单位四元素表示的旋转
      •  
    • 3D到2D的投影(利用投影矩阵,有正交投影和透视投影)
      • 正交投影:3D点的z坐标舍弃得到2D点的坐标,在齐次坐标表达式中:这里都只是舍弃了z分量而保留了其中的w分量,正交投影是当长焦距镜头和物体自身深度和其到相机距离比很小时的一个近似模型。
      • 透视投影:最常用的投影,点映射到平面上是通过除以z分量来实现的,这个可以写成                                   在其次型坐标的形式下,投影具有更加简单的线性形式这就相当于我们舍弃了其中的w分量,失去了距离信息。
      • 摄像机内参:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值