湖北理工 计算机学院 09级计算机图形学实验及代码

湖北理工 计算机学院 09级计算机图形学实验及代码

ID:11704682

大小:183.50 KB

页数:13页

时间:2018-07-13

湖北理工 计算机学院 09级计算机图形学实验及代码_第1页
湖北理工 计算机学院 09级计算机图形学实验及代码_第2页
湖北理工 计算机学院 09级计算机图形学实验及代码_第3页
湖北理工 计算机学院 09级计算机图形学实验及代码_第4页
湖北理工 计算机学院 09级计算机图形学实验及代码_第5页
资源描述:

《湖北理工 计算机学院 09级计算机图形学实验及代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一直线段的生成算法3.26-4.9一、实验目的及要求1、掌握Bresenham算法的原理;2、熟悉Bresenham算法的具体c语言实现;3、掌握dda算法的原理;4、熟悉dda算法的具体c语言实现。二、实验学时4学时三、实验任务1、Bresenham算法的c语言实现2、DDA算法的c语言实现四、实验重点、难点对Bresenham算法的原理以及c语言程序的具体实现(一)Bresenham算法的实现#include"stdafx.h"#include"graphics.h"#include"s

2、tdlib.h"#include"stdio.h"#include"conio.h"voidBresenham_line(intx1,inty1,intx2,inty2,intvalue){intx,y,s1,s2,increx,increy,temp,interchange;inte,i;x=x1;y=y1;if(x2-x1>0){s1=1;}else{s1=-1;}if(y2-y1>0){s2=1;}else{s2=-1;}increx=abs(x2-x1);increy=abs(y2-y1

3、);if(increy>increx){temp=increx;increx=increy;increy=temp;interchange=1;}elseinterchange=0;e=2*increy-increx;for(i=1;i<=increx;i++){putpixel(x,y,value);if(e>=0){if(interchange=1)x=x+s1;elsey=y+s2;e=e-2*increx;}if(interchange=1)y=y+s2;elsex=x+s1;e=e+2

4、*increy;}}voidmain(){intgdriver=DETECT,gmode,errorcode;initgraph(&gdriver,&gmode,"");Bresenham_line(100,100,300,300,5);getch();closegraph();}(二)DDA算法的实现#include"stdafx.h"#include"graphics.h"#include"stdlib.h"#include"stdio.h"#include"math.h"#include"

5、conio.h"voidDDAline(intx1,inty1,intx2,inty2,intcolor){floatincrex,increy,x,y,length;inti;if(abs(x2-x1)>abs(y2-y1))length=abs(x2-x1);elselength=abs(y2-y1);increx=(x2-x1)/length;increy=(y2-y1)/length;x=x1;y=y1;for(i=1;i<=length;i++){putpixel(x,y,1);x=x

6、+increx;y=y+increy;}}voidmain(){intgdriver=DETECT,gmode;initgraph(&gdriver,&gmode,"");DDAline(0,100,100,0,5);getch();closegraph();}六、注意事项应该根据算法原理来编写算法过程。实验二自行车动画编程4.16一、实验目的及要求1、掌握线段和圆等图形的实现原理;2、掌握图形动画的实现方法。二、实验学时2学时三、实验任务自行车动画实现的c语言程序四、实验重点、难点理解线段和圆

7、等图形并将其编写成程序五、操作要点算法的基本过程:在图形模式下,图形存取有着重要的作用,这也是图形动画的基础。图形存取的基本原理是:反屏幕上某个区域的信息存入一个缓冲区,然后在另一个区域把它的内容显示出来。原理见课本71-73面。具体算法设计可以参考72页的算法过程。六、注意事项能够应用原理进行程序编写。#include"stdlib.h"#include"graphics.h"#include"conio.h"#include"stdio.h"voidmain(){void*w;intdriv

8、er=DETECT,mode=0,i,start,end,j;initgraph(&driver,&mode,"");cleardevice();setbkcolor(15);setcolor(CGA-LIGHTGREEN);start=0;end=180;circle(387,290,37);circle(525,290,37);line(404,217,398,230);line(436,217,429,230);line(398,230,429,230);line(413,230,387,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。