Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 12000UZS
Размер 120.1KB
Покупки 0
Дата загрузки 07 Ноябрь 2026
Расширение docx
Раздел Дипломные работы
Предмет Информатика и ИТ

Продавец

Bohodir Jalolov

Qiya chiziq bo‘laklarini chizish uchun Brezenxem algoritmi

Купить
1Mavzu: “ Qiya chiziq bo'laklarini chizish uchun Brezenxem algoritmi ”
MUNDARIJA
I.BOB Brezenxem algoritmi ............................................................................ 3
1.1 Brezenxem algoritmi ................................................................................. 3
1.2-Parallel va uyali olamlar ........................................................................... 5
1.3-Bresenhamning umumiy algoritmi. ........................................................... 6
1.4-Aylana hosil qilish uchun Bresenham algoritmi. ...................................... 7
II. BOB Bezier egri chizig'i uchun geometrik algoritm .................................. 9
2.2 Yuzaki model "yagona panjara". ............................................................... 9
2.3.Bresenxemning umumlashtirilgan butun sonli kvadrant algoritmi ......... 17
XULOSA ....................................................................................................... 21
Foydalanilgan adabiyotlar ............................................................................. 22
ILOVA ........................................................................................................... 23
  2 KIRISH
Algoritm   –   berilgan   natijaga   erishish   uchun   qilinishi   kerak   bo lgan   aniqʻ
ko rsatmalar ketma-ketligi. Algoritm keng ma noda faqat  kompyuterga oid atama	
ʻ ʼ
bo lmay,   balki   unda   berilgan   ko rsatmalarni   bajara   oluvchi   har   qanday   narsaga
ʻ ʻ
oiddir.
Algoritm   —   ma lum   bir   turga   oid   masalalarni   yechishda   ishlatiladigan	
ʼ
amallarning muayyan tartibda bajarilishi haqidagi aniq qoida (dastur). Kibernetika
va matematikaning asosiy tushunchalaridan biri.
Algoritm so’zi Al – Xorazmiy nomining lotincha talaffuzidan kelib chiqqan
bo’lib.   Muxammad   Muso   Al-Xorazmiyning   X   asrda   yaratilgan   qo’llanmasida
keltirilgan o’nlik sanoq sistemasida arifmetik amallarni bajarish qoidalari soddaligi
tufayli   yevropada   ham   o’nlik   sanoq   sistemasi   qo’llanishiga   turtki   bo’ldi.   Bu
qoidalar tarjimasida xar bir qoida “Al-Xorazmiy aytadiki” deb boshlangan va bora-
bora talaffuz tufayli algoritm tarzida ifodalanib kelgan.
Hozirgi   paytda   algoritm   sifatida   biror   masalani   ishlash   yoki   biror   ishni
bajarish uchun qilinishi kerak bo’lgan tartiblangan chekli sondagi aniq bir qiymatli
ko’rsatmalar   ketma-ketligi   tushiniladi.   Algoritm   tushunchasi   keng   ma’noda   tahlil
qilish mumkin. Aslida programma ham algoritmning boshqa bir ko‘rinishi bo‘lib, u
insonning   kompyuter   bilan   muloqotini   qulayroq   amalga   oshirish   uchun
mo‘ljallangan.   Kompyuterda   dasturlash   bu   –   kompyuter   mikroprotsessori   uchun
turli   buyruqlar   berish,   qachon,   qayerda   nimani   o'zgartirish   va   nimalarni   kiritish
yoki chiqarish haqida buyruqlar berishdir. Bresenxem algoritmi 1962 yilda Jek E.
Bresenxem   tomonidan   taklif   qilingan   va   tekislikda   nuqtalar   bilan   figuralarni
chizish uchun mo'ljallangan. Bu algoritm kompyuter grafikasida ekranda chiziqlar
chizish uchun keng qo'llaniladi. Algoritm ikki o'lchovli rastrning qaysi nuqtalarini
bo'yash kerakligini aniqlaydi. 3I.BOB  Brezenxem algoritmi
1.1 Brezenxem algoritmi
       Bresenham algoritmi nazorat vazifalarida, masalan, quvvat yoki aylanish
tezligini boshqarishda ham qo'llanilishi mumkin. Bunday holda, gorizontal o'q vaqt
o'qi   bo'lib,   belgilangan   qiymat   to'g'ri   chiziqning   moyillik   burchagi   koeffitsientini
o'rnatadi.
Agar fazo diskret bo'lmasa, nega Axilles toshbaqani quvib o'tadi? Agar fazo
diskret bo'lsa, zarralar Brezenxem algoritmini qanday amalga oshiradi?
Men   uzoq   vaqtdan   beri   butun   olam   va   ayniqsa   uning   ish   qonunlari   nimani
anglatishi   haqida   o'yladim.   Ba'zida   bir   xil   Vikipediyadagi   ba'zi   jismoniy
hodisalarning   tavsiflari   hatto   bu   hududdan   unchalik   uzoq   bo'lmagan   odam   uchun
ham   tushunarsiz   bo'lib   qolishi   uchun   chalkash   bo'lib   qoladi.   Bundan   tashqari,
menga   o'xshagan   odamlarning   omadi   bo'lmadi   -   hech   bo'lmaganda   bu   hududdan
juda   uzoqda   bo'lganlar.   Biroq,   dasturchi   sifatida   men   deyarli   har   kuni   bir   oz
boshqacha   tekislikka   -   algoritmlarga   duch   kelaman.   Va   bir   kuni,   konsolda
qandaydir   2D-fizikani   amalga   oshirish   jarayonida   men   shunday   deb   o'yladim:
“Ammo   olam,   aslida,   noma'lum   o'lchamdagi   bir   xil   konsol.   Ushbu   konsolning
ekranida   chiziqli   harakatlanish   uchun   zarralar   Brezenxem   algoritmini   amalga
oshirmasligi kerak deb o'ylash uchun biron bir sabab bormi? Va hech qanday sabab
yo'qga o'xshaydi.
Umuman   olganda,   Bresenham   algoritmi   nima   ekanligi,   uning   fizika   bilan
qanday   bog'lanishi   va   bu   uning   talqiniga   qanday   ta'sir   qilishi   mumkinligi   bilan
qiziqqan  har   bir   kishi   -   mushuk   ostida   xush   kelibsiz.   Ehtimol,  siz   u   erda  parallel
olamlar mavjudligining bilvosita tasdig'ini topasiz. Yoki hatto uyali olamlar.
Brezenxem algoritmi
Oddiy qilib aytganda, qutidagi daftar varag'iga bir katak qalinlikdagi chiziq
chizish   uchun   siz   ketma-ket   turgan   katakchalarni   bo'yashingiz   kerak   bo'ladi.
Aytaylik,   daftar   varag'i   tekisligi   kataklarda   diskret   bo'ladi,   ya'ni   siz   qo'shni
hujayralarning ikkita qo'shni yarmini bo'yashingiz mumkin emas va siz 0,5 ofsetga
ega   bo'lgan   katakni   bo'yadingiz   deb   ayta   olmaysiz,   chunki   diskretlik   bunday
harakatga   yo'l   qo'ymaslikdadir.   .   Shunday   qilib,   bir   qatorda   turgan   kataklarni
ketma-ket bo'yash orqali siz kerakli uzunlikdagi segmentni olasiz. Keling, tasavvur
qilaylik,   uni   istalgan   yo'nalishda   45   daraja   aylantirishingiz   kerak   -   endi   siz
diagonal   bo'ylab   hujayralarni   bo'yab   qo'yasiz.   Aslida,   bu   bizning   miyamiz
tomonidan qo'llaniladigan ikkita oddiy funktsiyadir:
F(x)=0
va 4F(x)=x
Va endi tasavvur qiling-a, segmentni, masalan, yana 10 gradusga aylantirish kerak.
Keyin klassik bir hil chiziqli funktsiyani olamiz:
F(x)=x*tan(55)
Va bu funktsiyaning grafigini oddiy varaqda oddiy qalam bilan chizish har qanday
7-sinf   o'quvchisi   uchun   qiyin   emas.   Biroq,   hujayralarda   diskret   bo'lgan   bizning
taxmin   qilingan   qog'oz   varaqimizda   nima   qilish   kerak?   Axir,   keyin   chiziq
chizishda   qaysi   hujayralarni   bo'yashni   tanlash   kerak   bo'ladi.   Bu   erda   Brezenxem
algoritmi yordamga keladi.
Ushbu   agloritm   Jek   Bresenxem   tomonidan   1962   yilda   IBMda   ishlaganida
ishlab   chiqilgan.   U   hali   ham   ishlab   chiqarish   uskunalaridan   tortib   OpenGLgacha
bo'lgan   ko'plab   amaliy   va   tizim   komplekslarida   virtual   grafikani   amalga   oshirish
uchun   ishlatiladi.   Ushbu   algoritmdan   foydalanib,   ushbu   to'g'ri   chiziq   joylashgan
tekislikning berilgan diskretlik darajasi uchun berilgan to'g'ri chiziq uchun eng mos
keladigan taxminiylikni hisoblash mumkin.
Umumiy holat uchun Javascriptni amalga oshirish
var draw = (x, y) => ( ... ); // nuqta chizish funksiyasi var bresenham = (xs,
ys) => ( // xs, ys massivlar va mos ravishda deltaX = xs - xs, deltaY = ys - ys, xato
= 0, deltaError = deltaY, y = ys ; uchun (x = xs; x<= xs; x++) { draw(x, y); error
+= deltaError; if ((2 * error) >= deltaX) ( y -= 1; xato -= deltaX; ); ); );
Endi   bizni   o'rab   turgan   makon   hali   ham   diskret   ekanligini   tasavvur   qiling.   Va   u
hech   narsa,   zarralar,   tashuvchilar,   Xiggs   maydoni   yoki   boshqa   biror   narsa   bilan
to'ldirilganmi,   muhim   emas   -   bo'sh   joyning   minimal   miqdori   haqida   ma'lum   bir
tushuncha   mavjud,   undan   kam   narsa   bo'lishi   mumkin   emas.   Va   u   nisbiymi   yoki
nisbiylik nazariyasi unga nisbatan to'g'rimi, muhim emas - agar fazo egri bo'lsa, u
qayerda egri bo'lsa, u boshqa pozitsiyadan ko'rinadigan bo'lsa ham, diskret bo'ladi.
har   qanday   yo'nalishda   o'sha   minimal   chegaraning   o'zgarishi   bo'ldi.   Ushbu
farazdan ma'lum bo'ladiki, ma'lum bir hodisa yoki mavjudlik yoki qoida materiya
zarralari   va   o'zaro   ta'sir   tashuvchilarning   har   qanday   harakati   uchun   Bresenham
algoritmini   amalga   oshirishi   kerak.   Bu   ma'lum   darajada   mikrokosmosdagi
zarrachalar harakatining kvantlanishini tushuntiradi - ular kosmosning bir qismidan
boshqa   bo'lakka   "teleportsiz"   chiziqli   ravishda   harakatlana   olmaydilar,   chunki
ma'lum bo'lishicha, fazo umuman diskret emas.
Kosmosning diskretligining yana bir bilvosita tasdig'i yuqorida aytilganlarga
asoslangan   hukm   bo'lishi   mumkin:   agar   kuzatilayotgan   miqyosning   ma'lum   bir
pasayishi bilan bu Evklid geometriyasi yordamida tasvirlash qobiliyatini yo'qotsa,
u   holda   minimal   masofa   aniqlanganda   aniq   bo'ladi.   chegara   engib   o'tilgan   bo'lsa,
mavzuni geometrik tasvirlash usuli hali ham bo'lishi kerak. Faraz qilaylik, bunday
geometriyada   bir   parallel   chiziq   dastlabki   chiziqqa   tegishli   bo‘lmagan   nuqtadan
o‘tuvchi   bir   nechta   boshqa   to‘g‘ri   chiziqqa   to‘g‘ri   kelishi   mumkin   yoki   bunday
geometriyada   umuman   parallel   to‘g‘ri   chiziq   tushunchasi,   hattoki,   to‘g‘ri   chiziq 5tushunchasi ham mavjud emas. umuman chiziqlar, lekin ob'ektning geometriyasini
tavsiflashning   har   qanday   faraziy   ifodalangan   usuli   minimal   uzunlikdan   kamroq
joy   oladi.   Va,   siz   bilganingizdek,   ma'lum   bo'lgan   minimal   chegarada   bunday
geometriyani   tasvirlay   olishini   da'vo   qiladigan   bitta   nazariya   mavjud.   Bu   string
nazariyasi.   U   mavjudligini   taxmin   qiladi   nimadur ,   olimlar   torlar   yoki   branes   deb
atashadi,   talqin   va   matematik   modelga   qarab   darhol   10/11/26   o'lchamlarda.
Shaxsan menga bu taxminan shunday tuyuladi va so'zlarimni asoslash uchun men
siz   bilan   fikrlash   tajribasini   o'tkazaman:   ikki   o'lchovli   tekislikda,   geometriyasi
to'liq   "Evklid"   bilan,   yuqorida   aytib   o'tilgan   qoida   ishlaydi:   bitta   orqali   nuqtaga
berilgan chiziqqa parallel ravishda faqat bitta chiziq chizishingiz mumkin. Endi biz
ushbu   qoidani   uch   o'lchamli   fazoga   o'tkazamiz   va   olamiz   ikki   undan   kelib
chiqadigan yangi qoidalar:
Analog - bitta nuqta orqali siz berilganga parallel ravishda faqat bitta chiziq
chizishingiz mumkin
Berilgan   chiziqdan   ma'lum   bir   masofada   cheksiz-X   chiziqlar   bo'lishi
mumkin   va   bu   cheksizlik-X   masofadan   qat'i   nazar,   bu   chiziqqa   parallel   bo'lgan
barcha   chiziqlarning   cheksizligi-Z   dan   Y   marta   kichikdir,   bu   erda   Y   taxminan
gapirganda, kosmosdagi chiziq qalinligining mumkin bo'lgan soni
Oddiy   qilib   aytganda,   agar   siz   chiziqlarni   qurishda   o'lcham   qo'shsangiz,
lekin   chiziqlarning   Evklid   geometriyasi   qoidalariga   bo'ysunishini   hisoblashda
o'lcham qo'shmasangiz, ikkita mumkin bo'lgan parallel chiziqlar o'rniga biz chiziq
atrofida   mumkin   bo'lgan   chiziqlarning   "silindrini"   olamiz.   markaz   -   asl   chiziq.
Endi tasavvur qiling-a, biz Super Mario olamida yashayapmiz va bunday silindrni
o'zimizning   ikki   o'lchovli   makonimizga   loyihalashtirishga   harakat   qilyapmiz   -
hisob-kitoblarga ko'ra, parallel chiziqlar bo'lishi mumkin emas, lekin kuzatishlarga
ko'ra,   butun   bir   cheksizlik   bor   -   X   .   Nima   deb   o'ylaymiz?   To'g'ri,   biz   chiziqlarni
qurish   uchun   yana   bitta   o'lchovni   kiritamiz,   lekin   biz   uni   chiziqlarning   Evklid
geometriyasi   qoidalariga   bo'ysunishini   hisoblash   uchun   qo'shmaymiz.   Aslida,
bunday silindrning o'zimizning ikki o'lchovli fazoga proyeksiyasini ko'rganimizdan
so'ng,   biz   o'zimizning   ikki   o'lchovli   dunyomizda   simlar   nazariyasini   o'ylab
topamiz.
 
1.2-Parallel va uyali olamlar
Ma'lum bo'lishicha, osmon jismlarining xatti-harakatlarini atom modelida va
aksincha   ko'rgan   qadimgi   faylasuflar,   aytaylik,   bu   mutlaqo   bema'nilik   deb   da'vo
qilganlardan   ko'ra   haqiqatdan   unchalik   uzoq   bo'lmagan.   Axir,   agar   siz   o'zingizni
hamma narsadan ozod qilsangiz   bilim   va mantiqiy ravishda hukm qiling - nazariy
jihatdan,   pastki   chegara   bizga   tanish   bo'lgan   Evklid   geometriyasining   ishlashini
cheklash   uchun   biz   o'ylab   topgan   fantastikadan   boshqa   narsa   emas.   Boshqacha
qilib   aytganda,   Plank   uzunligidan   kamroq   bo'lgan   hamma   narsa,   to'g'rirog'i, 6aytganda   haqiqiy   Plank   uzunligi ,   Evklid   geometriyasi   usullari   bilan   oddiygina
hisoblab   bo'lmaydi,   lekin   bu   uning   mavjud   emasligini   anglatmaydi!   Ma'lum
bo'lishicha,   har   bir   bran   ko'p   o'lchovlar   to'plamidir   va   shunday   bo'ldiki,   Plank
uzunligidan   noma'lum   X   gacha   bo'lgan   oraliqda   haqiqat   geometriyasi   Evklid,
Plank   uzunligidan   past   -   masalan,   Lobachevskiy   geometriyasi   yoki   sharsimon.
geometriya   yoki   boshqasi,   bizning   parvozimizni   hech   qanday   tarzda   fantaziya
bilan cheklamasdan, ustunlik qiladi va X chegarasidan yuqori - masalan, dezarg'siz
va   sferik   geometriya.   Tush   ko'rish   zararli   emas   -   aytishingiz   mumkinki,   hatto
noyob   kvant   harakati   uchun   ham,   chiziqli   (bu   hali   ham   mikrokosmos   darajasida
kvantlangan)   haqida   gapirmasa   ham,   zarralar   bo'shliq   diskret   bo'lsa,   Bresenham
algoritmini amalga oshirishi kerak.
Boshqacha   qilib   aytadigan   bo'lsak,   yo   Axilles   hech   qachon   toshbaqani
ushlay   olmaydi,   yoki   biz   Matritsada   butun   kuzatilishi   mumkin   bo'lgan   olam   va
ma'lum   fizika   bo'lamiz,   ehtimol   -   haqiqatning   mumkin   bo'lgan   xilma-xilligining
ulkan okeanida bir tomchi.
LCD   displeyni   har   birini   ajratib   ko'rsatish   mumkin   bo'lgan   diskret
elementlar (piksellar) matritsasi  sifatida ko'rish mumkinligi sababli, segmentni bir
nuqtadan ikkinchisiga to'g'ridan-to'g'ri chizish mumkin emas. Berilgan segmentga
eng mos keladigan piksellarni aniqlash jarayoni rasterizatsiya deb ataladi. Tasvirni
bosqichma-bosqich   ko'rsatish   jarayoni   bilan   birlashtirilganda,   u   rastrli   skanerlash
konvertatsiyasi   deb   nomlanadi.   Gorizontal,   vertikal   va   45   °   eğimli   uchun.
segmentlar,   rastr   elementlarni   tanlash   aniq.   Boshqa   har   qanday   yo'nalish   uchun
kerakli piksellarni tanlash qiyinroq, bu 1-rasmda ko'rsatilgan.
1-rasm. Chiziq segmentlarining rastriga parchalanish.
Segmentlarni   chizish   algoritmlariga   qo'yiladigan   umumiy   talablar
quyidagilardan iborat: Segmentlar to'g'ri ko'rinishi, berilgan nuqtalarda boshlanishi
va   tugashi,   segment   bo'ylab   yorqinligi   doimiy   bo'lishi   va   uzunlik   va   qiyalikka
bog'liq bo'lmasligi kerak, siz tezda chizishingiz kerak.
Butun   segment   bo'ylab   doimiy   yorqinlikka   faqat   gorizontal,   vertikal   va
eğimli   45   °   burchak   ostida   chizilgan   holda   erishiladi.   Boshqa   barcha   yo'nalishlar
uchun rasterizatsiya, rasmda ko'rsatilganidek, notekis yorqinlikka olib keladi. bitta.
Ko'pgina chiziqli chizish algoritmlari hisob-kitoblarni soddalashtirish uchun
bosqichma-bosqich algoritmdan foydalanadi.
1.3-Bresenhamning umumiy algoritmi.
Brezenxem   algoritmini   amalga   oshirish   to'liq   bo'lishi   uchun   barcha   oktantlarda
segmentlarni   qayta   ishlash   kerak.   Algoritmda   segment   joylashgan   kvadrant   sonini   va
uning   qiyaligini   hisobga   olgan   holda   modifikatsiya   qilish   oson.   Nishabning   mutlaq
qiymati 1 dan katta bo'lsa,   da   doimiy ravishda bittaga o'zgaradi va qiymatni o'zgartirish
yoki   o'zgartirish   to'g'risida   qaror   qabul   qilish   uchun   Bresenham   xatosi   mezoni 7ishlatiladi   x .   Doimiy   o'zgaruvchan   (+1   yoki   -1   tomonidan)   koordinatani   tanlash
kvadrantga bog'liq (6-rasm). Umumiy algoritmni quyidagicha shakllantirish mumkin:
Bresenxemning umumlashtirilgan butun sonli kvadrant algoritmi
(x1,y1)   va   (x2,y2)   segmentning   uchlari   bir-biriga   to'g'ri   kelmaydi   deb   taxmin
qilinadi.
barcha o'zgaruvchilar butun sonlar sifatida ko'rib chiqiladi
belgisi - manfiy, nol va musbat argument uchun mos ravishda -1, 0, 1 qaytaruvchi
funksiya
o'zgaruvchan ishga tushirish
x = abs(x2 - x1)
y = abs(y2 - y1)
s1 =   belgisi (x2-x1)
s2 =   belgisi (y2 - y1)
segmentning qiyaligiga qarab x va y qiymatlarining almashinuvi
agar   y< x   keyin
oxiri   agar
ishga tushirish   e   yarim pikselga tuzatilgan
asosiy halqa
1.4-Aylana   hosil   qilish   uchun   Bresenham
algoritmi.
Rasterda   nafaqat   chiziqli,   balki   boshqa,   murakkabroq   funktsiyalarni   ham
parchalash kerak. Konus kesimlari, ya'ni doiralar, ellipslar, parabolalar, giperbolalarning
parchalanishi   sezilarli   miqdordagi   ishlarga   bag'ishlangan.   Eng   katta   e'tibor,   albatta,
aylanaga   beriladi.   Eng   samarali   va   tushunarli   doira   yaratish   algoritmlaridan   biri
Bresenhamga   bog'liq.   Birinchidan,   faqat   aylananing   sakkizdan   birini   yaratishingiz
kerakligini   unutmang.   Uning   qolgan   qismlarini   rasmda   ko'rsatilganidek,   ketma-ket   aks
ettirish orqali olish mumkin. 8. Agar birinchi oktant hosil bo'lsa (soat miliga teskari 0 dan
45   °   gacha),   ikkinchi   oktantni   y   \u003d   x   to'g'ri   chiziq   atrofida   aks   ettirish   orqali   olish
mumkin,   bu   birgalikda   birinchi   kvadrantni   beradi.   Ikkinchi   kvadrantda   aylananing   mos
keladigan   qismini   olish   uchun   birinchi   kvadrant   x   =   0   chizig'i   atrofida   aks   ettiriladi.
Yuqori   yarim   doira   qurilishni   yakunlash   uchun   y   =   0   to'g'ri   chiziqqa   nisbatan   aks
ettiriladi.   Shaklda.   8   da   mos   keladigan   o'zgarishlarning   ikki   o'lchovli   matritsalari 8ko'rsatilgan.   Algoritmni   chiqarish   uchun   aylananing   birinchi   choragini   ko'rib   chiqing.
E'tibor   bering,   agar   algoritm   nuqtadan   boshlangan   bo'lsa   x   =   0,   y   =   R,   keyin   birinchi
kvadrantda   soat   yo'nalishi   bo'yicha   aylana   hosil   qilganda   da   argumentlarning   monoton
kamayuvchi   funktsiyasidir   Xuddi   shunday,   agar   boshlang'ich   nuqtasi
bo'lsa   y=   0,   X   =   R,   keyin   soat   miliga   teskari   aylana   hosil   qilganda   X   argumentning
monoton kamayuvchi funktsiyasi bo'ladi   y.   Bizning holatda, avlod nuqtasida boshlanishi
bilan soat yo'nalishi bo'yicha tanlanadi   X   = 0,   y = R.   Aylananing markazi va boshlang'ich
nuqtasi aynan to'r nuqtalarida joylashgan deb taxmin qilinadi.
Doiradagi istalgan nuqta uchun soat yo'nalishi bo'yicha yaratilganda, aylanaga eng
yaqin   keladigan   keyingi   pikselni   tanlashning   faqat   uchta   imkoniyati   mavjud:   gorizontal
o'ngga,   diagonal   pastga   va   o'ngga,   vertikal   pastga.   Shaklda.   10   bu   yo'nalishlar   mos
ravishda m H, m D, m V bilan belgilanadi   .   Algoritm ushbu piksellardan biri va aylana
orasidagi masofaning kvadrati minimal bo'lgan pikselni tanlaydi, ya'ni minimal.
m H = |(x i + 1) 2 + (y i) 2 -R 2 |
m D = | |
m V = |(x i) 2 + (y i -1) 2 -R 2 |
Brezenxem   segmenti   algoritmida   bo'lgani   kabi,   mos   keladigan   pikselni   tanlash
uchun   uning   kattaligi   emas,   balki   faqat   xato   belgisidan   foydalanish   maqsadga
muvofiqdir.
Gorizontal o'qda algoritmni tugatish uchun chegara o'zgaruvchisi nolga o'rnatiladi,
natijada   birinchi   kvadrantda   aylana   hosil   bo'ladi.   Agar   oktantlardan   faqat   bittasi   kerak
bo'lsa,   ikkinchi   oktantni   Limit   =   belgilash   orqali   olish   mumkin   Butun   son (R/sqrt(2)),
birinchisi   esa   -   y   =   x   to'g'ri   chiziq   atrofida   ikkinchi   oktantni   aks   ettirish   orqal   amalga
oshiriladi. 9II.   BOB   Bezier   egri   chizig'i   uchun
geometrik algoritm
2.1   Yuzaki   tavsif   modellari.   Analitik
model    .  
            Analitik model - bu sirtni matematik formulalar bilan tavsiflash:
