DDA算法-中点画线算法-Bresenham算法
摘要:实验1直接绘制实验(提示:#表示Project的编号,##表示Project题目)学号题号姓名程序逻辑(40)上交时间算法新颖性(20)代码规范(20)实验报告总分(20)得分1.问题描述如何利用OpenGL实现直线光栅化的DDA算法、中点画线算法和Bresenham算法2.算法描述DDA算法:据直线公式y=kx+b来推导出来的,其关键之处在于如何设定单位步进,即一个方向的步进为单位步进,另一个方向的步进必然是小于1。中点划线法:在画直线段的过程中,当前像素点为(xp,yp),下一个像素点有两种可选择点P1(xp+1,yp)或P2(xp+1,yp+1)。若M=(xp+1,yp+0.5)为P1与P2之中点,Q为P理想直线与x=xp+1垂线的交点。当M在Q的下方,则P2应为下一个像素点;M在Q的上方,应取P1为下一个像素点。Bresenham算法:过各行、各列像素中心构造一组虚拟网格线,按直线从起点到终点的顺序计算直线各垂直网格线的交点,然后确定该列像素中与此交点最近的像素。实验结果成功运行三个算法,并且能转换出通用Bresenham算法。3.分析与评论(分析每个算法的运行时间,对你的本实验的工作进行评论,同时也可以对老师提出建议。)附录:SourceCode(inC)#include<GL/glut.h>//需要正确安装GLUT,安装方法如预备知识中所述voidmyDisplay(void){glClearColor(0.0,0.0,0.0,0.0);glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0f,1.0f,1.0
温馨提示:当前文档最多只能预览
5 页,若文档总页数超出了
5 页,请下载原文档以浏览全部内容。
本文档由 匿名用户 于 2022-11-26 23:09:06上传分享