您好,欢迎访问三七文档
习题10(绘图)一、选择题1.下面哪一类对象具有绘图方法:(A)Image(B)Line(C)PictureBox(D)Frame2.下列窗体的方法中,哪一个不能画出实际内容:(A)Line(B)Pset(C)Circle(D)Point3.如果在图片框上使用绘图方法画一个圆,则图片框的属性中,哪个不会对此圆的外观产生影响:(A)BackColor(B)ForeColor(C)DrawWidth(D)DrawStyle4.如果用长整数&H00FF0000&来表示颜色,则此颜色为:(A)红色(B)黄色(C)蓝色(D)绿色5.下列哪一条语句肯定会引起语法错误:(A)Printint1,Tab(10),int2,(B)Printint1;int3;(C)Printint1,Spc(10);int2(D)Printint1,int2.6.调用一次Circle方法,不能画出下面哪个图形:(A)圆弧(B)椭圆弧(C)扇形(D)螺旋线二、判断题1.使用长整型数表示的颜色数比使用RGB函数返回的颜色数多。2.文本框控件已具备了处理键盘输入的能力,所以当在文本框中进行键盘输入时不会引发任何键盘事件。3.窗体和图片框的绘图方法所绘制的图形的外观会受对象某些属性的影响。4.VisualBasic提供的几种标准坐标系统的原点都是在绘图区域的左上角,如果要把坐标原点放在其他位置,则必须使用自定义坐标系统。三、填空题读下列程序,当单击窗体时,窗体上显示的第一行内容是(1),第二行是(2)。1PrivateSubForm_Click()2DimiAsInteger,jAsInteger3DimmAsInteger,nAsInteger4Dima()AsInteger5Callarry(a)6n=UBound(a,1):m=UBound(a,2)7Fori=1Tom8Forj=1Ton9Printa(i,j)10Nextj11Print12Next13EndSub1415PrivateSubarry(b()AsInteger)16DimiAsInteger,jAsInteger,kAsInteger17ReDimb(3,3)18Fori=1To319Forj=1To320b(i,j)=i*10+j21Next22Next23EndSub四、编程题1.在窗体上绘制曲线5.0sinxxy;根据曲线预估一个粗略解,分别使用二分迭代法与牛顿迭代法求方程05.0sinxx的最小正根(精度为10-6)。2.图10.14为李萨如曲线,其方程如下,编程在窗体上绘制此曲线。taytax3sin2sin(其中a0)3.当沿着一个半径为R1的虚拟圆周,使用半径R2画圆(圆心均匀分存于虚拟圆周上),可以得到如图10.15的三种图形。三种图形的条件分别是:(a)R1R2;(b)R1=R2;(c)R1R2。试编程绘制这些图形。4.编写程序在窗体上绘制如图10.16所示的螺旋线,要求用18条线段填满整个窗体。图10.14李萨如图形(a)(b)(c)图10.15画圆图10.16螺旋线5.绘制“分形”图形。如图10.17(a)所示,一条直线段ab,由点c和d三等分,去掉cd段。在线段上方有一点e,与c、d构成等边三角形,连接ce、ed,形成图10.17(b)所示的图形。这个图形由四条线段组成,如果对其中每条线段再进行对ab同样的动作,会产生图10.17(c)所示的图形。这样一直做下去,最后得到类似于图10.18所示的图形。人们发现了很多类似这样有趣的问题,并且给这些图形取名为:“分形”(Fractal),现在竟然形成了一个专门的学科:“分形图形学”,还用来研究云彩、雨雪的形成过程。编程在窗体上绘制如图10.18所示的图形。6.使用递归过程绘制如图10.19所示的“全息”图形。图10.19“全息”图形ababcdeabced(a)(b)(c)图10.17生成分形图10.18显示分形图形参考答案一、选择题1.C2.D3.A4.C5.D6.D二、判断题1.×2.×3.√4.√三、填空题(1)11(2)12四、编程题1.最小正根为0.7408413(程序略,参考例5.21、5.22)。2.1PrivateSubForm_Click()2Width=40003Height=40004Dimsng1AsSingle5Line(0,1800)-(ScaleWidth,1800)6Line(1800,0)-(1800,ScaleHeight)7Forsng1=0To6.3Step0.0028PSet(1800+1500*Sin(2*sng1),1800+1500*Cos(3*sng1))9Next10EndSub3.1PrivateSubForm_Click()2Dimsng1AsSingle3Dimr1AsInteger4Dimr2AsInteger5r1=8006r2=12007'r1=10008'r2=10009'r1=120010'r2=80011Forsng1=0To6.28Step0.1512Circle(ScaleWidth/2+Cos(sng1)*r1,ScaleHeight/2+_13Sin(sng1)*r1),r214Next15EndSub4.1DimintDirect(0To3)AsInteger'此数组决定画线方向2Dimint1AsInteger3intDirect(0)=1:intDirect(1)=04intDirect(2)=-1:intDirect(3)=05CurrentX=ScaleWidth/2:CurrentY=ScaleHeight/2'画线的起点坐标6Forint1=1To187Line-Step(ScaleWidth/20*int1*intDirect((int1-1)Mod4),_8ScaleHeight/20*int1*intDirect(int1Mod4))9Next5.1ConstPI=3.141592PrivateSubcmdFractal_Click()3ScaleTop=504ScaleLeft=05ScaleWidth=1006ScaleHeight=-507CallFractal(0,10,100,10)8EndSub910SubFractal(aXAsSingle,aYAsSingle,bXAsSingle,bYAsSingle)11If(bX-aX)*(bX-aX)+(bY-aY)*(bY-aY)10Then12Line(aX,aY)-(bX,bY)13Else14DimcXAsSingle,cYAsSingle15DimdXAsSingle,dYAsSingle16DimeXAsSingle,eYAsSingle17DimlAsSingle18DimalphaAsSingle19cX=aX+(bX-aX)/320cY=aY+(bY-aY)/321eX=bX-(bX-aX)/322eY=bY-(bY-aY)/323CallFractal(aX,aY,cX,cY)24CallFractal(eX,eY,bX,bY)25l=Sqr((eX-cX)*(eX-cX)+(eY-cY)*(eY-cY))26alpha=Atn((eY-cY)/(eX-cX))27If(alpha=0And(eX-cX)0)Or(alpha=0And_28(eX-cX)0)Then29alpha=alpha+PI30EndIf31dY=cY+Sin(alpha+PI/3)*l32dX=cX+Cos(alpha+PI/3)*l33CallFractal(cX,cY,dX,dY)'34CallFractal(dX,dY,eX,eY)35EndIf36EndSub6.1ConstaAsSingle=1.22PrivateSubForm_Click()3Width=80004Height=80005Line(ScaleWidth/3,ScaleWidth/3)-(ScaleWidth*2/3,_6ScaleWidth*2/3),,B7DrawRect1,ScaleWidth/2+ScaleWidth/6+_8ScaleWidth/18*a,ScaleWidth/2,ScaleWidth/9*a9DrawRect2,ScaleWidth/2,ScaleWidth/2-ScaleWidth/6-_10ScaleWidth/18*a,ScaleWidth/9*a11DrawRect3,ScaleWidth/2-ScaleWidth/6–_12ScaleWidth/18*a,ScaleWidth/2,ScaleWidth/9*a13DrawRect4,ScaleWidth/2,ScaleWidth/2+ScaleWidth/6+_14ScaleWidth/18*a,ScaleWidth/9*a15EndSub1617PrivateSubDrawRect(DirectAsInteger,XAsInteger,_18YAsInteger,LAsInteger)19IfL100Then20Line(X-L/2,Y-L/2)-(X+L/2,Y+L/2),,B21Else22Line(X-L/2,Y-L/2)-(X+L/2,Y+L/2),,B23SelectCaseDirect24Case125DrawRect1,X+L/2+L/6*a,Y,L/3*a26DrawRect2,X,Y-L/2-L/6*a,L/3*a27DrawRect4,X,Y+L/2+L/6*a,L/3*a28Case229DrawRect1,X+L/2+L/6*a,Y,L/3*a30DrawRect2,X,Y-L/2-L/6*a,L/3*a31DrawRect3,X-L/2-L/6*a,Y,L/3*a32Case333DrawRect2,X,Y-L/2-L/6*a,L/3*a34DrawRect3,X-L/2-L/6*a,Y,L/3*a35DrawRect4,X,Y+L/2+L/6*a,L/3*a36Case437DrawRect1,X+L/2+L/6*a,Y,L/3*a38DrawRect3,X-L/2-L/6*a,Y,L/3*a39DrawRect4,X,Y+L/2+L/6*a,L/3*a40EndSelect41EndIf42EndSub
本文标题:第10章绘图
链接地址:https://www.777doc.com/doc-2241744 .html