在平面上(点状)绘制线的算法是什么,如果它不是水平的或垂直的?
答案 0 :(得分:9)
答案 1 :(得分:4)
没有'逐点'算法 - 点无限小,因此任何基于点的算法都需要无限的时间才能完成。
相反,根据名义笔宽绘制线条,并计算用笔抚摸线条的像素数量和强度。
如果您只想像20世纪70年代那样打开和关闭像素,那么请使用Brensenham算法系列之一。
大多数现代计算机图形使用抗锯齿算法 - 抚摸,子采样或精确像素覆盖 - 有时GPU中的并行算法(例如通过将薄矩形投影到平面上绘制线条,或执行覆盖计算每个像素并行)。
许多图形算法都基于贝塞尔曲线;直线只是控制点在一条线上的曲线,因此绘制它们的算法是相同的,但可能会做一些优化。