z = f(x,y) – funksiya yordamida tavsiflash,
F(x,y,z) = 0 - yashirin tenglama yordamida tavsiflash.
Ko'pincha sirt tavsifining parametrik shakli qo'llaniladi:
bu   erda   s   va   t   ma'lum   diapazonda   o'zgaruvchan   parametrlar   bo'lib,   Fx,   Fy   va   Fz
funktsiyalari sirt shaklini aniqlaydi.
Afzallik   Parametrik  shakl  noaniq  funktsiyalarga  mos  keladigan  sirtlarni   va   yopiq
sirtlarni tasvirlash qulayligida yotadi.
Parametrik   tavsif   shunday   o'rnatilishi   mumkinki,   sirt   aylantirilganda   va
masshtablanganda formula sezilarli darajada o'zgarmaydi (murakkablanadi).
Afzalliklar   modellar (CG pozitsiyasidan):
 sirtning har bir nuqtasining koordinatalarini, normallarni hisoblash qulayligi;
 juda murakkab shakllarni tavsiflash uchun kichik hajmdagi ma'lumotlar.
Kamchiliklari:
 kompyuterda   sekin   hisoblab   chiqiladigan   funktsiyalardan   foydalangan   holda   tavsif
formulalarining murakkabligi, ko'rsatish operatsiyalari tezligini pasaytiradi;
 ko'p hollarda ushbu tavsif shaklini bevosita sirt tasviriga qo'llashning iloji yo'qligi -
sirt   ko'pburchak   shaklida   ko'rsatiladi,   uning   tepalari   va   yuzlarining   koordinatalari
displey jarayonida hisoblab chiqiladi, bu esa ko'rsatkich bilan solishtirganda tezlikni
pasaytiradi. poligonal tavsif modeli.
2.2 Yuzaki model "yagona panjara". 10Ushbu   model   sirtdagi   alohida   nuqtalarning   koordinatalarini   quyidagi   tarzda
tavsiflaydi. Indekslari (i, j) bo'lgan har bir tarmoq tuguniga zij balandlik qiymati beriladi.
Indekslar   (i,   j)   koordinatalarning   ma'lum   qiymatlariga   (x,   y)   mos   keladi.   Tugunlar
orasidagi masofa bir xil - x o'qi bo'ylab dx, y o'qi bo'ylab dy. Aslida, bunday model ikki
o'lchovli   massiv,   rastr,   matritsa   bo'lib,   ularning   har   bir   elementi   balandlik   qiymatini
saqlaydi.
Har   bir   sirtni   ushbu   model   bilan   ifodalash   mumkin   emas.   Har   bir   tugunda   (i,   j)
faqat bitta balandlik qiymati qayd etilsa, bu sirt bitta qiymatli z = f (x, y) funksiyasi bilan
tasvirlanganligini bildiradi. Boshqacha qilib aytganda, bu har bir vertikal faqat bir marta
kesib o'tadigan sirt. Vertikal yuzlarni ham modellashtirish mumkin emas. Shuni ta'kidlash
kerakki, to'rni nafaqat Dekart koordinatalarida ko'rsatish mumkin. Masalan, bitta qiymatli
funktsiyali sharning sirtini tasvirlash uchun qutb koordinatalaridan foydalanish mumkin.
Yagona panjara yordamida ko'pincha er yuzasining relefi tasvirlanadi.
Yagona tarmoqning ijobiy xususiyatlari:
 sirtlarni tasvirlash qulayligi;
 oddiy   interpolyatsiya   orqali   sirtdagi   istalgan   nuqtaning   balandligini   tezda   aniqlash
qobiliyati.
Yagona tarmoqning kamchiliklari:
 panjara   nuqtalarida   balandlikning   noaniq   funktsiyasiga   mos   keladigan   sirtlarni
modellash mumkin emas;
 murakkab   sirtlarni   tasvirlash   uchun   kompyuter   xotirasi   miqdori   bilan   cheklanishi
