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



Yüklə 3,55 Mb.
Pdf görüntüsü
səhifə44/93
tarix20.11.2023
ölçüsü3,55 Mb.
#165659
1   ...   40   41   42   43   44   45   46   47   ...   93
Kompyuter grafikasi va dizayn




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 

 


va xuddi 1 holat kabi shu kriteriyadan 
foydalanilganda 
(x
i
 + 1, u
i

piksel tanlanadi.
Agar 




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 




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, 




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, 




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 

Yüklə 3,55 Mb.

Dostları ilə paylaş:
1   ...   40   41   42   43   44   45   46   47   ...   93




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin