1 / 29
文档名称:

计算机图形学实验报告.doc

格式:doc   页数:29页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机图形学实验报告.doc

上传人:yixingmaoj 2016/7/11 文件大小:0 KB

下载得到文件列表

计算机图形学实验报告.doc

文档介绍

文档介绍:计算机图形学实验报告计算机 072 070814082 周蔓 1 计算机图形学实验报告计算机图形学实验报告一、一、实验题目: 实验题目: 利用计算机编程语言绘制图形,主要实现以下内容: 利用计算机编程语言绘制图形,主要实现以下内容: ( (1 1) )、中点算法生成任意斜率直线,并设置线型线宽。、中点算法生成任意斜率直线,并设置线型线宽。( (2 2) )、中点算法生成圆、中点算法生成圆( (3 3) )、中点算法生成椭圆、中点算法生成椭圆( (4 4) )、扫描算法实现任意多边形填充、扫描算法实现任意多边形填充( (5 5) )、、Cohen_Sutherland Cohen_Sutherland 裁剪裁剪( (6 6) )、自由曲线与曲面的绘制、自由曲线与曲面的绘制( (7 7) )、二维图形变换、二维图形变换( (8 8) )、三视图变换、三视图变换二、系统分析与设计二、系统分析与设计本实验采用本实验采用 C C语言编程,运行环境为语言编程,运行环境为 TurboC; TurboC; 三、算法思想及程序实现三、算法思想及程序实现 1 1 、中点算法生成任意斜率直线,并设置线型线宽。、中点算法生成任意斜率直线,并设置线型线宽。(1). 算法思想假定直线斜率 k在0~1 之间(k的其它取值可以类似处理),当前象素点为(x p,y p),则下一个象素点有两种可选择点 P 1(x p+1, y p)或P 2(x p+1, y p+1)。若 P 1与P 2的中点( x p+1, y p+ )称为 M,Q为理想直线与 x=x p+1垂线的交点。当 M 在Q的下方时,则取 P 2应为下一个象素点;当 M在Q的上方时,则取 P 1为下一个象素点。这就是中点画线法的基本原理。下面讨论中点画线法的实现。过点(x 0,y 0)、(x 1,y 1)的直线段 L的方程式为 F(x,y)=ax+by+c= 0,其中, a=y 0-y 1,b=x 1-x 0,c=x 0y 1-x 1y 0,欲判断中点 M在Q 点的上方还是下方,只要把 M代入 F(x,y),并判断它的符号即可。为此,我们构造判别式:d=F(M)=F(x p+1, y p+)= a(x p+1)+ b(y p+)+ c 当d<0时, M在L(Q点)下方,取 P 2为下一个象素; 当d>0时, M在L(Q点)上方,取 P 1为下一个象素; 当d=0时,选 P 1或P 2均可,约定取 P 1为下一个象素; 注意到 d是x p,y p的线性函数,可采用增量计算,提高运算效率。计算机图形学实验报告计算机 072 070814082 周蔓 2 若当前象素处于 d30情况,则取正右方象素 P 1(x p+1, y p),要判下一个象素位置, 应计算 d 1=F(x p+2, y p+)= a(x p+2)+ b(y p+)= d+a,增量为 a。若d<0时,则取右上方象素 P 2(x p+1, y p+1) 。要判断再下一象素,则要计算 d 2= F(x p+2, y p+)= a(x p+2)+ b(y p+)+ c=d+a+b,增量为 a+b。画线从(x 0,y 0)开始, d的初值 d 0=F(x 0+1, y 0+)= F(x 0,y 0)+a+ b,因F(x 0,y 0)=0 ,所以 d 0=a+ b。由于我们使用的只是 d的符号,而且 d的增量都是整数,只是初始值包含小数。因此,我们可以用 2d代替 d来摆脱小数。(2 )程序实现 void putpixels(int x,int y,int color,int n) {int i,j; for(i=-n/2;i<=n/2;i++) for(j=-n/2;j<=n/2;j++) putpixel(x+j,y+i,color); }void Midpointline(int x0,int y0,int x1,int y1,int color,int n) {int a,b,dx,dy,d,x,y,incrP1,incrP2; if(x0==x1) {if(y0<y1) for(y=y0;y<=y1;y++) putpixel(x0,y,color); else for(y=y0;y>=y1;y--) putpixel(x0,y,color); }else if(x0<x1) {if(y0<y1) {dy=y1-y0; dx=x1-x0; d=dx-2*dy; 计算机图形学实验报告计算机 072 070814082 周蔓 3 incrP1 =-2*dy; incrP2 =2*(dx-dy); x=x0; y=y0; putpixels(x,y,color,n); while (x<

最近更新

云南省南涧彝族自治县《一级建造师之一建公路.. 54页

云南省华宁县2024《一级建造师之一建公路工程.. 54页

云南省元谋县2024《一级建造师之一建公路工程.. 55页

基于非饱和土理论的路基回弹模量研究的开题报.. 3页

云南省东川区2024年《一级建造师之一建公路工.. 54页

室内装修合同书范文 6页

上海市奉贤区2023-2024年《一级建造师之一建公.. 54页

秋季运动会演讲稿500字(31篇) 45页

2024青海省玛沁县《一级建造师之一建公路工程.. 55页

基于粒子群优化模糊C均值聚类算法的研究与应用.. 3页

2024重庆市秀山土家族苗族自治县《一级建造师.. 55页

2024辽宁省振兴区《一级建造师之一建公路工程.. 54页

2024辽宁省《一级建造师之一建公路工程实务》.. 55页

2024年苏教版二年级下册数学暑假练习题精选(提.. 4页

2024甘肃省秦安县《一级建造师之一建公路工程.. 55页

客服精神团队口号 3页

2024湖南省鼎城区《一级建造师之一建公路工程.. 55页

基于新预条件子作用下的迭代法的收敛性分析的.. 3页

2024湖南省《一级建造师之一建公路工程实务》.. 55页

2024浙江省嘉善县《一级建造师之一建公路工程.. 55页

呼吸内科一科一品优质护理汇报 30页

公园调研实习 8页

《战略财务管理》 64页

混凝土拌合水PPT课件 45页

地盘真经 弥勒龙华正册真经 6页

检1-土建与精装交接检查表 3页

六祖大师法宝坛经(元 宗宝 编) 31页

小学数学教学论 10页

幼儿心理学一二章试题 2页

2006年公务员工资制度改革方案实施办法 7页