mumkin bo'lgan ko'p sonli tugunlar talab qilinadi.
Yuzaki model "bir xil bo'lmagan to'r".
Noto'g'ri to'r sirtni alohida nuqtalar to'plami ((x0, y0, z0), (x1, y1, z1), …, (xn – 1,
yn – 1, zn – 1) ko'rinishida tasvirlash modelidir. )) sirtga tegishli. Bu nuqtalarni, masalan,
muayyan   asbob-uskunalar   yordamida   ob'ektning   sirtini   o'lchash   natijasida   olinishi
mumkin.   Bunday   modelni   yuqorida   muhokama   qilingan   ba'zi   modellar   uchun
umumlashma   deb   hisoblash   mumkin.   Masalan,   vektorli   ko'pburchak   modeli   va   bir   xil
to'rni bir xil bo'lmagan to'rning navlari deb hisoblash mumkin.
Bir-biri   bilan  mantiqiy  bog'liq   bo'lmagan  nuqta  qiymatlari   to'plami  ko'rinishidagi
sirt modelini ko'rib chiqing. Yo'naltiruvchi nuqtalarni belgilashning bir xil emasligi mos
yozuvlar   nuqtalari   bilan   mos   kelmaydigan   boshqa   sirt   nuqtalari   uchun   koordinatalarni
aniqlashni qiyinlashtiradi. Fazoviy interpolyatsiyaning maxsus usullari talab qilinadi.
Ma'lum   koordinatalardan   (x,   y)   z   koordinatasining   qiymatini   hisoblash   vazifasi
bo'lsin.   Buning   uchun   siz   bir   nechta   eng   yaqin   nuqtalarni   topishingiz   kerak,   so'ngra   bu
nuqtalarning   proyeksiyadagi   (x,   y)   nisbiy   o'rnidan   kelib   chiqqan   holda   z   ning   kerakli
qiymatini   hisoblashingiz   kerak.   Yagona   tarmoq   uchun   bu   muammo   juda   oddiy   hal
qilinadi   -   aslida   hech   qanday   qidiruv   yo'q,   eng   yaqin   mos   yozuvlar   nuqtalarining
indekslari darhol hisoblanadi. 11Ikkinchi   vazifa   -   sirtni   ko'rsatish   (vizual   qilish).   Bu   muammoni   bir   necha   usul
bilan hal qilish mumkin. Eng keng tarqalganlardan biri bu triangulyatsiya.
Triangulyatsiya jarayonini quyidagicha ifodalash mumkin:
 biz birinchi  uchta  nuqtani  bir-biriga eng yaqin  topamiz  - biz  bitta tekis  uchburchak
yuzni olamiz;
 biz   bu   yuzga   eng   yaqin   nuqtani   topamiz   va   qo'shni   yuzni   hosil   qilamiz   va   shunga
o'xshash bitta nuqta qolmaguncha.
Brezenxem algoritmi ikki o lchovli rastrning qaysi nuqtalari berilgan ikkita nuqtaʻ
orasidagi   to g ri   chiziqqa   yaqinroq   bo lishi   uchun   soyalanishi   kerakligini   aniqlaydigan	
ʻ ʻ ʻ
algoritmdir.
Segment ikki nuqta - (x0, y0) va (x1, y1) o'rtasida chiziladi, bu erda bu juftliklar
mos ravishda ustun va qatorni o'z ichiga oladi, ularning raqamlari o'ngga va pastga ortadi.
Birinchidan,   bizning   chizig'imiz   pastga   va   o'ngga   tushadi   va   gorizontal   masofa   x1   -   x0
vertikal masofa y1 - y0 dan kattaroqdir, ya'ni. chiziqning gorizontaldan qiyaligi 45 ° dan
kam.   Bizning   maqsadimiz   x0   va   x1   oralig'idagi   har   bir   x   ustun   uchun   qaysi   qator   y
chiziqqa eng yaqin ekanligini aniqlash va (x,y) nuqtani chizishdir.
Ikki nuqta orasidagi chiziqning umumiy formulasi:
Biz x ustunini bilganimiz uchun y qatori quyidagi qiymatni butun songa yaxlitlash
orqali olinadi:
Biroq,   bu   ifodaning   aniq   qiymatini   hisoblashning   hojati   yo'q.   Shuni   ta'kidlash
kifoyaki, y y0 dan o'sadi va har bir qadam uchun biz x ga bitta qo'shamiz va y ga qiyalik
qiymatini qo'shamiz.
Buni   oldindan   hisoblash   mumkin.   Bundan   tashqari,   har   bir   qadamda   biz   ikkita
narsadan birini qilamiz: yo bir xil y ni saqlang yoki uni 1 ga oshiring.
Ikkalasidan qaysi birini tanlashni xato qiymatini kuzatish orqali hal qilish mumkin,
bu joriy y qiymati va joriy x uchun aniq y qiymati o'rtasidagi vertikal masofani anglatadi.
Qachonki   biz   x   ni   oshirsak,   xato   qiymatini   yuqorida   keltirilgan   s   qiyalik   miqdoriga
oshiramiz.   Agar   xato   0,5   dan   katta   bo'lsa,   chiziq   keyingi   y   ga   yaqinlashadi,   shuning
uchun   xato   qiymatini   1   ga   kamaytirgan   holda   y   ni   bir   marta   oshiramiz.   Quyidagi
algoritmni amalga oshirishda plot(x,y) nuqta chizadi va abs raqamning mutlaq qiymatini
qaytaradi:
funktsiyasi   chiziq (x0, x1, y0, y1) 12int   deltax:= abs(x1 - x0)
int   deltay:= abs(y1 - y0)
haqiqiy   xato: = 0
haqiqiy   deltaerr:= deltay / deltax
int   y:= y0
uchun   x   dan   x0   uchun   x1
xato: = xato + deltaerr
agar   xato >= 0,5
xato:= xato - 1.0
Segmentning   boshida   koordinatalar   (X   1   ,Y   1)   va   oxiri   (X   1   ,X   2)   bo lsin.ʻ
Belgilamoq
Dx=(X   2   -X   1),   dy=(Y   2   -Y   1)   .   Umumiylikni   yo'qotmasdan,   biz   segmentning
boshlanishi koordinatalarning kelib  chiqishiga to'g'ri  keladi va to'g'ri  chiziq shaklga ega
deb taxmin qilamiz.
Qayerda.   Biz   boshlang'ich   nuqtasi   chap   tomonda   deb   taxmin   qilamiz.   (i-1)   -chi
pog'onada segmentning joriy nuqtasi P i -1 =(r,q) bo'lsin. Keyingi nuqtani tanlash S i yoki
T i farqning (s-t) belgisiga bog'liq. Agar (s-t)<0 ,  то  P i =T i =(r+1,q)  и   тогда
X i +1 =i+1;Y i +1 =Y i , agar (s-t)≥0 bo lsa, P i =T i =(r+1,q+1) va keyin X i +1	
ʻ
=i+ bir ; Y i +1 = Y i +1 ;
dx=(s-t)=2(rdy-qdx)+2dy –dx
dx=(s-t)   ning   ishorasi   ayirma   belgisi   bilan   mos   kelgani   uchun)   d   i   =dx(s-t)
ifodaning ishorasini tekshiramiz. . r=X i -1 va q=Y i -1 bo‘lgani uchun
d i +1 = d i +2dy -2dx(y i -y i -1) .
Oldingi bosqichda bo'lsin d i<0 ,  тогда (y i -y i -1)=0  и  d i +1 = d i +2dy .  Если же
на предыдущем шаге d i ≥0 , тогда(y i -y i -1)=1 и d i +1 = d i +2dx(y i -y i -1)
D i ni qanday hisoblashni o'rganish qoladi. Chunki i=1 uchun
Protsedura Bresenham(x1,y1,x2,y2,Rang: integer);
dx,dy,incr1,incr2,d,x,y,xend: butun son;
dx:=ABS(x2-x1); 13dy:= Abs(y2-y1);
d:=2*dy-dx; (d ning boshlang'ich qiymati)
incr1:=2*dy; (d uchun o'sish<0}
incr2:=2*(dy-dx); (d>=0 uchun o'sish)
agar x1>x2 bo'lsa (pastki x qiymati bilan nuqtadan boshlab)
PutPixel(x,y,rang); (segmentning birinchi nuqtasi)
X esa<="" p="">
d:=d+incr1 (pastki nuqtani tanlang)
d:=d+incr2; (yuqori nuqtani tanlang, y o'sadi)
PutPixel(x,y,rang);
Algoritm segmentni ifodalash uchun optimal rastr koordinatalarini tanlaydi. Rastr
birligi sifatida Dx yoki Dy o'sishlarning kattarog'i tanlanadi. Ish paytida koordinatalardan
biri   -   x   yoki   y   (nishabga   qarab)   -   bittaga   o'zgaradi.   Boshqa   koordinatani   o'zgartirish   (0
yoki   1   ga)   segmentning   haqiqiy   holati   va   eng   yaqin   panjara   koordinatalari   orasidagi
masofaga bog'liq. Bu masofa xato.
Algoritm   shunday   tuzilganki,   bu   xatoning   belgisini   bilishgina   talab   qilinadi.
Shuning   uchun   rastr   nuqtasi   (1,   1)   segmentning   borishini   (1,   0)   nuqtadan   yaxshiroq
yaqinlashtiradi.   Nishab   ½  dan   kichik   bo'lsa,   buning   aksi   to'g'ri   bo'ladi.   ½   nishab   uchun
afzal tanlov yo'q. Bunda algoritm nuqtani (1, 1) tanlaydi. Faqat xato belgisini tekshirish
maqsadga   muvofiq   bo'lganligi   sababli,   u   dastlab   -½   ga   o'rnatiladi.   Shunday   qilib,   agar
segment qiyaligi ½ dan katta yoki teng bo'lsa, keyingi pikseldagi xato miqdori e = -½ +
Dy/Dx sifatida hisoblanishi mumkin.
Bresenham   algoritmini   amalga   oshirish   to'liq   bo'lishi   uchun   barcha   oktantlarda
segmentlarni   qayta   ishlash   kerak.   Algoritmda   segment   yotadigan   kvadrant   sonini   va
uning qiyaligini hisobga olgan holda buni qilish oson. Nishabning mutlaq qiymati 1 dan
katta   bo'lsa,   y   doimiy   ravishda   bittaga   o'zgaradi   va   x   qiymatini   o'zgartirish   yoki
o'zgartirish   to'g'risida   qaror   qabul   qilish   uchun   Bresenham   xato   mezoni   qo'llaniladi.
Doimiy o'zgaruvchan (+1 yoki -1) koordinatani tanlash kvadrantga bog'liq
var x,y,sy,sx,dx,dy,e,z,i: Integer;
o'zgartirish: mantiqiy;
boshlash
x:=x1; y:=y1;
dx:=abs(x2-x1); dy:=abs(y2-y1) ;
sx:=belgi(x2-x1); sy:=belgi(y2-y1);
e:= 2*dy-dx;
agar dy 14boshqa boshlanadi
z:=dx;
dx:=dy; dy:=z;
o'zgartirish: = rost
oxiri;
i:=1 uchun dx+dy boshlanadi
agar dy< dx then begin
agar o'zgartirilsa, y:=y+sy
boshqa x:=x+sx;
e:=e+2*dy;
boshqa tugaydi
o'zgartirilsa, x:=x+sx
Aks holda y:=y+sy;
e:=e-2*dx
oxiri;
Form1.Canvas.Pixels:=clblack; // masalan, chiqish nuqtasi
oxiri;
Raster   chiziqli   va   boshqa   ko'proq   katlama   funktsiyalarida   joylashtirilishi   kerak.
Razkladannyukoníchnykh   perízív,   tobto   kil,   elípsív,   parabola,   giperbola,   ishning
ahamiyati tayinlandi. Eng katta hurmat, zrozumílo, biriktirilgan pay. Doira yaratish uchun
eng samarali va tushunarli algoritmlardan biri Bresenhamdir. Kob uchun, qoziqning faqat
sakkizdan   birini   hosil   qilish   kerakligi   hurmatlidir.   Reshta   її   qismlari   oxirgi   bitkoinlar
tomonidan   olib   ketilishi   mumkin.   Agar   birinchi   oktant   hosil   bo'lsa   (qarama-qarshi
o'qning  0 dan 45  ° gacha),  unda  boshqa  oktantni  to'g'ri  yo'nalishda  oyna  tasviri  sifatida
olish mumkin y \u003d x, bu birinchi kvadrantni umumiy holda beradi. Birinchi kvadrant
to'g'ri ko'rinadi x = 0 qoziqning yuqori qismini boshqa kvadrantdan olib tashlash uchun.
Yuqori chiziq ko'rinadigan darajada to'g'ri y = 0 tugatish uchun.
Algoritmni   ko'rish   uchun   markaz   koordinatalar   markazida   joylashgan   qoziqning
birinchi choragini ko'rib chiqaylik. Hurmat bilan, robot x = 0, y = R nuqtadan boshlanadi,
keyin   birinchi   kvadratdagi   o'q   orqasida   doira   hosil   qilganda,   argumentlarning   monoton
ravishda parchalanish funktsiyasi. Xuddi shunday, chiqish nuqtasi sifatida ê y \u003d 0, x
\u003d\u003d   R,   keyin   qarama-qarshi   o'q   x   doirasini   yaratishda   biz   y   argumentining
monoton   ravishda   parchalanadigan   funktsiyasi   bo'lamiz.   Bizning   holatda,   avlod   yil   o'qi
uchun x = 0, y = R nuqtalarida boshoq bilan tanlanadi. Kobning markazi va kob nuqtasi
rastr nuqtalarida aniq qayta yozilishi muhimdir.
Yil   o'qidan   keyin   hosil   qilish   paytida   raqamda   berilgan   nuqta   bo'ladimi   yoki
yo'qmi,   keyingi   pikselni   tanlashning   faqat   uchta   imkoniyati   mavjud,   eng   yaqin   daraja
aylana   hisoblanadi:   gorizontal   o'ngga,   diagonal   pastga   va   o'ngga,   vertikal   pastga.
Algoritm   minimal   kvadrati   ushbu   piksellardan   biri   va   aylana   o'rtasida   bo'lgan   pikselni
tanlaydi
Kundalik   hayotda   ko'pincha   matematik   tarzda   tasvirlab   bo'lmaydigan   tasvirni
(naqshlarni)   kuzatish   mumkin.   Misol:   qishda   derazalar   muzlaydi,   siz   rasmni   tomosha
qilishingiz mumkin. Bunday to'plamlar fraktal deyiladi. Fraktallar geometriyadagi taniqli
raqamlarga o'xshamaydi va ular kompyuterda amalga oshirilishi mumkin bo'lgan ma'lum 15algoritmlarga   muvofiq   qurilgan.   Oddiy   qilib   aytganda,   fraktal   -   bu   asl   shaklga   qayta-
qayta   qo'llaniladigan   qandaydir   o'zgarishlar   natijasida   paydo   bo'lgan   tasvir.
Fraktal geometriyaning birinchi g'oyalari 19-asrda paydo bo'lgan. Kantor oddiy rekursiv
protseduradan   foydalanib,   chiziqni   bir-biriga   bog'lanmagan   nuqtalar   to'plamiga
aylantirdi,   keyinchalik   u   Kantor   changi   deb   nomlandi.   U   chiziqni   oldi   va   markaziy
uchinchi qismini olib tashladi va keyin qolgan segmentlar bilan xuddi shunday takrorladi.
Peano   maxsus   turdagi   chiziq   chizdi.   Uni   chizish   uchun   Peano   quyidagi   algoritmdan
foydalangan:
U   to'g'ri   chiziq   oldi   va   uni   asl   chiziqdan   uch   barobar   qisqaroq   segmentlar   bilan
almashtirdi.   Keyin   u   har   bir   segment   bilan   bir   xil   harakatni   takrorladi.   Uning   o'ziga
xosligi   shundaki,   u   butun   tekislikni   to'ldiradi,   ya'ni.   tekislikdagi   har   bir   nuqta   uchun
Peano   chizig'iga   tegishli   nuqtani   topish   mumkin.
Fraktal   geometriyaning   asoschisi   hisoblanadi   Benua   Mandelbrot .   Mandelbrot   "fraktal"
tushunchasini kiritdi.
Fraktal - bu qismlardan tashkil topgan va qismlarga bo'linadigan geometrik figura,
ularning   har   biri   butunning   kichikroq   nusxasi   bo'ladi.   Fraktallarning   asosiy   xususiyati
o'ziga o'xshashlikdir, ya'ni. fraktalning har qanday bo'lagi u yoki bu tarzda uning global
tuzilishini takrorlaydi. Fraktallar geometrik, algebraik, stokastik, takrorlangan funksiyalar
sistemasiga bo'linadi.
Kundalik   hayotimizda   biz   doimo   o'lchamlarga   duch   kelamiz.   Biz   yo'lning
uzunligini   hisoblaymiz,   kvartiraning   maydonini   aniqlaymiz   va   hokazo.   Ushbu
kontseptsiya   juda   intuitiv   tarzda   aniq   va   aniq   ko'rinib   turibdiki,   tushuntirishni   talab
qilmaydi. Chiziqning o'lchami 1. Bu shuni anglatadiki, mos yozuvlar nuqtasini tanlab, biz
ushbu chiziqning istalgan nuqtasini 1 raqamdan foydalanib aniqlashimiz mumkin - ijobiy
yoki   salbiy.   Va   bu   barcha   chiziqlar   uchun   amal   qiladi   -   doira,   kvadrat,   parabola   va
boshqalar.
2-o'lchov har qanday nuqtani ikkita raqam bilan aniq belgilashimiz mumkinligini
anglatadi.   Ikki   o'lchovli   degani   tekis   degani   deb   o'ylamang.   Sfera   yuzasi   ham   ikki
o'lchovli   (uni   ikkita   qiymat   yordamida   aniqlash   mumkin   -   kenglik   va   uzunlik   kabi
burchaklar).
Agar   siz   matematik   nuqtai   nazardan   qarasangiz,   u   holda   o'lcham   quyidagicha
aniqlanadi:   bir   o'lchovli   ob'ektlar   uchun   -   ularning   chiziqli   o'lchamlarini   ikki   barobarga
oshirish o'lchamning (bu holda, uzunligi) ikki marta (2 ^ 1) oshishiga olib keladi.
2D   ob'ektlar   uchun   chiziqli   o'lchamlarni   ikki   baravar   oshirish   o'lchamning   to'rt
marta (2 ^ 2) oshishiga olib keladi (masalan, to'rtburchaklar maydoni).
3   o'lchovli   ob'ektlar   uchun   chiziqli   o'lchamlarning   ikki   baravar   ko'payishi
hajmning sakkiz marta oshishiga olib keladi (2 ^ 3) va hokazo.
geometrik fraktallar
Aynan   shu   fraktal   bilan   butun   fraktallarning   rivojlanish   tarixi   boshlandi.   Ushbu
turdagi   fraktallar   oddiy   geometrik   konstruktsiyalar   bilan   olinadi.   Odatda,   geometrik
fraktallarni qurishda ular quyidagi algoritmga amal qiladi: 161. Segmentlar to'plami olinadi, ularning asosida fraktal quriladi.
2. Ushbu   to'plamga   ma'lum   qoidalar   qo'llaniladi,   ular   uni   qandaydir   geometrik   shaklga
aylantiradi.
3. Ushbu raqamning har bir qismi uchun bir xil qoidalar to'plami qo'llaniladi. Har bir qadam
bilan   raqam   tobora   murakkablashadi   va   agar   biz   cheksiz   miqdordagi   o'zgarishlarni
amalga oshirsak, biz geometrik fraktalni olamiz.
Geometrik fraktallarga misollar: Peano egri chizig'i, Kox qor parchasi, paporotnik
bargi, Sierpinski uchburchagi,
II.2-rasm.     Qor parchasi Koch
II.3-rasm  Varaq 172.3.Bresenxemning   umumlashtirilgan
butun sonli kvadrant algoritmi
     Algebraik fraktallar algebraik funktsiyalar asosida qurilganligi sababli o'z
nomini   oldi.   Algebraik   fraktallarga   quyidagilar   kiradi:   Mandelbrot   to'plami,   Julia
to'plami, Nyuton hovuzlari, biomorflar.
- Mandelbrot   to'plami:   Mandelbrot   to'plami   birinchi   marta   1905   yilda   Per   Fatu
tomonidan tasvirlangan. Fatou shaklning rekursiv jarayonlarini o'rgangan
Murakkab   tekislikdagi   nuqtadan   boshlab,   ushbu   formulani   ularga   ketma-ket
qo'llash   orqali   siz   yangi   nuqtalarni   olishingiz   mumkin.   Nuqtalarning   bunday   ketma-
ketligi aylantirilganda orbita deb ataladi
Fatou ushbu transformatsiya ostidagi orbita  juda murakkab va qiziqarli  harakatni
ko'rsatishini   aniqladi.   Bunday   o'zgarishlarning   cheksiz   soni   mavjud   -   har   bir   qiymat
uchun bittadan. (Mandelbrot nomini oldi, chunki u birinchi bo'lib kompyuter yordamida
kerakli miqdordagi hisob-kitoblarni amalga oshirdi).
- Julia   to'plami :   Yuliya   ratsional   xaritalash   to'plami -
boshlang'ich   pozitsiyasining   kichik   buzilishlariga   nisbatan   yaqin   atrofdagi   dinamikasi
ma'lum ma'noda beqaror bo'lgan nuqtalar to'plami. Agar   f - polinom, ular to'ldirilgan Julia
to'plamini ham ko'rib chiqadilar - cheksizlikka moyil bo'lmagan nuqtalar to'plami. Odatiy
Julia to'plami keyin uning chegarasi hisoblanadi.
- Nyuton   hovuzlari:   Fraktal   chegaralari   bo'lgan   maydonlar   chiziqli   bo'lmagan
tenglamaning   ildizlari   taxminan   Nyuton   algoritmi   tomonidan   murakkab   tekislikda
topilganda paydo bo'ladi (haqiqiy o'zgaruvchining funktsiyasi uchun Nyuton usuli odatda
deyiladi.   tangens usuli , bu holda, murakkab tekislikka umumlashtiriladi).
Murakkab   o'zgaruvchining   funksiyasining   nolini   topish   uchun   Nyuton   usulini
qo'llaymiz:
Dastlabki   taxminiylikni   tanlash   alohida   qiziqish   uyg'otadi.   Chunki   funktsiya   bir
nechta   nolga   ega   bo'lishi   mumkin,   turli   hollarda   usul   turli   qiymatlarga   yaqinlashishi
mumkin.
-biomorflar:   z=z   3   +c   formulasi   bilan   hisoblangan   Julia   to'plamining
qisqartirilgan   shakli.   Bu   nom   bir   hujayrali   organizmlar   bilan   o'xshashligi   sababli
berilgan.
Stokastik fraktallar 18Ushbu turdagi fraktallarning tipik vakili plazma deb ataladigan narsadir.
Uning qurilishi uchun to'rtburchaklar olinadi va uning har bir burchagi uchun rang
aniqlanadi.   Keyin   to'rtburchakning   markaziy   nuqtasini   toping   va   uni   to'rtburchak
burchaklaridagi   ranglarning   o'rtacha   arifmetik   qiymatiga   +   ba'zi   tasodifiy   songa   teng
rangga   bo'yang.   Bu   tasodifiy   raqam   qanchalik   katta   bo'lsa,   naqsh   shunchalik   yirtilgan
bo'ladi.
Tabiiy   ob'ektlar   ko'pincha   fraktal   shaklga   ega.   Ularni   modellashtirish   uchun
stokastik (tasodifiy) fraktallardan foydalanish mumkin. Stokastik fraktallarga misollar:
Braun harakatining tekislik va fazoda traektoriyasi;
Braun   harakati   traektoriyasining   tekislikdagi   chegarasi.   2001   yilda   Louler,
Shramm   va   Verner   Mandelbrotning   uning   o'lchami   4/3   ga   teng   degan   taxminini
isbotladilar.
Schramm-Löwner   evolyutsiyalari   -   bu   Ising   modeli   va   perkolatsiya   kabi   statistik
mexanikaning   kritik   ikki   o'lchovli   modellarida   paydo   bo'ladigan   konformal   invariant
fraktal egri chiziqlar.
tasodifiy fraktallarning har xil turlari, ya'ni rekursiv protsedura yordamida olingan
fraktallar,   bunda   har   bir   bosqichda   tasodifiy   parametr   kiritiladi.   Plazma   kompyuter
grafikasida bunday fraktaldan foydalanishga misoldir.
Fraktal   monotipi   yoki   stoxatipiya   -   tasviriy   san'at   yo'nalishi   bo'lib,   u   tasodifiy
fraktal tasvirini olishdan iborat.
To'g'ri chiziqdan xulosa chiqarish algoritmi
Katod   nurlari   trubkasi   (CRT)   bitmap   displeyining   ekrani   har   biri   yoritilishi
mumkin   bo'lgan   diskret   elementlar   (piksellar)   matritsasi   sifatida   ko'rib   chiqilishi
mumkinligi sababli, segmentni bir nuqtadan ikkinchisiga to'g'ridan-to'g'ri chizish mumkin
emas. Berilgan segmentga eng mos keladigan piksellarni aniqlash jarayoni rasterizatsiya
deb   ataladi.   Tasvirni   bosqichma-bosqich   ko'rsatish   jarayoni   bilan   birlashtirilganda,   u
rastrli   skanerlash   konvertatsiyasi   deb   nomlanadi.   Gorizontal,   vertikal   va   45   °   eğimli
uchun. segmentlar, rastr elementlarni tanlash aniq. Boshqa har qanday yo'nalish uchun 1-
rasmda ko'rsatilganidek, kerakli piksellarni tanlash qiyinroq.
Segmentlarni   chizish   algoritmlariga   qo'yiladigan   umumiy   talablar   quyidagilardan
iborat: Segmentlar to'g'ri  ko'rinishi, berilgan nuqtalarda boshlanishi va tugashi, segment
bo'ylab   yorqinligi   doimiy   bo'lishi   va   uzunlik   va   qiyalikka   bog'liq   bo'lmasligi   kerak,   siz
tezda chizishingiz kerak.
Butun segment bo'ylab doimiy yorqinlikka faqat gorizontal, vertikal va eğimli 45 °
burchak ostida chizilgan holda erishiladi. Boshqa barcha yo'nalishlar uchun rasterizatsiya,
rasmda ko'rsatilganidek, notekis yorqinlikka olib keladi. 19(x1,y1)   va   (x2,y2)   segmentning   uchlari   bir-biriga   to'g'ri   kelmaydi   deb   taxmin
qilinadi.
barcha o'zgaruvchilar butun sonlar sifatida ko'rib chiqiladi
belgisi - manfiy, nol va musbat argument uchun mos ravishda -1, 0, 1 qaytaruvchi
funksiya
o'zgaruvchan ishga tushirish
 x = abs(x2 - x1)
 y = abs(y2 - y1)
s1 =   belgisi (x2-x1)
s2 =   belgisi (y2 - y1)
segmentning qiyaligiga qarab   x va   y qiymatlarining almashinuvi
agar  y<   x   keyin
oxiriagar
ishga tushirish    yarim pikselga tuzatildi
  = 2*  y -   x
asosiy halqa
uchun   i = 1   uchun  x
Syujet (x,y)
esa (   =>0)
agar   Almashtirish = 1   keyin
  =    - 2*  x
tugaydi
agar   Almashtirish = 1   keyin
Rasterda   nafaqat   chiziqli,   balki   boshqa,   murakkabroq   funktsiyalarni   ham
parchalash kerak. Konus kesimlari, ya'ni doiralar, ellipslar, parabolalar, giperbolalarning
parchalanishi   sezilarli   miqdordagi   ishlarga   bag'ishlangan.   Eng   katta   e'tibor,   albatta,
aylanaga   beriladi.   Eng   samarali   va   tushunarli   doira   yaratish   algoritmlaridan   biri
Bresenhamga   bog'liq.   Birinchidan,   faqat   aylananing   sakkizdan   birini   yaratishingiz
kerakligini   unutmang.   Uning   qolgan   qismlarini   rasmda   ko'rsatilganidek,   ketma-ket   aks 20ettirish   orqali   olish   mumkin.   5.1.   Agar   birinchi   oktant   hosil   bo'lsa   (soat   miliga   teskari
yo'nalishda 0 dan 45 ° gacha), ikkinchi oktantni  y = x to'g'ri  chiziq atrofida  aks ettirish
orqali   olish   mumkin,   bu   birgalikda   birinchi   kvadrantni   beradi.   Ikkinchi   kvadrantda
aylananing   mos   keladigan   qismini   olish   uchun   birinchi   kvadrant   x   =   0   chizig'i   atrofida
aks   ettiriladi.   Yuqori   yarim   doira   qurilishni   yakunlash   uchun   y   =   0   to'g'ri   chiziqqa
nisbatan   aks   ettiriladi.   Algoritmni   chiqarish   uchun   aylananing   birinchi   choragini   ko'rib
chiqing.   E'tibor   bering,   agar   algoritm   nuqtadan   boshlangan   bo'lsa   x   =   0,   y   =   R,   keyin
birinchi   kvadrantda   soat   yo'nalishi   bo'yicha   aylana   hosil   qilganda   da   argumentlarning
monoton   kamayuvchi   funktsiyasidir   (5.2-rasm).   Xuddi   shunday,   agar   boshlang'ich
nuqtasi   bo'lsa   y=   0,   X   ==   R,   keyin   soat   miliga   teskari   aylana   hosil
qilganda   X   argumentning   monoton   kamayuvchi   funktsiyasi   bo'ladi   y.   Bizning   holatda,
avlod   nuqtasida   boshlanishi   bilan   soat   yo'nalishi   bo'yicha   tanlanadi   X   =   0,   y   =
R.   Aylananing   markazi   va   boshlang'ich   nuqtasi   aynan   to'r   nuqtalarida   joylashgan   deb
taxmin qilinadi.
Doiradagi istalgan nuqta uchun soat yo'nalishi bo'yicha yaratilganda, aylanaga eng
yaqin   keladigan   keyingi   pikselni   tanlashning   faqat   uchta   imkoniyati   mavjud:   gorizontal
o'ngga,   diagonal   pastga   va   o'ngga,   vertikal   pastga.   Shaklda.   5.3   ushbu   yo'nalishlar   mos
ravishda m H, m D, m V sifatida belgilanadi   . 21 XULOSA
Algoritm   –   berilgan   natijaga   erishish   uchun   qilinishi   kerak   bo lgan   aniqʻ
ko rsatmalar ketma-ketligi. Algoritm keng ma noda faqat  kompyuterga oid atama	
ʻ ʼ
bo lmay,   balki   unda   berilgan   ko rsatmalarni   bajara   oluvchi   har   qanday   narsaga
ʻ ʻ
oiddir.
Algoritm   —   ma lum   bir   turga   oid   masalalarni   yechishda   ishlatiladigan	
ʼ
amallarning muayyan tartibda bajarilishi haqidagi aniq qoida (dastur). Kibernetika
va matematikaning asosiy tushunchalaridan biri.
Algoritm so’zi Al – Xorazmiy nomining lotincha talaffuzidan kelib chiqqan
bo’lib.   Muxammad   Muso   Al-Xorazmiyning   X   asrda   yaratilgan   qo’llanmasida
keltirilgan o’nlik sanoq sistemasida arifmetik amallarni bajarish qoidalari soddaligi
tufayli   yevropada   ham   o’nlik   sanoq   sistemasi   qo’llanishiga   turtki   bo’ldi.   Bu
qoidalar tarjimasida xar bir qoida “Al-Xorazmiy aytadiki” deb boshlangan va bora-
bora talaffuz tufayli algoritm tarzida ifodalanib kelgan.
Hozirgi   paytda   algoritm   sifatida   biror   masalani   ishlash   yoki   biror   ishni
bajarish uchun qilinishi kerak bo’lgan tartiblangan chekli sondagi aniq bir qiymatli
ko’rsatmalar   ketma-ketligi   tushiniladi.   Algoritm   tushunchasi   keng   ma’noda   tahlil
qilish mumkin.
Aslida   programma   ham   algoritmning   boshqa   bir   ko‘rinishi   bo‘lib,   u
insonning   kompyuter   bilan   muloqotini   qulayroq   amalga   oshirish   uchun
mo‘ljallangan.   Kompyuterda   dasturlash   bu   –   kompyuter   mikroprotsessori   uchun
turli   buyruqlar   berish,   qachon,   qayerda   nimani   o'zgartirish   va   nimalarni   kiritish
yoki chiqarish haqida buyruqlar berishdir.
Bresenxem algoritmi 1962 yilda Jek E. Bresenxem tomonidan taklif qilingan
va   tekislikda   nuqtalar   bilan   figuralarni   chizish   uchun   mo'ljallangan.   Bu   algoritm
kompyuter grafikasida ekranda chiziqlar chizish uchun keng qo'llaniladi. Algoritm
ikki o'lchovli rastrning qaysi nuqtalarini bo'yash kerakligini aniqlaydi. 22Foydalanilgan adabiyotlar
1)ttps://optolov.ru/uz/dizajjn-dvuhkomnatnyh-kvartir/algoritm-brezenhema-
dlya-risovaniya-naklonnyh-otrezkov-bazovye.html
2.     Холл   М.   Комбинаторика:   перевод   с   английского.   M.:   Мир ,   1970.-
424  с . 
3.  To‘rayev H.T., Azizov I. Matematik mantiq va diskret matematika. 
     1,2- jild. "Tafakkur-Bo‘stoni", Toshkent, 201l.
4.   Ўзбекистон   Республикасини   янада   ривожлантириш   бўйича
ҳаракатлар   стратегияси   тўғрисида.   Ўзбекистон   Республикаси
Президентининг   ПФ-4947-   сон   фармони.   Тошкент,   2017   йил   7   феврал.   5.
Хасанов   П.Ф.,   Исаев   Р.И.,   Хасанов   Х.П.,   Назарова   М.Х.   Ахмедова   О.П.
Ахборотнинг   криптографик   муҳофазаси   тарихи   (Дастлабки   ва   формал
криптография   даври)   //   Aloqa   dunyosi.   –   Тошкент,   2005,   №1   (4).   –   32-37   -
бетлар. 
6.   Ахмедова   О.П.   Параметрлар   алгебраси   асосида   носимметрик
криптотизимлар   яратиш   усули   ва   алгоритмлари   //   Номзодлик   диссертация
иши, Тошкент-2007.
 7. Бабаш А.В., Шанкин Г.П. История криптографии. Часть I. – Москва:
Лори Гелиос АРВ, 2002. – 240 с. 
8.   Бабаш   А.В.,   Шанкин   Г.П.,   Криптография   –   Москва:   Лори   Гелиос
АРВ, 2002. – 512 с. 
9.   Арипов   М.М.,   Пудовченко   Ю.Е.   Основы   криптологии   –   Ташкент:
2004. – 136 с. 
10.   Баричев   С.Г.,   Серов   Р.Е.   Основы   современной   криптографии.
Учебное пособие. – Москва: Лори Горячая Линия - Телеком, 2002. – 152 с 23ILOVA
#include <bits/stdc++.h>
using namespace std;
// qator yaratish funksiyasi
void bresenham(int x1, int y1, int x2, int y2)
{
    int m_new = 2 * (y2 - y1);
    int slope_error_new = m_new - (x2 - x1);
    for (int x = x1, y = y1; x <= x2; x++) {
        cout << "(" << x << "," << y << ")\n";
        // O'sish burchagiga qiyalik qo'shing
        slope_error_new += m_new;
        //  Nishab xatosi chegaraga yetdi, vaqt
        // y ni oshiring va qiyalik xatosini yangilang.
        if (slope_error_new >= 0) {
            y++;
            slope_error_new -= 2 * (x2 - x1);
        }
    }
}
// Asosiy dastur qismi
int main()
{
    int x1 = 3, y1 = 2, x2 = 15, y2 = 5;
    // Funksiyaga murojat.
    bresenham(x1, y1, x2, y2); 24    return 0;
}

Qiya chiziq bo‘laklarini chizish uchun Brezenxem algoritmi

Купить
  • Похожие документы

  • 3d-max dasturida obektlarni yaratish
  • Algoritm va ma’lumotlar strukturasi
  • 3D-MAX dasturi haqida
  • 3D Studio MAX dasturiga kirish. 3D Studio MAX dasturi haqida tushuncha
  • Adobe photoshop dasturida tasvirlarda ishlov berish,taqdimot yaratish

Подтвердить покупку

Да Нет

© Copyright 2019-2026.

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha