在我的项目中,我需要实现圆和椭圆光栅化(如果可能,用 C++ 或汇编 + SIMD)。我知道中点圆算法和 Bresenham 的圆算法。但是这些算法使用整数值(中心 x、中心 y 和半径)。在我的例子中,半径和中心必须以浮点格式(或至少是定点)表示。半径也可以小于 1px。所以我需要一种适用于浮点值的算法。有人可以帮助我吗?
最佳答案
根据维基百科的Bresenham's algorithm ,它被认为是在屏幕的像素中画一个圆。
这就是为什么您可以将圆的计算基于 float ,将圆心放在任何非整数的位置,任何非整数的半径,并且您的圆将被精确地绘制到整数像素位置。
关于c++ - 圆形和椭圆光栅化算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41228122/