对一类常用的物体表面,如圆柱面、椭圆柱面、圆锥面、椭圆锥面、球面、椭球面、环面、抛物面和双曲面等,在用计算机绘制时,可以先画出它们的投影图,在投影图上分析这类曲面的形成过程,建立其参数方程,编写绘图程序,然后运行程序而得到曲面图形。
1.圆柱面
图3-1所示为圆柱面的两个投影,建立圆柱面的参数方程可按下述步骤进行。
图3-1 圆柱面方程的建立
1)确定坐标系OXYZ的投影oxyz、o′x′y′z′(一般取曲面的对称平面为坐标面)。
2)要在圆柱面上任取一点I(i,i′),先在圆柱面上取一条线C(对回转曲面而言可取纬圆),然后在C上任取一点I(i,i′),I(i,i′)点即为圆柱面上的点。
3)选取参数u,v,使v参数控制纬圆C所在平面的位置,u参数控制点I(i,i′)在纬圆C上的位置。
4)在所取坐标系中建立I(x,y,z)点的坐标与u、v参数的关系,由图3-1可知,I(x,y,z)点的坐标为
结合u、v的取值范围0≤u≤2π;0≤v≤h,式(3-4)即为圆柱面的参数方程。根据此方程设计的程序LP3-1.lsp可通过扫描二维码观看。程序运行后的图形如图3-2所示。
圆柱面也可以看成是由圆沿其所在平面的法线方向移动而形成的,按此形成方式编写一个程序来绘制圆柱面。其中圆直接调用画圆命令,圆的移动由循环语句控制,移动步长由设计者确定,步长越小越接近圆柱面。其程序LP3-2.lsp可通过扫描二维码观看。图3-3所示是由圆沿其所在平面的法线方向移动后形成的圆柱面。
LP3-1.lsp程序
图3-2 由点形成的圆柱面图
LP3-2.lsp程序
图3-3 由圆移动形成的圆柱面
圆柱面的第三种表示方法是画一条与轴平行的直素线,将此直线绕轴旋转一周即可形成圆柱面。其程序LP3-3.lsp可通过扫描二维码观看。图3-4所示是由直线绕轴旋转一周后形成的圆柱面。程序设计的关键是确定直线的端点坐标,两个端点z坐标相差圆柱的高度,x、y坐标相等,即水平面上投影积聚为点,该点位置可由参数u控制,当u参数变化时即可得到不同位置的素线,从而形成圆柱面。由此可知,这种方法对截头圆柱、开孔圆柱的程序设计比较方便。因为截头圆柱是每条直线的高度有变化,开孔圆柱是在开孔范围的直线由一条变为两条,只要建立这些变化的函数关系,即可编写相应的程序,获得它们的计算机表示。
例3-1 图3-5所示为一截头圆柱,试编写其用计算机表示的程序。
LP3-3.lsp程序
图3-4 素线转形成的圆柱面
LP3-4.lsp程序
图3-5 截头圆柱
解 其程序编写的关键是确定每条素线端点的坐标,用语句形式可写为
上面这段程序中r为圆柱半径,h为截平面与圆柱旋转轴交点的高度,af为截平面与水平面的夹角,u是控制每一条素线位置的参数。可以看出,素线下端点z1=0,上端点z2=h+rtanafcosu,说明上端点的高度随参数u而变化。具体程序LP3-4.lsp可通过扫描二维码观看。
例3-2 图3-6所示为一开孔圆柱面(忽略壁厚),试编写其用计算机表示的程序。
解 在开孔范围内每条素线上有四个点,除了最上、最下两个点外,还有两个与圆孔的交点。而最左、最右两条素线有三个点,除了最上、最下点外,还有一个圆孔的切点。显然,要用计算机表示开孔圆柱面,必须求出这些交点、切点。
LP3-5.lsp程序
图3-6 开孔圆柱面
图3-7 求交点的几何模型
由图3-7可知,一条素线上四个点的水平投影有积聚性,它们的x、y坐标相等,均为
而它们的z坐标不同,分别是
根据四个点的坐标可以确定四点的空间位置,将1、2,3、4分别连线,得到开孔处的素线,当参数u变化时即可得到开孔处的全部素线。根据上述分析,编程运行即可得到图3-6所示的开孔圆柱面的计算机表示,具体程序LP3-5.lsp可通过扫描二维码观看。
2.椭圆柱面
椭圆柱面参数方程的建立及程序设计与圆柱面类似,如图3-8所示,设椭圆柱面的长、短半轴分别为a、b,则椭圆柱面参数方程为
根据式(3-5)设计的程序LP3-6.lsp可通过扫描二维码观看,程序中第一个循环是控制椭圆的位置,第二个循环是画椭圆上的点。程序运行后的图形如图3-9a所示。
椭圆柱面也可以看成是由椭圆沿其所在平面的法线方向移动而形成的,按此形成方式编写一个程序来绘制椭圆柱面。其中椭圆直接调用画椭圆命令,椭圆的移动由循环语句控制,移动步长由设计者确定,步长越小越接近椭圆柱面。其程序LP3-7.lsp可通过扫描二维码观看。图3-9b所示是由椭圆沿其所在平面的法线方向移动后形成的椭圆柱面。
当将椭圆柱面看成是有直素线运动形成时,其程序编写的关键与圆柱面一样,也是要确定直素线端点的坐标,具体程序LP3-8a.lsp可通过扫描二维码观看,程序运行结果如图3-9c所示。
图3-8 椭圆柱面方程建立
对开孔椭圆柱面而言,其数学模型和程序编写与开孔圆柱面相仿,图3-9d所示是开孔椭圆柱面的计算机表示,其程序LP3-8b.lsp可通过扫描二维码观看。
图3-9 椭圆柱面的形成
a)由点组成的椭圆柱面 b)移动椭圆形成的椭圆柱面
图3-9 椭圆柱面的形成(续)
c)直素线运动形成的椭圆柱面 d)直素线运动形成的开孔椭圆柱面
3.斜椭圆柱面
图3-10所示为斜椭圆柱面的两个投影,建立斜椭圆柱面的参数方程可按下述步骤进行。
1)确定坐标系OXYZ的投影oxyz、o′x′y′z′。
2)要在斜椭圆柱面上任取一点I(i,i′),先在斜椭圆柱面上取一条线C(C为水平面与斜椭圆柱面的交线,也可选一直素线,图中选的是直素线),然后在C上任取一点I(i,i′),I(i,i′)点即为斜椭圆柱面上的点。
3)选取参数u、v,使v参数控制水平面的位置,u参数控制点I(i,i′)在交线C上的位置。
4)在所取坐标系中建立点I(x,y,z)的坐标与u、v参数的关系,由图3-10可知,点I(x,y,z)的坐标为
式(3-6)即为斜圆柱面的参数方程,根据此方程设计的程序LP3-9.lsp可通过扫描二维码观看,程序中第一个循环是控制圆的位置,第二个循环是画圆上的点。程序运行后的图形如图3-11所示。
图3-10 斜椭圆柱面方程建立
斜椭圆柱面也可以看成是由圆沿轴线方向移动而形成的,按此形成方式编写一个程序来绘制斜椭圆柱面。其中圆直接调用画圆命令,圆的移动由循环语句控制,移动步长由设计者确定,步长越小越接近圆柱面。所设计的程序LP3-10.lsp可通过扫描二维码观看。图3-12所示是由圆沿轴线方向移动后形成的斜椭圆柱面。
当将斜椭圆柱面看成是有直素线运动形成时,其程序编写的关键与椭圆柱面一样,也是要确定直素线端点的坐标,具体程序LP3-11.lsp可通过扫描二维码观看,程序运行结果如图3-13所示。
4.圆锥面
图3-14所示为圆锥面的两个投影,建立圆锥面的参数方程可按下述步骤进行。
1)确定坐标系OXYZ的投影oxyz、o′x′y′z′。
2)要在圆锥面上任取一点I(i,i′),先在圆锥面上取一条线C,然后在C上任取一点I(i,i′),I(i,i′)点即为圆锥面上的点。
LP3-9.lsp程序
图3-11 由点组成的斜椭圆柱面
LP3-10.lsp程序
图3-12 沿轴移动圆形成的斜椭圆柱面
LP3-11.lsp程序
图3-13 直素线运动形成的斜椭圆柱面
3)选取参数u、v,使v参数控制纬圆C所在的平面的位置,u参数控制点I(i,i′)在纬圆C上的位置。
4)在所取坐标系中建立I(x,y,z)点的坐标与u、v参数的关系,由图3-14可知,I(x,y,z)点的坐标为
式(3-7)即为圆锥面的参数方程。
图3-14 圆锥面方程建立
根据此方程设计的程序LP3-12.lsp可通过扫描二维码观看。程序中第一个循环是控制圆的位置,第二个循环是画圆上的点。程序运行后的图形如图3-15所示。
圆锥面也可以看成是由变半径圆沿其所在平面的法线方向移动而形成的,按此形成方式编写一个程序来绘制圆锥面。其中圆直接调用画圆命令,圆的移动由循环语句控制,移动步长由设计者确定,步长越小越接近圆锥面,所设计的绘图程序LP3-13.lsp可通过扫描二维码观看。图3-16所示是由变半径圆沿轴移动后形成的圆锥面。
LP3-12.lsp程序
图3-15 由点组成的圆锥面
LP3-13.lsp程序
图3-16 由圆沿轴移动形成的圆锥面
当将圆锥面看成是由直素线运动形成时,其程序编写的关键是要确定直素线端点的坐标,与圆柱面不同的是各条素线都交于锥顶,具体程序LP3-14a.lsp可通过扫描二维码观看,程序运行结果如图3-17a所示。而图3-17b所示是由直素线运动形成的圆锥台,其程序LP3-14b.lsp可通过扫描二维码观看。请读者根据程序分析其数学关系。
与截头圆柱面、开孔圆柱面一样,也可以用直素线运动的方法获得截头圆锥面、开孔圆锥面的计算机表示。如图3-17c、d所示,对应的程序LP3-14c.lsp、LP3-14d.lsp可通过扫描二维码观看。请读者从程序中反推出截头圆锥面和开孔圆锥面的数学模型建立过程,以便对程序的编写依据有更深刻的理解。
图3-17 用直素线运动形成的表面
a)由直素线运动形成的圆锥面 b)由直素线运动形成的圆锥台 c)截头圆锥面 d)开孔圆锥面
5.椭圆锥面
椭圆锥面参数方程的建立及程序设计与圆锥面类似。如图3-18所示,设椭圆锥底面的长、短半轴分别为a、b,则根据图3-18可建立椭圆锥面参数方程为
式(3-8)即为椭圆锥面的参数方程。
根据此方程设计的程序LP3-15.lsp可通过扫描二维码观看,程序中第一个循环是控制椭圆的位置,第二个循环是画椭圆上的点。程序运行后的图形如图3-19所示。
椭圆锥面也可以看成是由椭圆沿其所在平面的法线方向移动而形成的,按此形成方式编写一个程序来绘制椭圆锥面。其中,长短轴变化的椭圆直接调用画椭圆命令,椭圆的移动由循环语句控制,移动步长由设计者确定,步长越小越接近椭圆锥面,所设计的绘图程序LP3-16.lsp可通过扫描二维码观看。图3-20所示是由椭圆沿轴移动后形成的椭圆锥面。
图3-18 椭圆锥面方程建立几何模型
LP3-15.lsp程序
图3-19 由点组成的椭圆锥面
LP3-16.lsp程序
图3-20 移动椭圆形成椭圆锥面
当将椭圆锥面看成是由直素线运动形成时,其程序编写的关键是要确定直素线端点的坐标,与椭圆柱面不同的是各条素线都交于锥顶,具体程序LP3-17.lsp可通过扫描二维码观看。程序运行结果如图3-21所示。
6.斜椭圆锥面
图3-22所示为斜椭圆锥面的两个投影,建立斜椭圆锥面的参数方程可按下述步骤进行。
LP3-17.lsp程序
图3-21 移动直素线成椭圆锥面
图3-22 斜椭圆锥面方程建立
1)确定坐标系OXYZ的投影oxyz、o′x′y′z′。
2)要在斜椭圆锥面上任取一点I(i,i′),先在斜椭圆锥面上取一条线C(C为水平面与斜椭圆锥面的交线),然后在C上任取一点I(i,i′),I(i,i′)点即为斜椭圆锥面上的点。
3)选取参数u、v,使参数v控制水平面的位置,参数u控制点I(i,i′)在交线C上的位置。
4)在所取坐标系中建立点I(x,y,z)的坐标与u、v参数的关系,由图3-22可知,点I(x,y,z)的坐标为
式(3-9)即为斜圆锥面的参数方程。根据此方程设计的程序LP3-18.lsp可通过扫描二维码观看,程序中第一个循环是控制圆的位置,第二个循环是画圆上的点。程序运行后的图形如图3-23所示。
斜椭圆锥面也可以看成是由长短半轴变化的椭圆沿轴线方向移动而形成的,按此形成方式编写一个程序来绘制斜椭圆锥面。其中,椭圆直接调用画椭圆命令,椭圆的移动由循环语句控制,移动步长由设计者确定,步长越小越接近斜椭圆锥面。所设计的绘图程序LP3-19.lsp可通过扫描二维码观看。图3-24所示是由长短轴变化的椭圆沿轴移动后形成的斜椭圆锥面。
当将斜椭圆锥面看成是由直素线运动形成时,其程序编写的关键是要确定直素线端点的坐标,与斜椭圆柱面不同的是各条素线都交于锥顶,具体程序LP3-20.lsp可通过扫描二维码观看。程序运行结果如图3-25所示。
LP3-18.lsp程序
图3-23 由点形成斜椭圆锥面
LP3-19.lsp程序
图3-24 由圆移动形成的斜椭圆锥面
LP3-20.lsp程序
图3-25 由直素线运动形成的斜椭圆锥面(www.xing528.com)
7.球面
在笛卡儿坐标系中,中心在原点,半径为r的球面定义为满足下列方程的点集(x,y,z):
式中,r=OP,角度参数ϕ、θ如图3-26所示。根据式(3-10)所设计的绘图程序LP3-21.lsp可通过扫描二维码观看,程序中第一个循环是控制部分圆的位置,第二个循环是画部分圆上的点。程序运行后的图形如图3-27所示。
图3-26 参数坐标位置(r,θ,ϕ)在半径为r的球面上
LP3-21.lsp程序
图3-27 由点形成的球面
球面也可以看成是由变半径圆沿轴线方向移动而形成的,按此形成方式编写一个程序来绘制球面。其中圆直接调用画圆命令,纬圆的移动由循环语句控制,移动步长由设计者确定,步长越小越接近球面,所设计的绘图程序LP3-22.lsp可通过扫描二维码观看。图3-28是由变半径圆移动后形成的球面。
8.椭球面
椭球面可以看做是球面的扩展,其中三条相互垂直的半径具有不同的值,如图3-29所示。椭球面的参数方程为
LP3-22.lsp程序
图3-28 移动纬圆形成球面
图3-29 中心在原点,半径为a、b、c的椭球面
根据式(3-11)所设计的椭球面绘图程序LP3-23.lsp可通过扫描二维码观看,程序中第一个循环是控制椭圆的位置,第二个循环是画椭圆上的点。程序运行后的图形如图3-30所示。
当b、c等长时,椭球面成为旋转椭球面,可以看成是由变半径圆沿轴线方向移动而形成的,按此形成方式编写一个程序来绘制旋转椭球面。其中圆直接调用画圆命令,圆的移动由循环语句控制,移动步长由设计者确定,步长越小越接近旋转椭球面所设计的绘图程序LP3-24.lsp可通过扫描二维码观看,图3-31是由圆移动后形成的旋转椭球面。
LP3-23.lsp程序
图3-30 右点组成的椭球面
LP3-24.lsp程序
图3-31 旋转椭球面
9.环面
环面是轮胎状的曲面,如图3-32所示。将圆或其他二次曲线绕指定轴旋转,可以形成环面。环面上点的笛卡儿表达式可写为下列形式
式中,r是一给定的偏移值。环面的参数表示类似于椭球面,但角度ϕ的范围扩展到360°。通过使用经度角θ和纬度角ϕ,可以将环面看成是满足下列方程的解集,即
根据式(3-13)所设计环面绘图程序LP3-25.lsp可通过扫描二维码观看,程序中第一个循环是控制纬圆的位置,第二个循环是画纬圆上的点。程序运行后的图形如图3-33所示。
圆环面也可以看成是由纬圆沿轴线方向移动而形成的,按此形成方式编写一个程序来绘制圆环面。其中纬圆直接调用画圆命令,纬圆的移动由循环语句控制,移动步长由设计者确定,步长越小越接近圆环面。所设计的绘图程序LP3-26.lsp可通过扫描二维码观看,图3-34为程序运行后所画的环面。
图3-32 环面
LP3-25.lsp程序
10.超椭球面
超椭球面的笛卡儿表达式,是通过在椭球面方程中增加两个指数参数而得到的,即
对于超椭球面的方程可以将相应的参数表达式写成
图3-33 由点组成的环面
超椭球面程序LP3-27.lsp可通过扫描二维码观看。图3-35所示为程序运行后所画的部分超椭球面。
11.抛物面
抛物面可以看成是由一组平行的抛物线组成的曲面。它的绘制程序主要由内外两个循环体构成,其中内部的循环体绘制抛物线,外面的循环体指定绘制抛物线的位置,每绘制完一条抛物线,进入外面的循环体里读取新位置,按照指定位置绘制下一条抛物线,直到外循环结束。
抛物面绘图程序LP3-28.lsp可通过扫描二维码观看。图3-36所示为程序运行后所画的抛物面。
LP3-26.lsp程序
图3-34 移动纬圆而形成的圆环面
LP3-27.lsp程序
图3-35 由点组成的部分超椭球面
LP3-28.lsp程序
图3-36 由点组成的抛物面
12.单叶双曲旋转面
设直母线L与OZ轴夹角为α,最短距离为d,母线上任一点M(x,y,z)的旋转半径为MN,M点的轨迹为水平面上的圆,由图3-37可知
图中,M0F0为平行于XOZ坐标面的母线,K为直母线与喉圆的切点,于是有
所以有
x2+y2-z2tan2α=d2 (3-16a)
式(3-16a)是单叶双曲旋转面方程。方程中以z为自变量,可得一系列水平圆,单叶双曲旋转面即为这一系列水平圆的包络。根据式3-16a设计的程序LP3-29.lsp可通过扫描二维码观看。图3-37c所示是运行程序得到的单叶双曲旋转面。
LP3-29.lsp程序
图3-37 单叶双曲旋转面方程建立
图3-38b所示是直线AB绕与其交叉的OZ轴旋转而成的单叶双曲旋转面。其程序依据的数学模型来源于图3-38a,图3-38a中已知参数为d、h、α。由图3-38a可知,AB直线两端点的坐标为
LP3-30.lsp程序
图3-38 AB直线绕OZ轴旋转形成单叶双曲旋转面
a)几何模型 b)单叶双曲旋转面
根据式(3-16b)、式(3-16c)两式编写程序Lp3-30.lsp可通过扫描二维码观看,运行程序LP3-30.lsp,得到与之对应的单叶双曲旋转面,如图3-38b所示。
13.双曲抛物面
双曲抛物面的方程为
由式(3-17)可知,当用正平面截切双曲抛物面,即有y=k,得交线为一对直线,其对应方程为
当用侧平面截切双曲抛物面时,即有x=m,得交线为开口向上或向下的抛物线,其对应的方程为
图3-39a所示即表示了交线的形状,根据双曲抛物面的方程,所设计的绘图程序LP3-31.lsp可通过扫描二维码观看,图3-39b所示是程序运行后所画的双曲抛物面。
LP3-31.lsp程序
图3-39 双曲抛物面
a)双曲抛物面投影图 b)双曲抛物面直观图
14.椭圆抛物面
椭圆抛物面的方程为
根据椭圆抛物面的方程,可以设计其绘图程序LP3-32.lsp可通过扫描二维码观看。图3-40所示为程序运行后所画的椭圆抛物面。
15.正螺旋面
以螺旋线为导线的曲面为螺旋面。直母线沿螺旋线且垂直于回转轴运动就形成了正螺旋面。正螺旋面投影如图3-41所示,则其螺旋线的方程为
LP3-32.lsp程序
图3-40 椭圆抛物面
式中,r为圆柱半径;s为螺旋线的导程;θ为旋转角。
根据式(3-19)可得正圆柱螺旋面的方程为
根据正螺旋面方程可以设计其绘图程序LP3-33.lsp可通过扫描二维码观看。图3-42所示为运行程序所得到的图形。
图3-41 正螺旋面投影
LP3-33.lsp程序
图3-42 正螺旋面
16.斜螺旋面
图3-43所示为母线AB沿一圆柱螺旋线移动并与其轴线成倾角α相交的圆柱斜螺旋面。设该圆柱斜螺旋面的坐标轴如图3-43所示。当母线AB位于XOZ坐标面上时,其方程为
圆柱螺旋线方程为
式中,x0、y0、z0为螺旋线上一点P的坐标。
图3-43 圆柱斜螺旋面的几何模型
由于母线AB上任一点都形成螺旋线,因此将AB直线方程代入式(3-22)得
式(3-23)即为圆柱斜螺旋面的方程,根据此式可设计绘制圆柱斜螺旋面的程序LP3-34.lsp可通过扫描二维码观看。图3-44所示是运行程序后得到的圆柱斜螺旋面。
17.渐开线螺旋面
如图3-45所示,设一动母线MN上任意一点P(x,y,z),过点P作一平面R垂直于轴线,与螺旋线相交于A(a,a′)。由图3-45可知,P点在以半径为r的基圆、由A点展开的渐开线上。
LP3-34.lsp程序
图3-44 圆柱斜螺旋面
所以,P点的坐标形式可以写成
式中,s为导程,,,代入得
式(3-24)适应于任何垂直于导圆柱轴线的截面与动母线MN交点的坐标值,所以它是渐开线螺旋面方程。根据式(3-24)所设计的绘图程序LP3-35.lsp可通过扫描二维码观看。图3-46所示是程序运行后所画出的渐开线螺旋面。
18.自由曲面
图3-45 建立渐开线螺旋面方程的几何模型
LP3-35.lsp程序
图3-46 渐开线螺旋面
自由曲面上点的三个坐标x、y、z都是可以变化的,只要利用双层循环,即可绘制出任何曲面,思路是:把任何曲面方程转化为参数方程,x、y、z都是这个参数方程的函数,求取每个点的坐标,然后绘制出直线段,用首尾相连的直线段构成曲线,再由这些平行的曲线构成曲面。下面的曲面就是要绘制由方程所确定的曲面:z=y2-sinx。可以预先设想,这个曲面的截面应该是正弦函数,周期不变,但是位置和幅度都在y方向发生了变化。
自由曲面程序LP3-36.lsp可通过扫描二维码观看。图3-47所示为程序运行后所画的自由曲面。
LP3-36.lsp程序
图3-47 自由曲面
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。