画直线算法 Line drawing algorithm
2021-06-01 05:03
阅读:565
过程?
直线可以分为:水平的(斜率为零)、垂直的(斜率为无穷大),斜的(其他可能的斜率)。
给定两个实数点,可以算出一个实数域上的直线方程。但显然此方程的解不能直接作为算法的解,它还需要再通过一个函数过滤成自然数的解。
real = line_equation(p1, p2)
nature = func(real)
最直接的想法是每次迭代我都算出实数解,然后和上一个自然数解作比较。e.g. 当 x0
x0
当然根据斜率不同还有一些符号和边界问题,暂且不表。值得注意的是,因为 realy >= y + 0.5
所以 y+1 之后是可能比 realy 大的,但是大不过 0.5 。下次再算 realy 的时候,还可能比 y 小。不过也没关系,我们就继续画在 y 上就行。
上一篇:空间点与直线距离算法
文章来自:搜素材网的编程语言模块,转载请注明文章出处。
文章标题:画直线算法 Line drawing algorithm
文章链接:http://soscw.com/essay/89887.html
文章标题:画直线算法 Line drawing algorithm
文章链接:http://soscw.com/essay/89887.html
评论
亲,登录后才可以留言!