ImageVerifierCode 换一换
格式:DOC , 页数:20 ,大小:135.50KB ,
资源ID:3459979      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3459979.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《计算机图形学》答案,第四章.doc)为本站会员(坚持)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

《计算机图形学》答案,第四章.doc

1、第四章:P2151、将中点画线算法推广以便能画出任意斜率的直线算法设计:(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)y = y + 1; e = e 2 * dy;4、试编写按逆时针方向生成第二个 8 分圆的中点算法算法设计:(1) 输入圆的半径(2) 定义圆当前点

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)drawpixel(x,y,color);if (delta0)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+

3、y, color);while (xy)if (d0)d+=2*x+3;x+;elsed+=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);putp

4、ixel(xc+xc-x,y,color);void main()int gdriver=DETECT, gmode,xc,yc,r;initgraph(printf(“Please enter the xc:”);scanf(“%d”, printf(“Please enter the yc:”);scanf(“%d”, printf(“Please enter the R:”);scanf(“%d”, cleardevice();MidpointCircle(xc,yc, r,RED);getch();closegraph();6、试编写可以对一段任意圆弧进行扫描转换的算法将 360 度的

5、区域分成 8 个部分3 24 15 86 7编写可以对一段任意圆弧进行扫描转换的算法的关键在于,对这段圆弧的起点和终点分别判定是否在同一区域如果起点和终点在同一区域,调用中点画圆算法,但要根据实际情况对参数进行修正;如果起点和终点不在同一区域,则要根据实际情况对圆弧段进行分割,分割的原则是将每一段的起点和终点放在同一区域,然后分别调用中点画圆算法画圆弧,同样在画的过程中,要根据实际情况对参数进行修正及算法进行修正;设圆弧的起点为(x1,y1),终点为(x2,y2),半径为 r如图A(x1,y1)D(x0-r,y0) C (x0,y0) B(x2,y2)将整个圆弧分为两段,弧 AC 和弧 CB,

6、分别进行扫描转换,转换过程中利用中点画圆方法进行,代码如下:midpoint(x1,y1,x2,y2,r,color,k)int x,y;float d;x=x1;y=y1;d=(x1+1)2+(y1-0.5)2-r2;putpixel(x,y,color);while (x=x2)if (d0)d+=2*x+3;x+;elsed+=2*(x-y)+5;x+;y=y+k;putpixel(x,y,color);main()scanf(“%d”,/分割的圆弧数for (i=1;i=n;i+) scanf(“%d,%d,%d,%d,%d”, /要求 x1x2midpoint(x1,y1,x2,y2

7、,r,color,k);7、设计一个多边形区域填充算法,使其边界像素具有一个值,而内部的像素具有另一个值。算法设计:(1) 使用画线语句绘制多边形(2) 计算窗口客户区的水平边界最大值 MaxX 和垂直边界最大值 MaxY(3) 调用系统调色板,设置颜色值 FillColor 为调色板上取得的颜色,CBackColor 为白色。 (4) 对于每一条边,y 从 ymin开始,执行下面的循环。(5) x 从扫描线和边的交点处开始到窗口客户区右边界,先获得(x, y)位置的像素颜色,如果是填充色,则置成背景色,否则所有填充色填充。执行 x=x+1/k,计算下一个 x 起点值。(6) 如果 y=ymi

8、n,则扫描结束,否则 y+,转(5) 。主要代码:int MaxX,MaxY; Void GetMaxX() /求屏幕最大 x 值CRect rect;GetClientRect(rect);MaxX=rect.riht;Void GetMaxY() /求屏幕最大 y 值CRect rect;GetClientRect(rect);MaxX=rect.bottom;Void Draw() /填充多边形函数COLORREF CBackColor=RGB(255,255,255);/白色CClientDC dc(this);int m,n,ymin,ymax;double x,y,k;for (i

9、nt i=0; i=6; i+)m=i,n=i+1;if (7=n) n=0;k=(double (Point m.x- Point n.x)/ (Point m.y- Point n.y);/计算 1/k;if (Point m.y Point n.y) /得到每条边 y 的最大和 y 最小值ymin= Point m.y;ymax= Point n.y;x=Point m.x; /得到 x|yminelseymin= Point n.y;ymax= Point m.y;x=Point n.x; For (y=ymin;yymax;y+)For(int j=ROUND(x);jMaxX;j+

10、)/对每一条扫描线与边的交点的右侧像素循环If(dc.GetPixel(j, ROUND(y)=FillColor)/如果像素的颜色是填充色dc.SetPixel(j, ROUND(y),CBackColor);/改为背景色elsedc.SetPixel(j, ROUND(y),FillColor);/改为填充色x+=k; /计算下一个 x 起点值DrawPolygon() /绘制多边形函数CClientDC dc(this);int m,n;for (int j=0;j=6;j+)M=j;n=j+1;If (7=n) n=0;dc.MoveTo(Pointm);dc.LineTo(Point

11、n);10、试设计一个生成具有宽度的直线条的算法,使得在直线条连接处不出现图示的缺口对于第一种方案:c d ea b f 可以把整个线条分成两个部分,对于左半部分:先计算出线条的四个顶点,a,b,c,d再用直线段把相邻角点连接起来,最后调用多边形填充算法把所得的四边形进行填色同样,对于右半部分,依法处理对于第二种方案:ced f ga b h 可以把整个线条分成三个部分,对于左半部分:先计算出线条的四个顶点,a, b, c, d再用直线段把相邻角点连接起来,最后调用多边形填充算法把所得的四边形进行填色对于中间部分:先计算出线条的四个顶点,c, d, e,f再用半径为某个值如 R 圆弧分别把 c, e 和 d, f 连接起来,最后调用区域填充算法把所得的圆环段 c, e, d, f 进行填色同样,对于右半部分,依法处理先计算出线条的四个顶点,e, f, g, h再用直线段把相邻角点连接起来,最后调用多边形填充算法把所得的四边形进行填色12、为 26 个英文大写字母设计 5X7 的字符掩膜矩阵。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。