计算机图形学直线生成算法实验报告.docx

上传人:yyf 文档编号:8758765 上传时间:2021-01-11 格式:DOCX 页数:5 大小:13.70KB
返回 下载 相关 举报
计算机图形学直线生成算法实验报告.docx_第1页
第1页 / 共5页
计算机图形学直线生成算法实验报告.docx_第2页
第2页 / 共5页
计算机图形学直线生成算法实验报告.docx_第3页
第3页 / 共5页
计算机图形学直线生成算法实验报告.docx_第4页
第4页 / 共5页
计算机图形学直线生成算法实验报告.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《计算机图形学直线生成算法实验报告.docx》由会员分享,可在线阅读,更多相关《计算机图形学直线生成算法实验报告.docx(5页珍藏版)》请在三一文库上搜索。

1、计算机图形学直线生成算法实验报告计算机图形学-直线生成算法实验报告 1 - 湖南工商大学课程实验报告(注:本实验报告文件请以自己的学号姓名为文件名,保存关闭后提交)课程名 计算机图形学 班级 计科16xx 学号1609xxxxx 姓名 宋x实验名称 直线生成算法实验目的理解三种直线生成算法思想;写出实现程序;实验步骤建立一个DDALine的工程文件;添加ddaline()成员函数;编写自定义的成员函数ddaline()程序;编写OnDraw()函数;编译、调试和运行程序,程序结果如下。同时尝试画几条不同颜色的直线;参照以上方法自行完成中点画线法和Bresenham法生成直线的算法程序。实验代码

2、DDA算法程序(任意斜率):void CTestView:ddaline(CDC *pDC, int x0, int y0, int x1, int y1, COLORREF color)float x,y,dx,dy;int i,length;if(abs(x1-x0)abs(y1-y0)length=abs(x1-x0);elselength=abs(y1-y0);dx=(float)(x1-x0)/length; /这里一定要转化为实型dy=(float) (y1-y0)/length;x=x0;y=y0;for(i=1;i=length;i+)pDC-SetPixel(int(x+0.

3、5),int(y+0.5),color);x=x+dx;y=y+dy;中点画线算法(斜率0k1):void CTestView:MidpointLine(CDC *pDC, int x0, int y0, int x1, int y1, int color)int a,b,delta1,delta2,d,x,y;a=y0-y1;b=x1-x0;d=2*a+b;delta1=2*a;delta2=2*(a+b);x=x0;y=y0;pDC-SetPixel(x,y,color);while(xx1) if(d0) x+;y+;d+=delta2; else x+;d+=delta1; pDC-SetPixel(x,y,color); OnDraw函数:void CTestView:OnDraw(CDC* pDC)CTestDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data hereddaline(pDC,30,30,400,300,RGB(59,207,237);MidpointLine(pDC,100,100,500,200,RGB(0,0,255);实验结果截图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1