一.任务描述

根据下面要求,在右侧修改代码,绘制出预期输出的图片。平台会对你编写的代码进行测试。

1.本关任务

掌握一种基本图形元素光栅化算法,利用OpenGL实现直线光栅化的DDA算法。

2.预期输出

3.具体要求

(1).背景色为黑色,用 glclearcolor 来完成;
(2).利用DDA算法生成一条直线,线粗为1,直线颜色为(1.0f,1.0f,0.0f),直线两端点坐标为(0,0,200,200)。

二.相关知识

为了完成本关任务,你需要掌握:
(1).DDA算法的基本原理和步骤;
(2).上一关glutReshapeFunc()函数的使用;
(3).虚拟机的使用。

代码实现:

void LineDDA(int x0, int y0, int x1, int y1)

{

int x;

float dy, dx;

float y;

float k;

dx = x1 - x0, dy = y1 - y0;

k = dy / dx;

y = y0;

glColor3f(1.0f, 1.0f, 0.0f);

glPointSize(1);

for (x = x0; x <= x1; x++)

{

glBegin(GL_POINTS);

glVertex2i(x, (int)(y + 0.5));  //(int)(y + 0.5)四舍五入,得到要填充颜色的像素的坐标y的值

glEnd();

y += k;

}

glFlush();

}

void myDisplay(void)

{

glClearColor(0.0,0.0,0.0,0.0);

glClear(GL_COLOR_BUFFER_BIT);

glPointSize(1);

glBegin(GL_POINTS);

glColor3f(1.0f, 1.0f, 0.0f);

glEnd();

LineDDA( 0, 0, 200,200);

glFlush();

}

掌握一种基本图形元素光栅化算法,利用OpenGL实现直线光栅化的DDA算法。相关推荐

  1. 计算机图形学-扫描转换直线段-直线方程法-DDA算法-中点算法-OPENGL实现-详解

    扫描转换直线段 说明与环境配置 环境配置 扫描转换直线段 方法一: 直线方程法 代码描述: 算法比较简单, 暂无代码. 方法二: 数字差分分析DDA算法 代码描述: 方法三: 中点算法 代码描述: 所 ...

  2. Cypher高级查询--典型算法--利用Graph Data Science(GDS)的算法实现数据分析与知识洞察

    本文继续基于上一篇文章,深入研究基于图谱的各类算法,相比传统的关键词搜索,关系连接,全文检索等,基于知识图谱的算法将充分利用知识图谱的实体关系及其属性权重等信息,为大数据分析做支撑,使得数据分析和知识 ...

  3. 计算机图形学 裁剪算法源代码,OpenGL计算机图形学梁友栋裁剪算法实验代码及运行结果.doc...

    OpenGL计算机图形学梁友栋裁剪算法实验代码及运行结果.doc (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分  .<计算 ...

  4. 【转】直线光栅化算法-Bresenham算法

    [转]直线光栅化算法-Bresenham算法 https://blog.csdn.net/cjw_soledad/article/details/78886117 posted on 2019-03- ...

  5. C#,图像二值化(05)——全局阈值的联高自适应算法(Legal Self-Adaptive Thresholding)及其源代码

    阈值的选择当然希望智能.简单一些.应该能应付一般的图片. What is Binarization? Binarization is the process of transforming data ...

  6. 计算机图形学——直线光栅化

    在数学上,理想的直线是没有宽度的.由无数个点构成的集合.当我们对直线进行光栅化时,只能在显示器所给定的有限个像素组成的矩阵中,确定最佳逼近该直线的一组像素,并且按扫描线顺序对这些像素进行写操作,这就是 ...

  7. C#,图像二值化(21)——局部阈值的韦尔纳算法(Wellner Thresholding)及源代码

    1 韦尔纳算法(Wellner Throsholding) 摘要 针对计算大量缺陷时速度较慢且图像阈值不平滑的Wellner算法,本文提出了两种改进方案,第一种是一维平滑算法(ODSA),第二种是基于 ...

  8. dfa算法 java_DFA算法的实现与最小化

    有限自动机分为确定有限自动机(DFA)和不确定有限自动机(NFA),这里介绍DFA,即确定有限自动机. 1. DFA的形式定义 从形式上说,一个有限状态自动机可以用下面的5个参数来定义: Q: 状态q ...

  9. ML之分类预测:基于sklearn库的七八种机器学习算法利用糖尿病(diabetes)数据集(8→1)实现二分类预测

    ML之分类预测:基于sklearn库的七八种机器学习算法利用糖尿病(diabetes)数据集(8→1)实现二分类预测 目录 输出结果 数据集展示 输出结果 1.k-NN 2.LoR 4.DT 5.RF ...

最新文章

  1. 如何通过手机客户端Android、Iphone 等访问要求使用客户端证书SSL加密的https网站...
  2. javascript DOM 编程艺术----笔记
  3. SAP BW查看数据源提取方法
  4. GPU Gems1 - 9 有效的阴影体渲染
  5. 判断一个男人穷还是富,只看这几点!
  6. C++ 程序员要像医生一样调试代码?
  7. 【Android Studio安装部署系列】二十二、Android studio自动生成set、get方法
  8. Java 后端自学之路
  9. 一文看尽 2020 年谷歌 AI 重大突破
  10. Excel RibbonUI:editBox控件使用
  11. uln2003驱动蜂鸣器_51单片机蜂鸣器
  12. 【opencv】凹点切分,种子计数,细胞计数前提 17/7/25更新
  13. 哼唱也能识别歌名 音乐APP听歌识曲谁家强
  14. 山西机电职业技术学院计算机专业,山西机电职业技术学院怎么样?山西机电职业技术学院好吗?(历年分数、专业设置、校园环境、教学实力、名人校友) - 职友集...
  15. 小米连续点击Android,屏幕自动点击
  16. 抖音数据 - 网民评论数据采集,分析
  17. winform数独C#的数独游戏
  18. 爱德泰科普 | 电信级单模光纤跳线在综合布线中的连接方法
  19. 如何使用nose 进行Python项目的自动化测试
  20. from scipy.misc import imread, imresize, imsave 报错的解决方法

热门文章

  1. 宝塔设置A站点SSL,同服务器下其他未设SSL站点访问HTTPS默认会打开A站点
  2. 《清单革命》的读后感优秀范文3900字
  3. 使用PowerShell 获取AAD 用户的license授予时间
  4. lab值意义_lab是什么意思?
  5. NEFU 大一寒假训练十二(set)2020.02.18
  6. MAXENT模型的生物多样性生境模拟
  7. UML中各图形或图标表示的意思
  8. Laya和TypeScript制作H5——开始
  9. Defender绝密档案:惊现中本聪?
  10. 手机ppi排行测试软件,2018主流厂商旗舰手机屏幕测试数据汇总和子项排名统计...