华南理工大学《计算机绘图》A.docx
《华南理工大学《计算机绘图》A.docx》由会员分享,可在线阅读,更多相关《华南理工大学《计算机绘图》A.docx(15页珍藏版)》请在冰豆网上搜索。
华南理工大学《计算机绘图》A
姓名学号
学院专业座位号
(密封线内不答题)
……………………………………………………密………………………………………………封………………………………………线……………………………………线………………………………………
_____________________
…
诚信应考,考试作弊将带来严重后果!
华南理工大学期末考试
《计算机绘图》试卷(A卷)
注意事项:
1.考前请将密封线内填写清楚;
2.所有答案请直接答在答卷上,答在其它地方无效;
3.试卷与答卷同时提交,答卷才有效;
4.考试形式:
闭卷;
5.本试卷共六大题,满分100分,考试时间120分钟。
一、填空题。
(每空2分,共20分)
1.在VB2005中的控件坐标系中,X坐标方向为水平向________,Y坐标方向为水平向___________。
2.对世界坐标系的平移、旋转、缩放(或翻转)可以通过调用Graphics对象的相应方法来完成,它们分别为_______________、________________、________________。
3.二维图形变换中的三个基本变换分别为______变换、________变换、_______变换。
为了满足这三个基本变换都能通过矩阵乘法来实现,引入了_______坐标来表示几何元素。
4.下列代码欲完成窗体上绘制直线,试补全下划线上空缺的代码。
DimgAsGraphics
g=_________________
g.DrawLine(Pens.Black,10,10,100,100)
三、已知一四边形
,按顺序执行下列图形变换:
1.绕点P(60,40)顺时针旋转30°;
2.向左平移20,向上平移10;
3.将图形放大1.5倍。
(20分)
要求:
1.计算出总的变换矩阵,在下图画出变换后的图形。
2.以矩阵形式写出变换步骤及总变换矩阵,并指出变换矩阵的含义。
四、读懂下面的程序,并在画出程序的运行结果。
(20分)
ImportsSystem.Math
PublicClassForm1
Constpi=3.1415926
DimmypenAsPen
DimgAsGraphics
PrivateSubForm1_Paint(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.PaintEventArgs)HandlesMe.Paint
DimrAsInteger=100
DimxcAsInteger=320,ycAsInteger=240
DimiAsInteger
g=Me.CreateGraphics
mypen=NewPen(Color.Black,1)
mypen.DashStyle=Drawing2D.DashStyle.DashDot
g.DrawEllipse(mypen,220,140,200,200)
mypen.DashStyle=Drawing2D.DashStyle.Solid
mypen.Width=2
Fori=1To6
Calldraw_poly(xc+r*Cos(i*pi/3),yc-r*Sin(i*pi/3),30,6,0)
g.DrawEllipse(mypen,CInt(xc+r*Cos(i*pi/3)-30),CInt(yc-r*Sin(i*pi/3))-30,60,60)
Next
EndSub
PrivateSubdraw_poly(ByValxcAsInteger,ByValycAsInteger,ByValrAsInteger,ByValnAsInteger,ByValthAsDouble)
Dimxs,ys,xe,yeAsInteger
DimiAsInteger
DimdqAsDouble
DimnewPenAsPen
newPen=NewPen(Color.Black,2)
th=th*pi/180
dq=2*pi/n
xs=xc+r*Cos(th)
ys=yc-r*Sin(th)
Fori=1Ton
xe=xc+r*Cos(th+dq*i)
ye=yc-r*Sin(th+dq*i)
g.DrawLine(newPen,xs,ys,xe,ye)
xs=xe:
ys=ye
Next
EndSub
EndClass
五、将极坐标曲线方程ρ=6sin(4θ)转换为直角坐标下的参数方程,并编写该方程的绘图程序。
(20分)
六、根据提供的子函数,编程绘制一组正多边形,边数N=6,5,4,3。
要求每个多边形外接圆是前一多边形的内切圆。
(20分)
‘绘制多边形的子函数
PrivateSubdraw_poly(ByValxcAsInteger,ByValycAsInteger,ByValrAsInteger,ByValnAsInteger,ByValthAsDouble)
Dimxs,ys,xe,yeAsSingle
DimiAsInteger
DimdqAsDouble
DimnewPenAsPen
newPen=NewPen(Color.Black,2)
th=th*PI/180
dq=2*PI/n
xs=xc+r*Cos(th)
ys=yc-r*Sin(th)
g=Me.CreateGraphics
Fori=1Ton
xe=xc+r*Cos(th+dq*i)
ye=yc-r*Sin(th+dq*i)
g.DrawLine(newPen,xs,ys,xe,ye)
xs=xe:
ys=ye
Next
EndSub
姓名学号
学院专业座位号
(密封线内不答题)
……………………………………………………密………………………………………………封………………………………………线……………………………………线………………………………………
_____________________
…
诚信应考,考试作弊将带来严重后果!
华南理工大学期末考试
《计算机绘图》答卷
注意事项:
1.考前请将密封线内填写清楚;
2.所有答案请直接答在答卷上,答在其它地方无效;
3.试卷与答卷同时提交,答卷才有效;
4.考试形式:
闭卷;
5.本试卷共六大题,满分100分,考试时间120分钟。
题号
一
二
三
四
五
六
总分
得分
评卷人
一、填空题(每空2分,共20分)
1.①,②。
2.③,④,⑤。
3.⑥,⑦,⑧,⑨。
4.⑩。
二、图形变换题(20分)
1.画出图形变换后的图形。
2.以矩阵形式写出变换步骤及总变换矩阵,并在括号中填写变换矩阵的类型,矩阵计算数据精确到小数点后一位。
(原图形矩阵)()()()
()()(变换后图形)
四、读程序绘图题。
(20分)
五、曲线编程题。
(20分)
ImportsSystem.math
PublicClassForm1
Constpi=3.1415926
DimgAsGraphics
DimmyPenAsPen
Dimox,oyAsInteger
PrivateSubForm1_load(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.PaintEventArgs)HandlesMe.Paint
g=Me.CreateGraphics
myPen=NewPen(Color.Black,3)
ox=200:
oy=150'坐标系原点
g.DrawLine(Pens.Black,20,oy,280,oy)
g.DrawLine(Pens.Black,ox,20,ox,280)
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
EndSub
EndClass
六、看图编程题。
(20分)
ImportsSystem.math
PublicClassForm1
DimgAsGraphics
DimmyPenAsPen
Constpi=3.1415926
‘绘制多边形的子程序
PrivateSubdraw_poly(ByValxcAsInteger,ByValycAsInteger,ByValrAsInteger,ByValnAsInteger,ByValthAsDouble)
Dimxs,ys,xe,yeAsSingle
DimiAsInteger
DimdqAsDouble
DimnewPenAsPen
newPen=NewPen(Color.Black,2)
th=th*PI/180
dq=2*PI/n
xs=xc+r*Cos(th)
ys=yc-r*Sin(th)
g=Me.CreateGraphics
Fori=1Ton
xe=xc+r*Cos(th+dq*i)
ye=yc-r*Sin(th+dq*i)
g.DrawLine(newPen,xs,ys,xe,ye)
xs=xe:
ys=ye
Next
EndSub
PrivateSubForm1_Paint(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.PaintEventArgs)HandlesMe.Paint
EndSub
EndClass
《计算机绘图》试卷(A卷)-答案
一、填空题(每空2分,共20分)
1.右,下
2.TranslateTransformRotateTransformScaleTransform
3.平移,旋转,比例,齐次
4.ME.CreateGraphcis
二、图形变换题(20分)
原图平移旋转反平移平移缩放结果图形
变换矩阵5个,2分/个,共10分
结果矩阵1分
文字说明4个,1分/个,共4分
画图形5分
三、读程序画图(20分)
定位圆4分,六个小圆8分,六个正六边形8分
四、曲线编程(20分)
Dimxs,ys,xe,yeAsSingle
DimrAsDouble
DimtAsDouble
DimstepLengthAsDouble=2*pi/100
Fort=0To2*pi+stepLengthStepstepLength
r=6*Sin(4*t)
xe=20*r*Cos(t)
ye=20*r*Sin(t)
Ift=0Then
xs=xe:
ys=ye
Else
g.DrawLine(myPen,ox+xs,oy-ys,ox+xe,oy-ye)
xs=xe:
ys=ye
EndIf
Next
变量申明及定义4’
使用For循环4’
第1点处理2’
极坐标转换为直角坐标4’
画线DrawLine4’
版面2’
五、看图写程序(20分)
Dimrn,rAsSingle
DimiAsInteger
DimthAsDouble
rn=100
Calldraw_poly(150,150,100,6,0)
r=100*Cos(pi/6)
e.Graphics.DrawEllipse(Pens.Black,150-r,150-r,2*r,2*r)
Fori=5To3Step-1
Ifi=4Then
th=45
Else
th=-90
EndIf
rn=rn*Cos(pi/(i+1))
Calldraw_poly(150,150,rn,i,th)
Ifi>3Then
r=rn*Cos(pi/i)
e.Graphics.DrawEllipse(Pens.Black,150-r,150-r,2*r,2*r)
EndIf
Next
变量申明及定义4’
使用For循环4’
调用子函数4’
其他8’