O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi toshkent davlat iqtisodiyot universiteti


Download 3.55 Mb.
Pdf ko'rish
bet43/90
Sana03.11.2023
Hajmi3.55 Mb.
#1743254
TuriУчебное пособие
1   ...   39   40   41   42   43   44   45   46   ...   90
Bog'liq
Kompyuter grafikasi va dizayn



0 da (x

+ 1, u

- 1) diagonal nuqta haqiqiy aylana ichida joylashadi. 
Tushunarliki bunday hollarda yoki piksel (x
i
 + 1, u
i
) m

yoki piksel (x
i
 + 1, u
i
 - 1) m

larni tanlash kerak. Buning uchun birinchi navbatda 1 holatni qarab chiqamiz va 


79 
aylanadan diagonal va gorizontal yo‗nalishdagi piksellargacha bo‗lgan masofani 
kvadratlar farqini tekshiramiz: 

 = [(x
i
 + 1)
2
 + (y
y
)
2
 - R
2
] – [(x
i
 + 1)
2
 + (y

- 1)
2
 - R
2
] 

 

 0 bo‗lganda aylanadan diognal pikselgacha bo‗lgan masofa (m
D
) dan katta. 
Teskarisi, agar 

 0 bo‗lganda gorizontalgacha bo‗lgan masofa (m
H
) katta.
Shunday qilib, 

 

 0 bo‗lganda m

