计算机图形学实验报告_12.docx
《计算机图形学实验报告_12.docx》由会员分享,可在线阅读,更多相关《计算机图形学实验报告_12.docx(29页珍藏版)》请在第一文库网上搜索。
1、计算机图形学实验报告-k实验题目:利用计算机编程语言绘制图形,主要实现以下内容:(1)、中点算法生成任意斜率直线,并设置线型线宽。(2)、中点算法生成圆(3)、中点算法生成椭圆(4)、扫描算法实现任意多边形填充(5)COhen_Suther1and裁剪(6)、自由曲线与曲面的绘制(7)、二维图形变换(8)、三视图变换二、系统分析与设计本实验采用C语言编程,运行环境为TurboC;三、算法思想及程序实现1、中点算法生成任意斜率直线,并设置线型线宽。(1).算法思想假定直线斜率k在01之间(k的其它取值可以类似处理),当前象素点为QXmy),则下一个象素点有两种可选择点A(耳+1,%)或R(4+1
2、,%+1)。若片与己的中点(4+1,%+0.5)称为M。为理想直线与方4+1垂线的交点。当M在。的下方时,则取己应为下一个象素点;当在O的上方时,则取A为下一个象素点。这就是中点画线法的基本原理。下面讨论中点画线法的实现。过点(%,%)、(小,必)的直线段的方程式为F(x,y)=a-f-by-f-c=O,其中,a=yfyx,b=xx0tc=xQy-XiyQf欲判断中点在0点的上方还是下方,只要把V代入/(x,y),并判断它的符号即可。为此,我们构造判别式:d=FUf)=F(x计1+0.5)=a(4+1)+6(%+0.5)+c当水O时,材在(。点)下方,取鸟为下一个象素;当力O时,材在(。点)上
3、方,取R为下一个象素;当少0时,选片或K均可,约定取A为下一个象素;注意到d是心力的线性函数,可采用增量计算,提高运算效率。若当前象素处于0情况,则取正右方象素A(%,+1,%),要判下一个象素位置,应计算d=尸(4+2,%+0.5)=a(%+2)+6(%+0.5)=*3,增量为外若水0时,则取右上方象素冏(3+1,Do要判断再下一象素,则要计算F(X注2,+1.5)=a(3+2)+b(%+15)+GAa+b,增量为a+瓦画线从(岗,外)开始,d的初值=7(+1,%+0.5)=尸(加,%)+a+0.56,因F5%)=0,所以d=a+0.5瓦由于我们使用的只是d的符号,而且d的增量都是整数,只是
4、初始值包含小数。因此,我们可以用2d代替d来摆脱小数。(2)程序实现voidputpixe1s(intx,inty,intco1or,intn)inti,j;for(i=-n2;i=n2;i+)for(j=-n/2;j=n/2;j+)putpixe1(x+j,y+i,co1or);voidMidpoint1ine(intx,inty,intx1,inty1,intco1or,intn)(inta,b,dx,dy,d,x,y,incrP1,incrP2;if(x=x1)(if(yy1)for(y=y;y=y1;y一)putpixe1(x,y,co1or);)e1seif(xx1)(if(yy1)
5、(dy-y1-y;dx-x1-;d=d-2*dy;incrP1=-2*dy;incrP2=2*(d-dy);x=x;y=y;putpixe1s(x,y,co1or,n);whi1e(xx1)(if(d0)y+;d+=incrP2je1sed+=incrP1;x+;putpixe1s(x,y,co1or,n);)e1se(dy-y1-y;dx=x1-;d=-2*dy-dx;incrP1=-2*(dx+dy);incrP2=-2*dy;x-x;y-y;putpixe1s(x,y,co1or,n);whi1e(x0)y;d+=incrP1;e1sed+=incrP2;x+;putpixe1s(x,y
6、,co1or,n);)e1seif(xx1)if(yy1)dy=yy1;dx=xx1;d=-2*dy-dx;incrP1=-2*(dx+dy);incrP2=-2*dy;=1;y-y1;putpixe1s(x,y,co1or,n);whi1e(xO)y一;d=incrP1;e1sed+=incrP2;x+;putpixe1s(x,y,co1or,n);)e1se(dy-y-y1;dx-x-x1;d-dx-2*dy;incrP1=-2*dy;incrP2=2*(d-dy);x=x1;y=y1;putpixe1s(x,y,co1or,n);whi1e(xx)if(d0,对于圆内的点尸(x,y)0O
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 实验 报告 _12