(接上。。。。。。)
二、齐次坐标(homogeneous coordinates)
为结合三种变换在一起形成复杂的变化,引入了该概念。
基本思想 :
将一个N维空间的问题转化到一个N + 1维空间去解决。形式上,将用一个n+1个分量的向量去表示一个N个分量向量。如二维笛卡儿直角坐标(x,y),其对应齐次坐标为(x*h,y*h,h)(h不为0,当为1时,是规格化的齐次坐标)
无穷远点:
齐次坐标的一个好处,能十分完美地表示一个N维空间中的无穷远点或区域。
即(x1,x2,…,xn,0)表示N维空间内的无穷远点或无穷远区域,而在N+1维空间内表示有限区域内的,这样可以处理N维空间无穷区域内的点时,可以把它转换为N+1维空间内有限区域内的问题。如二维无限区域内的齐次坐标表示为:(x,y,0).
三、二维几何变换的矩阵表示
//线性代数知识
1、矩阵相乘:
|X11,X12,X13| |Y11,Y12,Y13|
|X21,X22,X23| * |Y21,Y22,Y23|
|X31,X32,X33| |Y31,Y32,Y33|
等于矩阵M:
M11 = X11*Y11 + X12*Y21 + X12*Y31;
M12 = X11*Y12 + X12*Y22 + X13*Y32;
M13 = X11*Y13 + X12*Y23 + X13*Y33;
M21 = X21* Y 11+ X 22* Y 21+ X 23* Y 31;
M22 = X21* Y 12+ X 22* Y 22+ X 23* Y 32;
M23 = X21* Y 13+ X 22* Y 23+ X 23* Y 33;
M31 = X31* Y 11+ X 32* Y 21+ X 33* Y 31;
M32 = X31* Y 12+ X 32* Y 22+ X 33* Y 32;
M33 = X31* Y 13+ X 32* Y 23+ X 33* Y 33;
2、二维点(X,Y)与变换矩阵相乘后的点(X’,Y’)
所以点(X,Y)可以看成矩阵:
|X,Y,1|
|0,0,0|
|0,0,0|
//几何变换的矩阵表示
1.平移变换
2.比例变换(Scale)
3.旋转变换(rotation)
第三章 三维图形几何变换
主要用右手坐标系RHS
三维空间点P(X,Y,Z)对应的齐次坐标点:P’(X*h,Y*h,Z*h,h)
二维引入齐次坐标后,变换可以用一个3*3的变换矩阵表示。
三维引入齐次坐标后,变换可以用一个4*4的变换矩阵表示。
具体变换的矩阵计算与二维变换相似,不再鳌述
第四章 视见变换
1.世界坐标系(WC:Word Coordinates)
是用户处理自己图形时所采用的坐标系。该坐标系由用户定义
2.设备坐标系(DC:Device Coordinates)
与一个图形设备相关的坐标系,如显示屏以分辨率定义的象素为坐标单位,其原点通常在左上角。
在实际应用中,处理一个图形时,通常需要两种模型:
物理模型:用户在世界坐标系中描述
逻辑模型:在显示器呈现的物理的图形,在设备坐标系中描述
在世界坐标系中描述的图形可能非常复杂或庞大。一般在显示器上显示其局部内容,以使用户能观察其细节部分。另一方面,用户可能只对图形的某一区域感兴趣。
这个局部区域,是在世界坐标系中指定的矩形区域(称为:窗口(window)),指定这个区域为“开窗口”。
开窗口后,就可以将窗口内容显示在显示器上,
通常在屏幕上指定一个矩形区域用于显示窗口,这个矩形区域为“视口”(viewport)。
当视口固定不变,移动、放大、旋转窗口时,可以通过视口观察到图形的各个部分,起到“取景”的作用。
在开窗口时,图形可能在窗口内,外或边境上,为区分可见与不可见的过程,引入了“剪裁”(clipping).
窗口中的图形通过“视见变换”才能在视口中显示。视见变换包含如下三个基本过程:
1.平移变换
将窗口及图形一起平移,使左下角与世界坐标系原点重合
2.比例变换
将窗口及图形一起比例变换,使窗口大小与视口大小一致
3.平移变换
将视口平移到屏幕正确位置
待续。。。。。。