Algorithm Bresenham算法
可能重复:Algorithm Bresenham算法,algorithm,line,pixel,bresenham,Algorithm,Line,Pixel,Bresenham,可能重复: 如何使用Bresenham算法绘制超过一个像素厚的线? 我是否必须在与x和y偏移的情况下多次运行该算法?不,简单的方法是在算法产生的大于一个像素的每个(x,y)位置绘制一个模板,例如光盘 但这当然是低效的,因为你要多次绘制同一个像素。但是,它很容易实现,并且在奇偶形状或多色的模具上运行良好。您可以做的一件事是使用直线的坡度计算,即两个正交方向上的单位偏移量。将该值乘以厚度,并取两个端点处的偏移量。现在,可以有效地确定旋转矩形的边界。然后,使用快速多边形填充,而不是使用Bresenh
如何使用Bresenham算法绘制超过一个像素厚的线?
我是否必须在与x和y偏移的情况下多次运行该算法?不,简单的方法是在算法产生的大于一个像素的每个(x,y)位置绘制一个模板,例如光盘
但这当然是低效的,因为你要多次绘制同一个像素。但是,它很容易实现,并且在奇偶形状或多色的模具上运行良好。您可以做的一件事是使用直线的坡度计算,即两个正交方向上的单位偏移量。将该值乘以厚度,并取两个端点处的偏移量。现在,可以有效地确定旋转矩形的边界。然后,使用快速多边形填充,而不是使用Bresenham绘制直线。多边形填充也可能使用Bresenham;)啊,是的,当它沿着边缘移动时:)是的,但是(a)奇怪形状的模具不是问题(b)透明度类a破坏东西(除非你想引入中间层)