[School_ĐHMT – 算法] 画直线的一般原则

阅读更多
1. DDA算法划清界线
2. 算法Breshenham画直线
3. 中点算法划清界线

划清界线

给 2 端点M1(X1, Y1), M2(X2, Y2) 和油漆Ç.
我已经知道通过公式线 2 M1和M2是分:

\\  \frac{x-x1}{y-y1} = \frac{x2-x1}{y2-y1} \\ \\  \Leftrightarrow y = \frac{y2-y1}{x2-x1}(x-x1) + y1\\ \\  \Leftrightarrow y = \frac{y2-y1}{x2-x1}x + y1 - \frac{y2-y1}{x2-x1}x1

设置 m = \frac{y2-y1}{x2-x1}

我有 y = mx + b (b = y1- mx1) (1)

其中m被称为线的陡度或斜率, B务必段称为轴Oy公司.

从公式 (1) 我们可以建立M1M2画直线时,x变量的时间间隔ΔX然后计算出ΔY=m.Δx相应的变量值. 或者你可以做反向当变量y和X到Y. 由于屏幕的最小单位是 1 像素,我们应该采取ΔX= 1 (Δx = -1) 或ΔY= 1 (ΔY= -1). x或y来根据线的形状发生变化,以便能够画出线条接近最佳实践.

如果 |DX| > |两| 然后,变量x和y在x的.
如果 |DX| < |两| 然后将变量y和x到y.

因为屏幕像素绘制线段是接近从其中绘制对应的像素的现实坐标的材料.

所以,总的原则是画直线: 对于一个元素x和在剩余组分的单位价值和原则自然变化的y坐标是接近的最地理坐标.