计算机图形学之数字微分分析画线算法
来源:互联网 发布:工作日记软件 编辑:程序博客网 时间:2024/06/05 09:44
计算机图形学之数字微分分析画线算法
现代计算机绘制,我们程序员经常会碰到画图的编程问题,并且现在的画图的API很多,换句话说,图形API非常丰富,从TC的graphic到Windows的GDI/GDI+,以及跨平台的开放标准OpenGL。这些API都提供了基本的绘图函数,如绘制直线,圆以及椭圆之类的。
画直线的算法也叫做直线的光栅化,我们知道,我们的计算机显示的屏幕实际上是一个个的像素组成的,绘图算法就是要在逼近直线的像素上进行着色输出。
是选择直线两端点变化较大的一个方向,从起始点开始,逐次递推得到着色的结果。
DDA算法的流程图如下:
有了流程图,我相信写出算法来就比较简单了,下面的函数绘制时用GDI的setpixel函数着色。
void cgLineDDA(int x1,int y1,int x2,int y2,HDC hDC,COLORREF color){int nLenght = 0;if (abs(x2-x1) >= abs(y2-y1)){nLenght = abs(x2-x1);}else{nLenght = abs(y2-y1);}//选择迭代单元大小float dx = (x2-x1)/float(nLenght);float dy = (y2-y1)/float(nLenght);float x = x1 + 0.5;float y = y1 + 0.5;int i = 1;while (i <= nLenght){SetPixel(hDC,(int)x,(int)y,color);x += dx;y += dy;i += 1;}}
0 0
- 计算机图形学之数字微分分析画线算法
- 计算机图形学之画线算法
- 【计算机图形学】DDA(数字微分分析仪)绘制线条
- 画线算法-数字微分分析仪(DDA)算法
- Bresenham画线算法(计算机图形学)
- 计算机图形学之DDA画线算法Bresenham算法程序
- 中点画线算法(计算机图形学)
- 计算机图形学笔记-三种画线算法
- 计算机图形学-实验2-Bresenham画线算法
- 计算机图形学 -- 画线算法 [DDA] [中点画线] [Bresenham]
- 数值微分画线算法
- 计算机图形学:窗口画线
- 计算机图形学04一一OpenGL Bresenham画线算法
- 计算机图形学基础(1)——画线算法
- 计算机图形学(二)输出图元_3_画线算法_3_Bresenham画线算法
- 中点画线法(计算机图形学)
- 光栅图形学之直线段扫描算法(中点画线法)
- 计算机图形学 学习笔记(一):光栅图形学算法:直线扫描算法(DDA,中点画线算法,Bresenham算法)
- 大数据——hadoop1.2.1+hbase0.94.11+nutch2.2.1+elasticsearch0.90.5安装配置(上集)
- 复杂声明的语法进行了简化
- pc寄存器与可寻址空间
- Matlab图像处理学习笔记(九):获取叠加物体的数量并进行分割
- Web前端实践经验总结
- 计算机图形学之数字微分分析画线算法
- BMP图像的结构及读写和灰度化
- oracle dblink
- Kafka Producer相关代码分析
- IOS TableView的Cell高度自适应,UILabel自动换行适应
- Sicily 4495. Print permutations
- nginx进程管理之master进程
- HDU 1829 A Bug's Life (并查集)
- High Dynamic range image--汇总的笔记,待整理