ni (x
i
 + 1, u
i
da tanlaymiz. 

 

 0 bo‗lganda 
m

ni (x
i
+ 1, u
i
- 1) da tanlaymiz. 

= 0 bo‗lganda aylanadan ikki pikselgacha 
bo‗lgan masofa bir xil gorizontal qadamni tanlaymiz. 

miqdorini baholash uchun 
zarur bo‗lgan hisoblar sonini, agar birinchi holatni e‘tiborga olsak, kamaytirish 
mumkin. 
(x
i
 + 1)
2
 + (y
i
)
2
 - R
2

 0 
(x
i
 + 1)
2
 + (y

- 1)
2
 - R
2

 0 
Shunday qilib, diagonal piksel (x
i
+ 1, u
i
- 1) har doim aylana ichida yotadi, 
gorizontal piksel (x
i
+ 1, u
i
) esa aylana tashqarisida. Shunday qilib, 

ni quyidagi 
formula bo‗yicha hisoblash mumkin.

 = (x
i
 + 1)
2
 + (y
i
)
2
 - R

 + (x
i
 + 1)
2
 + (y

+ 1)
2
 - R
2
 
2y

+ 1 qo‗shish va ayirish yordamida (y
i
)

qatnashchilarni to‗la kvadratgacha 
to‗ldirish quyidagini beradi.

 = 2 [(x
i
 + 1)
2
 + (y

- 1)
2
 - R

] + 2y

- 1 
Kvadrat qavslar ichida aniqlanishi bo‗yicha 


va uning qo‗yiluvchilari turadi. 

 = 2 (

i
 +y
i
)- 1 
Ifodani sezilarli darajada qisqartiradi.
Ikkinchi holatni ko‗rib chiqamiz va bu yerda (x
i
+ 1, u
i
) gorizontal piksel 
tanlanishi zarurligini e‘tiborga olamiz. Shunday qilib u monoton kamayuvchi 
funksiya. 

 komponentini tekshirish ko‗rsatadiki 
(x
i
 + 1)
2
 + (y
i
)
2
 - R
2

 0 
(x
i
 + 1)
2
 + (y
i
- 1)
2
 - R
2

 0 


80 
Ikkinchi holatda gorizontal (x
i
+ 1, u
i
) va diagonal (x
i
+ 1, u
i
- 1) piksellar 
aylana ichida yotadi. Shunday qilib 

 

0 va xuddi 1 holat kabi shu kriteriyadan 
foydalanilganda (x
i
 + 1, u
i
piksel tanlanadi.
Agar 



0 bo‗lsa, u holda (x
i
+ 1, u
i
- 1) diagonal nuqta aylana tashqarisida 
joylashadi. Bu holatlardan ko‗rinadiki, yoki piksel (x
i
 + 1, u
i
 - 1) m

yoki (x
i
,y

- 1) m

piksellar tanlanishi shart. Aylanadan diagonal m

va vertikal m

piksellargacha 
masofani kvadratlari orasidagi farqni tekshirish orqali kriteriya tanlovini olish 
mumkin. 

1
 = [(x
i
 + 1)
2
 + (y

- 1)
2
 - R
2
] – [(x
i
)
2
 + (y

- 1)
2
 - R
2
] 

 
1

 0 bo‗lganda aylanadan vertikal pikselgacha (x
i
,y

- 1) bo‗lgan masofa katta 
va (x
i
+ 1, u
i
- 1) m

piksellarga diagonal qadamni tanlash kerak bo‗ladi. Teskari 
holatda 



0 aylanadan diagonal pikselgacha bo‗lgan masofa katta va (x
i
,y

- 1) 
pikselga vertikal harakatni tanlash kerak. Shunday qilib,



 0 bo‗lganda (x
i
 + 1, u
i
 - 1) da m

ni tanlaymiz. 



 0 bo‗lganda (x
i
,y
i
- 1) da m

ni tanlaymiz. 

1
= 0 bo‗lgan holatda masofalar teng va diagonal qadam tanlangan. 


komponentlarini tekshirish ko‗rsatdiki 
(x
i
 + 1)
2
 + (y
i
- 1)
2
 - R
2

 0 
(x
i
)
2
 + (y
i
- 1)
2
 - R
2

 0 
Shunday qilib, 3 holatda diagonal piksel (x
i
+ 1, u
i
- 1) aylanadan tashqarida 
joylashadi, vertikal piksel (x
i
,y

- 1) aylana ichida yotadi. Bu 


ni quyidagi 
ko‗rinishda yozish imkonini beradi.

1
 = (x
i
 + 1)
2
 + (y
i
- 1)
2
 - R

+ (x
i
)
2
 + (y
i
- 1)
2
 - R
2
2x

+ 1 ni qo‗shish va ayirish yordamida (x
i
)

qatnashchilarini to‗la 
kvadratgacha to‗ldirish quyidagini 

1
 = 2 [(x
i
 + 1)
2
 + (y
i
- 1)
2
 - R

] + 2x
i
- 1 


aniqlovchidan foydalanish ifodani quyidagi ko‗rinishga keltiradi. 

1
 = 2 (

i
 - 1) - 1 


81 
4 holatga qarab (x
i
,y

- 1) vertikal pikselni tanlash lozim ekanligini e‘tiborga 
olamiz, shunday ekan funksiya o‗sganda funksiya monoton kamayuvchi funksiya 
hisoblanadi. 
4 holat uchun 


komponentlarini tekshirish quyidagini ko‗rsatadi 
(x
i
 + 1)
2
 + (y

- 1)
2
 - R
2

 0 
(x
i
)
2
 + (y

- 1)
2
 - R
2

 0 
kelib chiqadiki ikala piksel ham aylanadan tashqarida joylashgan.
Shunday qilib, 



0 va 3 holat uchun qayta ishlangan kriteriyadan 
foydalanilganda m

va to‗g‗ri tanlov amalga oshiriladi.
Diagonal piksel (x
i
+ 1, u
i
- 1) aylanada yotganda uchraydigan 5 holatni 
tekshirish qoldi.

 komponentlarini tekshirish shuni ko‗rsatdiki 
(x
i
 + 1)
2
 + (y
i
)
2
 - R
2

 0 
(x
i
+ 1)
2
 + (i
i
- 1)
2
 - R
2
 = 0 
Shunday qilib, 



0 va (x
i
+ 1, u
i
- 1) diagonal piksel tanlanadi. Logik usul 
bilan 

 komponentini baholaymiz.
(x
i
 + 1)
2
 + (y
i
- 1)
2
 - R
2
 = 0 
(x
i
)
2
 + (y
i
- 1)
2
 - R
2

 0 
va 

1

 0 ga (x
i
 + 1, u
i
 - 1) diagonal qadamni to‗g‗ri tanlash sharti hisoblanadi. 
Shunday qilib 

i
 = 0 holat, 



 0 yoki 



 0 holatlar kabi bita kriteriyaga bo‗ysunadi.
Olingan natijalardan xulosa chiqaramiz: 

i

 0 

1

 0 bo‗lganda (x
i
 + 1, u
i
)

 m

pikselni tanlaymiz. 

1

 0 bo‗lganda (x
i
+ 1, y
i
- 1)

 m

pikselni tanlaymiz. 

i

 0 

1

 0 bo‗lganda (x
i
 + 1, u
i
- 1)

 m

pikselni tanlaymiz. 

1

 0 bo‗lganda (x
i
, y
i
- 1)

 m

pikselni tanlaymiz. 

i

 0 bo‗lganda (x
i
 + 1, u
i
- 1)

 m

pikselni tanlaymiz. 


82 
Birinchi navbatda (x
i
+ 1, u
i
) piksel uchun m

gorizontal qadamni qarab 
chiqamiz. Buni pikselni (i + 1) yangi holatni deb belgilaymiz. Shunda yangi piksel 
koordinatasi va 


qiymati quyidagiga teng: 
x
i + 1
 = x
i+ 1 
u
i + 1
 = u
i
 

i + 1
 = (x
i+ 1 
+ 1)
2
 + (u
i+ 1 
- 1)
2
- R
2
= (x
i+ 1
)
2
 + 2x
i+ 1 
+ 1 + u
i
- 1)
2
- R
2
=
 
= (x
i
 + 1)
2
 + (u
i
 - 1)
2
 - R
2
 + 2x
i+ 1 
- 1= 

i
 + 2x
i+ 1 
- 1. 
(x
i
 + 1, u

- 1) pikselga m

qadam uchun 


qiymati va yangi piksel koordinatasi 
quyidagicha: 
x
i + 1
 = x
i
 + 1
 
u
i + 1
 = u
i
 - 1 

i + 1
 = 


+ 2x
i + 1 
- 2u
i+ 1 
+ 2 
Xuddi shunday (x
i
, y

- 1) ga m

qadam uchun ham 
x
i + 1
 = x

u
i + 1
 = u
i
 - 1 

i + 1
 = 

i
- 2u
i+ 1 
+ 1. 
Brezemxem algoritmini aylana uchun psevokodda qo‗llash pastda keltirilgan 

Download 3.55 Mb.

Do'stlaringiz bilan baham:
1   ...   39   40   41   42   43   44   45   46   ...   90




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling