资源描述:
《计算机图形学画圆方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、浙江大学城市学院实验报告课程名称计算机图形学实验工程名称画圆方法实验成绩指导老师<签名)日期一.实验目的和要求通过实验加深对Bresenham圆生成算法的理解。二.实验内容和原理(1)数据输入项<或者函数参数)为:圆心坐标与半径(2)输出圆。三.实验设计与分析Besenham圆①创建一个application,将其全部保存,②双击划圆按扭,定义参数如下:x,y,x0,y0,r,direction:integer。delta,delta1,delta2:integer。color1:integer。③编写代码如下ifself.Edit1.Text=''thenbeginApplicatio
2、n.MessageBox('圆心坐标X没有输入!','提示',0>。abort。endelseifself.Edit2.Text=''thenbeginApplication.MessageBox('圆心坐标Y没有输入!','提示',0>。abort。endelseifself.Edit3.Text=''thenbeginApplication.MessageBox('圆半径没有输入!','提示',0>。5/5abort。endelsex0:=strtoint(Edit1.Text>。y0:=strtoint(Edit2.Text>。r:=strtoint(Edit3.Text>。x:=
3、0。y:=r。delta:=2*(1-r>。color1:=clGreen。whiley>=0dobeginimage1.canvas.Pixels[x0+x,y0+y]:=color1。image1.canvas.Pixels[x0-x,y0+y]:=color1。image1.canvas.Pixels[x0+x,y0-y]:=color1。image1.canvas.Pixels[x0-x,y0-y]:=color1。ifdelta<0thenbegindelta1:=2*(delta+y>-1。ifdelta1<=0thendirection:=1elsedirection:=2
4、。endelseifdelta>0thenbegindelta2:=2*(delta-x>-1。ifdelta2<=0thendirection:=2elsedirection:=3。endelsedirection:=2。casedirectionof1:begininc(x>。delta:=delta+2*x+1。end。2:begininc(x>。dec(y>。delta:=delta+2*(x-y+1>。end。3:begindec(y>。delta:=delta+(-2*y+1>。end。5/5end。end。end。④双击演示按扭,定义参数如下:x,y,x0,y0,r,dir
5、ection:integer。delta,delta1,delta2:integer。color1:integer。⑤编写代码如下ifself.Edit1.Text=''thenbeginApplication.MessageBox('圆心坐标X没有输入!','提示',0>。abort。endelseifself.Edit2.Text=''thenbeginApplication.MessageBox('圆心坐标Y没有输入!','提示',0>。abort。endelseifself.Edit3.Text=''thenbeginApplication.MessageBox('圆半径没有输入
6、!','提示',0>。abort。endelsex0:=strtoint(Edit1.Text>。y0:=strtoint(Edit2.Text>。r:=strtoint(Edit3.Text>。x:=0。y:=r。delta:=2*(1-r>。color1:=clGreen。whiley>=0dobeginimage1.canvas.Pixels[x0+x,y0+y]:=color1。image1.canvas.Pixels[x0-x,y0+y]:=color1。image1.canvas.Pixels[x0+x,y0-y]:=color1。image1.canvas.Pixels[x
7、0-x,y0-y]:=color1。ifdelta<0thenbegin5/5delta1:=2*(delta+y>-1。ifdelta1<=0thendirection:=1elsedirection:=2。endelseifdelta>0thenbegindelta2:=2*(delta-x>-1。ifdelta2<=0thendirection:=2elsedirection:=3。endelsedirection:=2。ca