Хелпикс

Главная

Контакты

Случайная статья





Рисование окружностей



Рисование окружностей

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

// R - радиус, X1, Y1 - координаты центра

int x := 0

int y := R

int delta := 2 - 2 * R

int error := 0

while (y >= 0)

  drawpixel(X1 + x, Y1 + y)

  drawpixel(X1 + x, Y1 - y)

  drawpixel(X1 - x, Y1 + y)

  drawpixel(X1 - x, Y1 - y)

      

  error = 2 * (delta + y) - 1

  if ((delta < 0) && (error <= 0))

      delta += 2 * ++x + 1

      continue

  error = 2 * (delta - x) - 1

  if ((delta > 0) && (error > 0))

      delta += 1 - 2 * --y

      continue

  x++

  delta += 2 * (x - y)

  y--

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.