网站建设大约多少费用,网站开发的关键计算机资源计划,福建高速公路建设指挥部网站,赣州有做网站推广的公司吗作者#xff1a;非妃是公主 专栏#xff1a;《计算机图形学》 博客地址#xff1a;https://blog.csdn.net/myf_666 个性签#xff1a;顺境不惰#xff0c;逆境不馁#xff0c;以心制境#xff0c;万事可成。——曾国藩 文章目录专栏推荐专栏系列文章序一、改进缘由二、… 作者非妃是公主 专栏《计算机图形学》 博客地址https://blog.csdn.net/myf_666 个性签顺境不惰逆境不馁以心制境万事可成。——曾国藩 文章目录专栏推荐专栏系列文章序一、改进缘由二、算法原理三、OpenGL代码实现四、实现效果图the end…… 专栏推荐
专栏名称专栏地址软件工程专栏——软件工程计算机图形学 专栏——计算机图形学 操作系统专栏——操作系统软件测试专栏——软件测试机器学习专栏——机器学习数据库专栏——数据库算法专栏——算法
专栏系列文章
文章名称文章地址直线生成算法(DDA算法)计算机图形学01——DDA算法中点BH算法绘制直线计算机图形学02——中点BH算法改进的中点BH算法计算机图形学03——改进的中点BH算法中点Bresenham画椭圆计算机图形学04——中点BH绘制椭圆中点BH算法绘制任意斜率直线计算机图形学05——中点BH算法绘制任意斜率的直线中点Bresenham画圆计算机图形学06——中点BH算法画圆有效边表法的多边形扫描转换计算机图形学07——有效边表法绘制填充多边形中点BH算法绘制抛物线 100xy2100x y^2100xy2计算机图形学08——中点BH绘制抛物线二维观察之点的裁剪计算机图形学09——二维观察之点裁剪二维观察之线的裁剪计算机图形学10——二维观察之线裁剪二维观察之多边形的裁剪计算机图形学11——二维观察之多边形裁剪二维图形的几何变换计算机图形学12——二维图形几何变换三维图形的几何变换计算机图形学13——三维图形几何变换三维图形的投影变换计算机图形学14——三维图形投影变换
序
计算机图形学英语computer graphics缩写为CG是研究计算机在硬件和软件的帮助下创建计算机图形的科学学科是计算机科学的一个分支领域主要关注数字合成与操作视觉的图形内容。虽然这个词通常被认为是指三维图形事实上同时包括了二维图形以及影像处理。 一、改进缘由
为什么需要改进中点BH算法呢因为上一篇计算机图形学02中点BH算法绘制直线已经提到中点BH算法会带来浮点数的问题而浮点数对于硬件的运算不仅实现复杂而且运行起来效率低下。因此我们需要对其进行改进也就诞生了改进的中点BH算法。 二、算法原理
d的含义发生了改变不再是中点了 改进点1将右半部分的0.5去掉了 这样通过改进的BH算法去掉了小数这是一种改进方法。上一篇中也存在着去整改进为什么有两种改进方法呢上一篇文章地址计算机图形学02中点BH算法绘制直线
我并不清楚也没有进一步检索知道的小伙伴可以把答案放在评论区我会补上。
但我猜测最初的BH算法应该是没有进行化整的后面在实际硬件运算中发现了问题因而出现了2种改进方法一种是上文提到的叫做中点BH算法的化整改进另一种就是本文提到的叫做改进的中点BH算法 。不过这只是一种猜测…… 三、OpenGL代码实现
// 改进的Bresenham算法绘制直线段(0≤k≤1)
void Bhline(int x0, int y0, int x1, int y1) {int x, y, dx, dy, e;if (x0 x1) { // x0为起始点x1为终止点x x1; x1 x0; x0 x; y y1; y1 y0; y0 y;}dx x1 - x0; dy y1 - y0; x x0; y y0;e -dx;glBegin(GL_POINTS);while (x x1) {glVertex2i(x, y);x;e e 2 * dy; // e e 2dx * kif (e 0) {y;e e - 2 * dx; // e e - 1}}glEnd();
}四、实现效果图
运行代码后调用函数效果如下 the end……
改进的中点BH算法到这里就要结束啦~~到此既是缘分欢迎您的点赞、评论、收藏关注我不迷路我们下期再见 我是Cherries一位计算机科班在校大学生写博客用来记录自己平时的所思所想 内容繁杂又才疏学浅难免存在错误欢迎各位大佬的批评指正 我们相互交流共同进步 注本文由非妃是公主发布于https://blog.csdn.net/myf_666转载请务必标明原文链接https://blog.csdn.net/myf_666/article/details/128164331