复旦大学:《计算机图形学》课后习题答案_4

第四章:P215 1、将中点画线算法推广以便能画出任意斜率的直线 算法设计: (1)输入直线的起点坐标P(X,yo)和终点坐标P1Xx1y) (2)定义直线当前点坐标ⅹ和y,定义中点偏差判别式d、直线斜率k、像素点颜色 (3)X=x0,y=yo计算d=0.5-kk=(y1yo)/(x1-×),rgb=RGB=(0,0255) (4)绘制点(xy),判断d的符号,若d<0,则x,y)更新为(x+1,y+1),d更新为d+1-k, 否则Xx,y)更新为(x+1,y),d更新为d-k (5)如果当前点ⅹ小于(X1,重复步骤(4),否则结束。 程序主要代码 MidPointLine(Xo, yo, x1, y1,color) int a, b, delta1, delta2, d, x,y: d=2*a-b; delta1=2a: delta2=2(a+b) y= yo if(a<b) drawpixel(x, y, color): drawpixel(y, x, color) If (d<O) X++ y d+= delta2 Else D+=delta1 Putpⅸe(x, y, color)
第四章:P215 1、将中点画线算法推广以便能画出任意斜率的直线 算法设计: (1) 输入直线的起点坐标 P0(x0,y0)和终点坐标 P1(x1,y1). (2) 定义直线当前点坐标 x 和 y,定义中点偏差判别式 d、直线斜率 k、像素点颜色 rgb (3) x= x0,y= y0 计算 d=0.5-k,k=( y1-y0)/(x1-x0), rgb=RGB=(0,0,255). (4) 绘制点(x,y),判断 d 的符号,若 d x1) { If (d<0) { x++; y++; d+ = delta2; } Else { X++; D+=delta1; } Putpixel(x,y,color); }

While(X=0) +1; 2*d
Else While (x=0) { y = y + 1; e = e – 2 * dy; } } }

