1 >基本概念
在计算机图形软件中所采用笛卡尔(cartesian)直角三维坐标系统,按照z轴方向的不同有两种形式:
1右手系统:当用右手握住z轴时,大姆指指向z轴的正方向(图3.20(a)),其余四个手指从x轴到y轴形成一个弧。
2左手系统:当用左手握住z轴时,大姆指指向z轴的正方向(图3.20(b)));其余四个手指从x轴到y轴形成一个弧。
在三维坐标系统中,物体上的每一点都以三个分量(x,y,z)描述,这样的物体称为三维物体。要想将一个三维物体描画在一个二维的平面,如纸面,荧光屏面上,必须对三维物体进行投影。投影(project)是一种使三维对象映射为二维对象的变换。它可描述为:
project(object(x,y,z))→object(x′,y′)
投影的要素除投影对象,投影面外,还有投影线。按照投影线角度的不同,有两种基本投影方法:
1平行投影(parallel projection)。它使用一组平行投影将三维对象投影到投影平面上去(图3.21(a))。
2透视投影(perspective projection)。它使用一组由投影中心产生的放射投影线,将三维对象投影到投影平面上去。
在图3.21中,F为投影平面;p1p2为三维直线;p′,p′是p1p2在F上的投影;虚线显示投影线;o是投影中心。
由平行投影方法表现三维对象的图,称为正视图和轴测图,由透视投影方法表现三维对象的图,称为透视图。在以下几节的讨论中,假设投影面与xoy面重合,即在投影面上z=0。
2 >平行投影变换
按照标准线与投影面的交角不同,平行投影分为两类:正交平行投影和斜交平行投影。
1正交平行投影(orthographic P.P.)的投影线与投影平面成90°角。将一个三维点(x,y,z)用正交平行投影法投影平面xoy上,得到一个二维点(xp,yp)。这种变换,可以由正交平行交换公式来计算,它为
xp=x
yp=y
zp=0
同样,也可以将三维物体正交平行投影于xoz和yoz平面上,分别获平视与侧视图。设计中常用正交平行投影来产生三视图称为正视图。它们具有x,y方向易于测量的特点,因此作为主要的工程施工图纸。
2斜交平行投影(oblique P.P.)的投影线与投影面成α交角。图3.21示出一个三维点(x,y,z)以斜交平行投影方法投影在投影面上,形成投影坐标xp,yp的情况。其中投影线与投影面的夹角为α,交点a离开正交投影与投影面的交点b的距离为L;L与x轴之夹角为φ。斜交投影变换的公式为:
xp=x+Lcosφ
yp=y+Lwinφ
由图3.21可知,L与α具有如下关系:
tgα=z/L
由此可知,当α一定时,L与z成比例。令L1=L/z,即z=1时的L之长。则上式改写为:
xp=x+z(L1·cosφ)
yp=y+z(L1·sinφ)
zp=0
它的矩阵运算式为:
[xp yp z1 1]=[x y z 1]
上式中的L1与φ是任意斜交平行投影重要的显示参数。它们的物理意义由图3.23可知。φ控制与z轴平行的线的投影的方向。L1则控制投影的长度。在工程制图中,经常选择一些兼有美观及绘图方便的φ与L1之值来投影。常用值有:
1)φ=45°或φ=30°,此时既美观,绘图也方便。
2)L1=1,即L=z(tgα=1,α=45°)此时可以在投影图上直接量出z的大小。
3)L1=0.5,即z=2L(tgα=2,α=634°)此时图形比较美观,z值也较易算出。
斜交平行投影也称轴测投影,所获的图称轴测图。
3 >透视投影变换
在讨论透视投影变换时,投影中心设在z轴的负轴上。投影中心c到位于投影平面上的坐标原点o之距为d。图3.24这些设定是为了简化透视变换的计算。
为求透视投影变换公式,先列出直线PC的参数方程:
x′=x-xu
y′=x-yu
z′=z-(z+d)u
其中参数u的变化范围在0~1之间。当u=0地,(x′,y′z,′)等于(x,y,z),即p点;当u=1时,(x′,y′,z′)等于(0,0,-d),即c点,因此,u值表示直线pc上的位置。直线pc与投影平面
xoy之交点处z′=0,即u=z/(z+d)。将u值代入另两个参数方程,便得透视投影变换公式:
xp=x·d/(z+d)
yp=y·d/(z+d)
zp=0
矩阵运算的形式为:
[xp yp zp 1]=[x y z 1]