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ə43/93
tarix20.11.2023
ölçüsü3,55 Mb.
#165659
1   ...   39   40   41   42   43   44   45   46   ...   93
Kompyuter grafikasi va dizayn

Brezemxemning umumiy algoritmi

Brezemxemning algoritmini ishga 
tushurish uchun kesmalarni hamma oktantalarda qayta ishlash zarur. Kesma va uning 
burchak koeffitsiyenti yotgan algoritmdagi kvadrantnomerini hicobga olgan holda, 
modifikatsiyasini qilish oson. Qachonki burchak koeffitsiyentining absolyut qiymati 
1 dan katta bo‗lsa, u doimo 1 ga o‗zgaradi, Brezemxemning xatolik kriteriysi x 
qiymatlari o‗zgarishi haqidagi echimlarni qabul qilish uchun foydalaniladi. Doimiy 
o‗zgaruvchilarni (+1 yoki -1) koordinatalarda tanlash kvadrantga bog‗liq. Umumiy 
algoritm quyidagi ko‗rinishda yozilgan bo‗lishi mumkin. 
Aylanani generatsiyalash uchun Brezzemxemning algoritmi

Rastrda 
faqatgina chiziqli funksiyalarga emas, balki boshqa murakkab funksiyalarni ham 
yoyish mumkin. Konus kesishmalarni, aylanalarni, ellipsni, parabola, giperbolalarni 
yoyish sezilarli darajada ish soni kiritilgan edi.
Aylanaga ko‗proq diqqat ajratilgan edi. Tushunish uchun oddiy va juda 
effektiv bo‗lgan aylanani generatsiyalash algoritmlaridan biri Brezemxemga tegishli. 
Boshlanishga e‘tiborga olamizki, aylananing sakkizdan bir qismini generatsiyalash 
zarur. Uning qolgan qismlari ketma-ket akslaridan olinishi mumkin. Agar (0 dan 45

soan ctrelkasiga teskari holda) birinchi oktant generatsiyalangan bo‗lsa, unda ikkinchi 
oktantni u=x to‗g‗ri chiziqga nisbatan aksidan olish mumkin, buni birinchi 
kvadrantlar to‗plami beradi. Aylananing mos keladigan qismini ikkinchi kvadrantdan 


78 
olish uchun birinchi kvadrant x=0 to‗g‗ri chiziqga nisbatan qaytadi. Aylananing 
yuqori yarim qismi qurishni tamomlash uchun x=0 to‗g‗ri chiziqga nisbatan qaytadi. 
Almashtirishga mos keladigan ikki o‗lchamli matritsa keltirilgan. 
Algoritmni chiqarish uchun koordinatalar bosh markazdan aylananing birinchi 
choragini qarab chiqamiz. Algoritmning ishchi nuqtasi x=0, u=R nuqtalardan 
boshlansa, u holda aylanani soan ctrelkasi bo‗yicha generatsiyalash vaqtida birinchi 
kvadranta u funksiya x argumentiningmonotonna kamayuvchi funksiyasi bo‗lib 
hisoblanadi. Agar u=0, u=R boshlang‗ich nuqta bo‗lib hisoblansa, u holda aylanani 
soan ctrelkasi yo‗nalishiga teskari holatda generatsiyalash vaqtida x funksiya u 
argumentining monotonna kamayuvchi funksiyasi hisoblanadi. Bizning holatda soan 
ctrelkasi bo‗yicha generatsiyatanlanadi x=0, u=R. Tasavvur qilamiz, aylana markazi 
va boshlang‗ich nuqta aniq rastr nuqtasida joylashgan.
Soan ctrelkasi yo‗nalishi bo‗yicha generatsiyalashda aylanaga berilgan har 
qanday nuqta uchun keyingi pikselni tanlash uchun uchta imkoniyat mavjud: o‗ngga 
gorizontal, diagonal bo‗yicha pastga va o‗ngga vertikal chapga. 
Bu yo‗nalishlar mosravishda m
H
, m
D
, m

lar bilan belgilangan. Algoritm aylana 
va piksellardan birining orasidagi masofa kvadrati minimali uchun piksel tanlaydi. 
M
H
= [(x
i
+ 1)
2
+ (y
y
)
2
- R
2

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

- 1)
2
- R
2

m
V
= [(x
i
)
2
+ (y

- 1)
2
- R
2

Agar (x
i
, u
i
) nuqtalar kesishuvini aylana va rastr setkasini kesib o‗tishini faqat 
besh turi mavjudligini e‘tiborga olib, echimni soddalashtirish mumkin. 
Kvadrantlar orasidagi farq, ya‘ni aylana markazidan diagonal piskelgacha 
masofa (x
i
+ 1, u
i
- 1) va markazdan aylanadagi R

nuqta 


= (x
i
+ 1)
2
+ (y

- 1)
2
- R
2

Xuddi Brezemxemning kesma uchun algoritmi kabi, mos keluvchi pikselni tanlash 
uchun iloji boricha faqat xatolik belgisidan foydalaning, uning miqdoridan emas. 


Yüklə 3,55 Mb.

Dostları ilə paylaş:
1   ...   39   40   41   42   43   44   45   46   ...   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