c++ - 圆形和椭圆光栅化算法

标签 c++ algorithm geometry rasterizing

在我的项目中,我需要实现圆和椭圆光栅化(如果可能,用 C++ 或汇编 + SIMD)。我知道中点圆算法和 Bresenham 的圆算法。但是这些算法使用整数值(中心 x、中心 y 和半径)。在我的例子中,半径和中心必须以浮点格式(或至少是定点)表示。半径也可以小于 1px。所以我需要一种适用于浮点值的算法。有人可以帮助我吗?

最佳答案

根据维基百科的Bresenham's algorithm ,它被认为是在屏幕的像素中画一个圆。

这就是为什么您可以将圆的计算基于 float ,将圆心放在任何非整数的位置,任何非整数的半径,并且您的圆将被精确地绘制到整数像素位置。

关于c++ - 圆形和椭圆光栅化算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41228122/

相关文章:

math - 圆和三角形问题

C++ 以多种方式打印一个对象

c++ - 一次更改的最短路径问题

python - 练习7.2 : Think Python

.net - 在 .net 中的两个时间戳之间查找完整日历年、月、日和小时的最简单方法

ios - 在 iOS 中围绕一个图钉添加多个圆圈

java - Swing 绘制在不正确的坐标上

c++ - 使用 fstream 从文件中读取缺失值 "NA"

c++ - 您能否从 C++ Lib 文件中获取信息,例如如何从 Jar 文件中获取信息?

c++ - 重新定义 QTreeWidgetItem::operator<