Методы преобразования сканирования круга и алгоритмы генерации круга

Опубликовано: 6 Октября, 2022

Сканирование преобразования круга:

  • Окружность определяется как набор точек, находящихся на одинаковом расстоянии от общей точки.
  • Центр круга известен как центр, а радиус — это расстояние от центра круга до любой точки на его окружности.
  • Это восьмигранная симметричная фигура, разделенная на четыре квадранта. Зная только одну точку и отражая ее через каждые 45 градусов, эта симметрия помогает построить круг на компьютере.

МЕТОДЫ:
Метод I – прямой или полиномиальный метод:

  • В этом методе окружность определяется с помощью полиномиального уравнения.

Метод II – Метод полярных координат:

  • В этом методе координаты преобразуются в полярные координаты.

Алгоритмы генерации кругов:
1) Алгоритм средней точки :

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

Алгоритм:

  • Шаг 1: Нанесите начальную точку так, чтобы x = 0 и y = r.
  • Шаг 2: Найдите начальный параметр решения: P=5/4 – r.
  • Шаг 3: если (P<0): Установить P= P+ 2x + 3 и yN = y , xN = x + 1 иначе, если (P>= 0): Установить P= P+ 2(xy) + 5 и yN = y – 1, хN = х + 1.
  • Шаг 4: Постройте полный круг, используя 8-стороннюю симметрию.

2) Алгоритм рисования круга Брезенхема :

  • Алгоритм рисования круга Брезенхэма — это алгоритм рисования круга, который вычисляет все ближайшие точки, ближайшие к границе круга.
  • Это пошаговый метод. •
  • Он использует только целочисленную арифметику, что делает его работу быстрее и менее сложной.
  • Стратегия, которой придерживаются в этом алгоритме, состоит в том, чтобы выбрать пиксель, который имеет наименьшее расстояние от истинной границы круга, а затем продолжить вычисление последовательных точек на круге.
  • Поскольку мы знаем, что окружность следует свойству симметрии 8, то есть если мы знаем граничные координаты первого октанта, значение остальных 7 октантов можно легко вычислить, изменив их величины или поменяв местами значения координат в соответствии с соответствующими октантами.
  • Этот алгоритм вычисляет расположение пикселей аналогичным образом.
  • Здесь мы вычисляем значения только для первого октанта, а значения для остальных октантов можно рассчитать, распространив эти значения на остальные 7 октантов, используя свойство восьмисторонней симметрии круга.

Алгоритм:

  • Шаг 1: Инициализируйте x = 0, y = r.
  • Шаг 2: Рассчитайте параметр решения следующим образом: D = 3 – 2r.
  • Шаг 3: если D < 0: то D = D + 4x + 6 xN = x + 1 yN = y если D ≥ 0: то D = D + 4 (x – y) + 10 xN = x + 1 yN = y – 1
  • Шаг 4: Начертите полный круг, используя 8-стороннюю симметрию.