Oetpiq计算机图形学程序代码.doc

Oetpiq计算机图形学程序代码.doc

ID:58821081

大小:341.50 KB

页数:8页

时间:2020-10-25

Oetpiq计算机图形学程序代码.doc_第1页
Oetpiq计算机图形学程序代码.doc_第2页
Oetpiq计算机图形学程序代码.doc_第3页
Oetpiq计算机图形学程序代码.doc_第4页
Oetpiq计算机图形学程序代码.doc_第5页
资源描述:

《Oetpiq计算机图形学程序代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、生命是永恒不断的创造,因为在它内部蕴含着过剩的精力,它不断流溢,越出时间和空间的界限,它不停地追求,以形形色色的自我表现的形式表现出来。--泰戈尔实验一、直线的生成一、实验内容根据提供的程序框架,修改部分代码,完成画一条直线的功能(中点画线法或者Bresenham画线法任选一),只要求实现在第一象限内的直线。二、算法原理介绍双击直线生成.dsw打开给定的程序,或者先启动VC++,文件(file)→打开工作空间(openworkspace)。打开直线生成view.cpp,按注释改写下列函数:1.voidCMyView::OnDdaline()

2、(此为DDA生成直线)2.voidCMyView::OnBresenhamline()(此为Bresenham画直线)3.voidCMYView::OnMidPointLine()(此为中点画线法)三、程序源代码1.DDA生成直线画法程序:floatx,y,dx,dy,k;dx=(float)(xb-xa);dy=(float)(yb-ya);k=dy/dx;x=xa;y=ya;if(abs(k)<1){for(x=xa;x<=xb;x++){pdc->SetPixel(x,int(y+0.5),COLOR);y=y+k;}}if(abs(

3、k)>=1){for(y=ya;y<=yb;y++){pdc->SetPixel(int(x+0.5),y,COLOR);x=x+1/k;}}//DDA画直线结束}1.Bresenham画直线源程序:floatb,d,xi,yi;inti;floatk;k=(yb-ya)/(xb-xa);b=(ya*xb-yb*xa)/(xb-xa);if(k>0&&k<=1)for(i=0;i=0){xi=xa+1;yi=ya;xa++;ya=ya+0.5;}if(d<0

4、){xi=xa+1;yi=ya+1;xa++;ya=ya+1.5;}pdc->SetPixel(xi,yi,COLOR);}//BresenHam画直线结束}2.中点画线法源程序:floatb,d,xi,yi;inti;floatk;k=(yb-ya)/(xb-xa);b=(ya*xb-yb*xa)/(xb-xa);if(k>0&&k<=1)for(i=0;i=0){xi=xa+1;yi=ya;xa++;ya=ya+0.5;}if(d<0){xi=xa+1;

5、yi=ya+1;xa++;ya=ya+1.5;}pdc->SetPixel(xi,yi,COLOR);}//BresenHam画直线结束}四、实验结果抓图与分析1、DDA生成直线2、Bresenham画直线3、中点画线法实验二、bresenham画圆一、实验内容根据提供的程序框架,修改部分代码,用Bresenham画法画一段圆弧或者画圆。二、算法原理介绍双击experiment.dsw打开,或者先启动VC++,文件(file)→打开工作空间(openworkspace)。打开直线生成view.cpp,按注释改写下列函数:voidCMyVie

6、w::OnBresenhamCircle()三、程序源代码bresenham画圆源程序voidBresenhan_circle();intx,y=180,color=1,xcenter,ycenter;x=0;intd=3-2*180;while(xSetPixel(0+x,0+y,COLOR);pdc->SetPixel(0+x,0-y,COLOR);pdc->SetPixel(0-x,0+y,COLOR)

7、;pdc->SetPixel(0-x,0-y,COLOR);pdc->SetPixel(0+y,0+x,COLOR);pdc->SetPixel(0+y,0-x,COLOR);pdc->SetPixel(0-y,0+x,COLOR);pdc->SetPixel(0-y,0-x,COLOR);}四、实验结果抓图与分析实验三、二维图形的几何变换一、实验内容以一条直线段为例,完成目标的平移、绕任一点旋转。(缩放等其它变换选做)二、实验步骤和方法1、打开二维变换.dsw2、改写二维变换view.cpp里的voidCMyView::Onrecycle

8、()函数(需要改写的地方我已经做了说明)。3、生成直线的函数采用VC里的函数。4、函数的主要任务是计算出变换后的坐标。三、程序源代码1.目标的平移的源程序xa1=xa+dx;ya

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

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

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