4、试编写按逆时针方向生成第二个8分圆的中点算法 中点画圆法 0,R) 初值 (R/√2,R/√2) 算法设计: (1)输入圆的半径 (2)定义圆当前点坐标x和y、中点偏差判别式d、像素点颜色rgb (3)计算d=125Rx=0y=Rrgb=RGB=(00255) (4)绘制点(x,y),及其在八分圆中的另外7个对称点‘ (5)判断d的符号,若d<0,则(X,y)更新为x+1,y),d更新为d+2x+3,否则(x,y)更新为(x+1y-1) d更新为d+2(x-y)+5 (6)当x小于等于y,重复步骤(4)和(5),否则结束 Midpointcircle(r, color) int r. color float x, y; float d: y-r d=1.25-r/1.414 drawpixel(, y, color { if (d<O)
4、试编写按逆时针方向生成第二个 8 分圆的中点算法 算法设计: (1) 输入圆的半径 (2) 定义圆当前点坐标 x 和 y、中点偏差判别式 d、像素点颜色 rgb (3) 计算 d=1.25-R,x=0,y=R, rgb=RGB=(0,0,255). (4) 绘制点(x, y),及其在八分圆中的另外 7 个对称点‘ (5) 判断 d 的符号,若 d<0,则(x, y)更新为(x+1,y),d 更新为 d+2x+3,否则(x, y)更新为(x+1,y-1), d 更新为 d+2(x-y)+5. (6) 当 x 小于等于 y,重复步骤(4)和(5),否则结束。 MidpointCircle(r,color) int r, color; { float x,y; float d; x=0; y=r; d=1.25 –r/1.414; drawpixel(x, y, color); while (x<y) { if (d<0) {

d+=2*x+3 X++ e⊥se d+=5+2*(x-y) drawpixel(x, y, color) 5、假设圆的圆心不在原点,试编写算法对整个圆进行扫描转换 算法设计 (1)输入圆的半径r,圆心坐标为(xc,yc) (2)定义圆当前点坐标x和y、中点偏差判别式d、像素点颜色rgb (3)计算d=125Rx=0y=Rrgb=RGB=(0,0255) (4)绘制点(x+xc,y+yc),及其在八分圆中的另外7个对称点 (5)判断d的符号,若d=0) drawpixel (x, y, color if (delta0)
d+=2*x+3; x++; } else { d+=5+2*(x-y); x++; y--; } drawpixel(x,y,color); } } 5、假设圆的圆心不在原点,试编写算法对整个圆进行扫描转换 算法设计: (1) 输入圆的半径 r, 圆心坐标为(xc,yc) (2) 定义圆当前点坐标 x 和 y、中点偏差判别式 d、像素点颜色 rgb (3) 计算 d=1.25-R,x=0,y=R, rgb=RGB=(0,0,255). (4) 绘制点(x+xc, y+yc),及其在八分圆中的另外 7 个对称点‘ (5) 判断 d 的符号,若 d=0) { drawpixel(x,y,color); if (delta0) {

delta2=2*(delta-x+xc)-1 if (delta2=0) direction=2 direction=3 direction=2 switch (direction) case 1: x+t: delta+=2*(x-xc)+1 case 2: x++. delta+=2*(x-a-y+yc+1) case 3: y-: delta+=-2*( y-yc)+1 (2)采用中点画圆算法 #include <stdio. h #include <conio. h #include <graphic MidpointCircle(r, color) int r, color float x, y float d d=1.25-r/1.414; putpixel(xc+x, olor) while (x<y if (d<o) d+=2*x+3 X++
delta2=2*(delta-x+xc)-1; if (delta2 #include #include MidpointCircle(r,color) int r, color; { float x,y; float d; x=0; y=r; d=1.25 –r/1.414; putpixel(xc+x, yc+y, color); while (x<y) { if (d<0) { d+=2*x+3; x++;

Is d+=5+2*(x-y) X++ putpixel(xc+, yc+, color) putpixel(x, y, color putpixel(xc+yc-y, yc+xc-x, color) putpixel(xc+yc-y, yc+xc-x, color) putpixel(x, yctyc-y, color putpixel(xc+xc-x, yctyc-y, color) putpixel (xc-ycty, yc-xc+x, color) utpixel (xc-ycty, yc+xc-x, color) putpixel(xc+xc-x, y, color) id maino int driver=DETECT, gmode, xc, yc, r initgraph (&driver, &gmode, w) printf("please enter the xc: scanf(%d", &xc) ter the yc scanf(%d",&yc) rinf ("Please enter the R scanf(%d", &r) cleardevice o MidpointCircle(xc, yc, r, RED closegraph o
} else { d+=5+2*(x-y); x++; y--; } putpixel(xc+x,yc+y,color); } } putpixel(x,y,color); putpixel(xc+yc-y,yc+xc-x,color); putpixel(xc+yc-y,yc+xc-x,color); putpixel(x, yc+yc-y,color); putpixel(xc+xc-x,yc+yc-y,color); putpixel(xc-yc+y,yc-xc+x,color); putpixel(xc-yc+y,yc+xc-x,color); putpixel(xc+xc-x,y,color); } void main() { int gdriver=DETECT, gmode,xc,yc,r; initgraph(&gdriver, &gmode, “”); printf(“Please enter the xc:”); scanf(“%d”, &xc); printf(“Please enter the yc:”); scanf(“%d”, &yc); printf(“Please enter the R:”); scanf(“%d”, &r); cleardevice(); MidpointCircle(xc,yc, r,RED); getch(); closegraph(); }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 复旦大学:《计算机图形学》课后习题答案_3.docx
- 复旦大学:《计算机图形学》课后习题答案_2.docx
- 复旦大学:《计算机图形学》课后习题答案_1.docx
- 复旦大学:《电子商务》课程PPT课件_第十次课 社会化电子商务——Hold住社会化媒体营销.ppt
- 复旦大学:《电子商务》课程PPT课件_第六次课 电子商务运营与管理 Operating Your E-Business.ppt
- 复旦大学:《电子商务》课程PPT课件_第六次课 电子商务运营与管理 Getting Your E-Business Off The Ground.ppt
- 复旦大学:《电子商务》课程PPT课件_第八次课 电子商务模式与应用课程主题案例分析与展示——电子商务团购.ppt
- 复旦大学:《电子商务》课程PPT课件_第五次课 商业模式的概念与内涵(发现商业模式).ppt
- 复旦大学:《电子商务》课程PPT课件_第九次课 B2B电子商务(B2B行业平台).ppt
- 复旦大学:《电子商务》课程PPT课件_第七次课 B2C电子商务——网上零售.pptx
- 复旦大学:《电子商务》课程PPT课件_第四次课 电子商务商业计划书写作 Creating a Winning E-Business Second Edition.ppt
- 复旦大学:《电子商务》课程PPT课件_第三次课 电子商务过程及相关因素(电子商务创业).ppt
- 复旦大学:《电子商务》课程PPT课件_第一次课 引言(胥正川).ppt
- 复旦大学:《电子商务》课程PPT课件_第二次课 电子商务的商业模式与分类.ppt
- 复旦大学:《电子商务》课程资源_教学研究:Research On The Utility Of An Advanced ACA In Context-Aware Tour Planning System.pdf
- 复旦大学:《电子商务》课程资源_教学研究:Online Game Addiction among Adolescents_Motivation and Prevention Factors.pdf
- 复旦大学:《电子商务》课程资源_教学案例:The Business Model-Recent Developments and Future Research-JOM2011.pdf
- 复旦大学:《电子商务》课程资源_教学大纲.pdf
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Hibernate 演示场景.pptx
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Hibernate Persistence.ppt
- 复旦大学:《计算机图形学》课后习题答案_5.docx
- 复旦大学:《计算机图形学》课后习题答案_6.docx
- 复旦大学:《计算机图形学》课后习题答案_7.docx
- 复旦大学:《计算机原理 Computer System》课程资源_教学大纲.pdf
- 复旦大学:《计算机原理 Computer System》课程资源_2006年期中考试答案.doc
- 复旦大学:《计算机原理 Computer System》课程资源_2006年期中考试题目.doc
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Introduction to Computer Systems; Information is Bits+Context; Information Storage.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Integer Representations.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Integer Operations; Floating Points.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Machine-Level Representation of Programs I.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Machine-Level Representation of Programs Ⅱ.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Procedure Call and Array.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Heterogeneous Data Structures & Alignment; Putting it Together; Floating Point.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Processor Architecture.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_09、10 Sequential CPU Implementation.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Pipelined Implementation Part I.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Pipelined Implementation Part II.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_12b Code Optimization(• Machine-Independent Optimization – Code motion – Memory optimization • Suggested reading).ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_13 Code Optimization(• Optimizing Blockers • Understanding Modern Processor • More Code Optimization techniques • Performance Tuning).ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Hardware Organization.ppt