Информационные и коммуникационные технологии. Дешко И.П - 116 стр.

UptoLike

116
Данный алгоритм является целочисленным. В соответст-
вии с ним полагается, что генерируется окружность с целочис-
ленным радиусом R и центром в точке (x = 0, y = 0) (что всегда
можно сделать, связав координаты x и y с координатной сеткой
растра простым преобразованием координат). Изначально по-
шагово (переходя от пикселя к
пикселю) строится четверть
окружности в первом квадран-
те. Причем ее построение на-
чинается в точке (x = 0, y = R)
и осуществляется в направле-
нии по часовой стрелке. При
таких условиях и нахождении
в некоторой текущей точке
растра с координатами адре-
суемой точки (x
i
, y
i
) есть толь-
ко три варианта выбора оче-
редного пикселя (рис.1): по
горизонтали вправо (направ-
ление H
), по диагонали вниз и вправо (направление D) и по
вертикали вниз (направление V
).
В качестве критериев перехода используются следующие вели-
чины:
()
(
)
22
i
2
ii
R1y1x ++=
Δ
;
(
)
1y2
ii
+=
Δ
δ
;
(
)
1x2
ii
=
Δ
δ
.
Согласно алгоритму Брезенхема:
если
Δ
i
< 0:
при
δ
0
выбираем направление H
, т.е. пиксель (x
i
+ 1, y
i
);
при
δ
>
0
выбираем направление D
, т.е. пиксель (x
i
+ 1, y
i
–1);
если
Δ
i
> 0:
при
δ′
0
выбираем направление D
, т.е. пиксель (x
i
+ 1, y
i
– 1);
Рис.1. К выбору очередного
пикселя
()
ii
y,x
()
ii
y,1x +
()
1y,1x
ii
+
()
1y,x
ii
H
D
V
                                       116

        Данный алгоритм является целочисленным. В соответст-
  вии с ним полагается, что генерируется окружность с целочис-
  ленным радиусом R и центром в точке (x = 0, y = 0) (что всегда
  можно сделать, связав координаты x и y с координатной сеткой
  растра простым преобразованием координат). Изначально по-
                                         шагово (переходя от пикселя к
                                         пикселю) строится четверть
                                          окружности в первом квадран-
       ( xi , yi ) H                      те. Причем ее построение на-
                         ( xi + 1 , yi ) ичинается в точке (x = 0, y = R)
                                            осуществляется в направле-
                                         нии по часовой стрелке. При
              V D                        таких условиях и нахождении
                                         в некоторой текущей точке
     ( xi , yi − 1) ( xi + 1 , yi − 1) растра с координатами адре-
                                         суемой точки (xi , yi ) есть толь-
  Рис.1. К выбору очередного              ко три варианта выбора оче-
               пикселя                    редного пикселя (рис.1): по
                                          горизонтали вправо (направ-
  ление H ), по диагонали вниз и вправо (направление D) и по
  вертикали вниз (направление V ).
  В качестве критериев перехода используются следующие вели-
  чины:
                        Δ i = ( xi + 1) 2 + ( yi − 1) 2 − R 2 ;
                  δ = 2 (Δ i + yi ) − 1 ; δ ′ = 2 (Δ i − x i ) − 1 .
     Согласно алгоритму Брезенхема:
ƒ если Δ i < 0:
  при δ ≤ 0 выбираем направление H , т.е. пиксель (xi + 1, yi );
  при δ > 0 выбираем направление D , т.е. пиксель (xi + 1, yi –1);
ƒ если Δ i > 0:
  при δ′ ≤ 0 выбираем направление D , т.е. пиксель (xi + 1, yi – 1);