计算机图形学算法【1】——直线画法(数值微分法)
以下所有代码均在VS2010下的MFC框架下使用
DDA(数值微分法)介绍
一、基本原理
通过计算直线的斜率k和截距b,y = kx+b
1、计算起点和终点的XY坐标差值;
2、计算直线的斜率K
当 |K| > 1 时,采用▲y = 1, ▲x = 1/K 的方法
当 |K| < 1 时,采用▲y = K, ▲x = 1 的方法
当 |K| = 1 时,两种方法一致
二、程序流程图
三、核心代码
void Line::DDA(CClientDC &dc)
{
//计算横纵坐标差值
int dx = x2 - x1;
int dy = y2 - y1;
//判断是否为垂线
if (dx == 0){