Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 平面上画线的算法_.net_Algorithm_Graphics_Image Processing - Fatal编程技术网

.net 平面上画线的算法

.net 平面上画线的算法,.net,algorithm,graphics,image-processing,.net,Algorithm,Graphics,Image Processing,如果平面不是水平或垂直的,在平面上画线的算法是什么(逐点)?请参见。没有“逐点”算法-点非常小,因此任何基于点的算法都需要无限时间才能完成 取而代之的是,线条是基于一个概念上的笔宽绘制的,并计算用笔划过线条所覆盖的像素数量和强度 如果你只想像20世纪70年代那样打开和关闭像素,那么就使用Brensenham的算法家族之一 大多数现代计算机图形学都使用抗锯齿算法(笔划、亚采样或精确像素覆盖率),有时在GPU中使用并行算法(例如,通过将一个薄矩形投影到平面上绘制一条直线,或并行执行每个像素的覆盖率计

如果平面不是水平或垂直的,在平面上画线的算法是什么(逐点)?

请参见。

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

取而代之的是,线条是基于一个概念上的笔宽绘制的,并计算用笔划过线条所覆盖的像素数量和强度

如果你只想像20世纪70年代那样打开和关闭像素,那么就使用Brensenham的算法家族之一

大多数现代计算机图形学都使用抗锯齿算法(笔划、亚采样或精确像素覆盖率),有时在GPU中使用并行算法(例如,通过将一个薄矩形投影到平面上绘制一条直线,或并行执行每个像素的覆盖率计算)


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

+1-但是我已经看到很多关于图形的文章使用“点”来代替“像素”。我同意“像素”更好,但是数学家们没有任何特殊的能力来定义英语。事实上,当然,你现在很少使用它——你把它留给你的图形API。但对于其他类似的问题,偶尔还是值得知道的。例如,您需要在每个滴答声事件上更新整数时间变量,但滴答声事件以非整数间隔出现。只要间隔是合理的,基于Bresenhams的方法就可以在没有累积误差的情况下保持该时间。@Steve:即使在今天,仍然有很多用途。。。e、 g.在2d网格上移动播放器,在3d网格中跟踪光线(需要修改),等等。。。