在我的项目中,我需要实现圆和椭圆光栅化(如果可能的话,用C ++或汇编+ SIMD)。我知道中点圆算法和Bresenham的圆算法。但是这些算法使用整数值(中心x,中心y和半径)。在我的情况下,半径和中心必须以浮点格式(或至少是固定点)表示。并且半径也可以小于1px。所以我需要一个适用于浮点值的算法。有人可以帮帮我吗?
答案 0 :(得分:0)
根据维基百科的Bresenham's algorithm,它想在屏幕的像素中画一个圆圈。
这就是为什么你可以将你的圆的计算基于浮点数,将中心放在任何非整数位置,任何非整数半径,你的圆将精确绘制为整数像素的地方。