在平面上绘制线条的算法

时间:2011-05-14 09:00:29

标签: .net algorithm graphics image-processing

在平面上(点状)绘制线的算法是什么,如果它不是水平的或垂直的?

2 个答案:

答案 0 :(得分:9)

请参阅Bresenham's algorithm

答案 1 :(得分:4)

没有'逐点'算法 - 点无限小,因此任何基于点的算法都需要无限的时间才能完成。

相反,根据名义笔宽绘制线条,并计算用笔抚摸线条的像素数量和强度。

如果您只想像20世纪70年代那样打开和关闭像素,那么请使用Brensenham算法系列之一。

大多数现代计算机图形使用抗锯齿算法 - 抚摸,子采样或精确像素覆盖 - 有时GPU中的并行算法(例如通过将薄矩形投影到平面上绘制线条,或执行覆盖计算每个像素并行)。

许多图形算法都基于贝塞尔曲线;直线只是控制点在一条线上的曲线,因此绘制它们的算法是相同的,但可能会做一些优化。