Алгоритм растеризации круга и эллипса

В моем проекте мне нужно реализовать растеризацию окружностей и эллипсов (в C ++ или в сборке + SIMD, если это возможно). Я знаю об алгоритме окружности средней точки и алгоритме окружности Брезенхэма. Но эти алгоритмы работают с целочисленными значениями (центр x, центр y и радиус). В моем случае радиус и центр должны быть выражены в формате с плавающей точкой (или, по крайней мере, с фиксированной точкой). А также радиус может быть менее 1px. Поэтому мне нужен алгоритм, который работает со значениями с плавающей запятой. Кто-нибудь может мне помочь?

1

Решение

По словам Википедии Алгоритм Брезенхэма, Предполагается нарисовать круг в пикселях экрана.

Вот почему вы можете основывать вычисления вашего круга на числах с плавающей запятой, помещая центр в любое нецелое место с любым нецелым радиусом, и ваш круг будет нарисован точно в целочисленных пиксельных местах.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]