当前位置 博文首页 > 卤蛋实验室:【十天自制软渲染器】DAY 02:画一条直线(DDA 算法
??推荐关注公众号「卤蛋实验室」或访问博客原文,更新更及时,阅读体验更佳
第一天我们搭建了 C++
的运行环境并画了一个点,根据 点 → 线 → 面
的顺序,今天我们讲讲如何画一条直线。
本文主要讲解直线绘制算法的推导和思路(莫担心,只涉及到一点点的中学数学知识),最后会给出代码实现,大家放心的看下去就好。
我们先来回顾一下中学的几何知识,如何在二维平面内表示一条直线?最常见的就是斜截式了:
其中斜率是 ,直线在 轴上的截距是 。
斜截式在数学上是没啥问题的,但是在实际的工程项目中,因为硬件资源是有限的,我们不可能也没必要表示一条无限长度的直线,现实往往是已知一条线段的起点 和终点 ),然后把它画出来。
这时候用两点式表示一根直线是最方便的,其中 ,