Маъруза №1. Компьютер графикасига кириш


Текисликда (2D) соҳани бўяш 1



Download 3,04 Mb.
bet17/22
Sana06.07.2022
Hajmi3,04 Mb.
#744425
1   ...   14   15   16   17   18   19   20   21   22
Bog'liq
Kompyuter-grafikasi-ma ruzalar

Текисликда (2D) соҳани бўяш 1.

  • 1.Соҳани ташкил этувчи ташқи нуқталари билан, яъни соҳани ичида ётувчи ҳар бир пиксел бирор бир ранг (oldcolor) билан берилади (чегарадаги пикселлар бу қийматга эга эмас).

  • Function fill4(int x,int y:int newcolor, int oldcolor);

  • {

  • If (getpixel(x,y)==oldcolor)

  • {

  • PutPixel (x,y,newcolor);

  • fill4(x,y-1,newcolor,oldcolor);

  • fll4(x,y+1,newcolor,oldcolor); fill4(x-1,y,newcolor,oldcolor);

  • fill4(x+1.y,newcolor,oldcolor);

  • }}

Текисликда (2D) соҳани бўяш 2.

  • Бундан ташқари 4 ва 8 боғланишлик соҳалар учун алгоритмлар мавжуд.

Ички oldcolor ранг билан берилган янги newcolor ранг билан
4боғланишлик соҳани бўяш оддий рекурсия алгоритмини келтирамиз.

  • Function fill4(int x,int y:int newcolor, :word);

  • {

  • If GetPixel(x,y)==bcolor and GetPixel(x,y)==newcolor

  • {

  • PutPixel (x,y,newcolor);

  • fill4(x,y-1,bcolor,newcolor);

  • fill4(x,y+1,bcolor,newcolor);

  • fill4(x-1,y,bcolor,newcolor);

  • fill4(x+1,y,bcolor,newcolor);

  • }}

Эътиборингиз учун рахмат!

Маъруза 13. Растр графикаси алгоритмлари. Брезенхейм ва Сазерланд-Кохен алгоритми

Брезенхейм алгоритми. Кесманинг растр тасвири

  • (𝑥1, 𝑦1) ва (𝑥2, 𝑦2) туташтирувчи кесманинг растр тасвирини қуриш масаласини кўрамиз.

  • Фараз қиламизки

0 ≤ 𝑦1 ≤ 𝑦2 ≤ 𝑥1 ≤ 𝑥2
Берилган иккита нуқтадан ўтувчи тўғри чизиқ тенгламасини тузамиз
𝑥 − 𝑥1 𝑦 − 𝑦1
=
𝑥2 − 𝑥1 𝑦2 − 𝑦1

  • Унда кесма қуйидаги тенглама билан берилади:

𝑦 = 𝑦1 + 𝑥𝑦22−−𝑦𝑥11 (𝑥 − 𝑥1),
x∈ 𝑥1, 𝑥2

Ушбу алгоритм камчиликларга эга, яъни бутун сонли сетка устида амаллар бажаришда ҳақиқий сонларга мурожааат қилиш.
𝑦 = 𝑘𝑥 + 𝑏, 𝑘 = 𝑦2−𝑦1, 𝑏 = 𝑦1 − 𝑘𝑥1,
𝑥2−𝑥1

  • 1965 йилда Брезенхейм томонидан кесманинг растр тасвирини қуриш учун оддий бутун сонли алгоритмни тавсия қилган (𝑥1, 𝑦1) ва (𝑥2, 𝑦2) нуқталари орқали ифодаланувчи кесманинг Брезенхейм алгоритмини келитирамиз. Кесмани шундай қилиб кўчирамизки (0, 0) нуқта боши ва (dx, dy) (бу ерда dx= (𝑥2 − 𝑥1), dy= (𝑦2 − 𝑦1) ) нуқта охири бўлсин. Кесма ётувчи тўғри чизиқ

𝑑𝑦 тенгламаси қуйидагича: 𝑦 = ∗ 𝑥)
𝑑𝑥

Кесманинг 𝑃𝑖−1 = 𝑥𝑖−1, 𝑦𝑖−1 = (𝑟, 𝑞) нуқтасини кўрамиз, унда кейинги нуқта


𝑆𝑖 = (𝑟 + 1, 𝑞) ёки 𝑇𝑖 = (𝑟 + 1, 𝑞 + 1)
бўлиши мумкин. Тўғри чизиқ (кесма) унга яқин жойлашган пикселлар (𝑆𝑖, 𝑇𝑖 )
орасидаги масофалар қуйидагича:
𝑑𝑦𝑑𝑦
𝑆 = 𝑟 + 1 − 𝑞 , 𝑡 = 𝑞 + 1 − 𝑟 + 1
𝑑𝑥𝑑𝑥
𝑑𝑦
𝑆 − 𝑡 = 2 𝑟 + 1 − 2𝑞 − 1
𝑑𝑥
кўрамиз.
Агар 𝑆−𝑡 <бўлса0 𝑆𝑖 нуқта танланади акс ҳолда 𝑇𝑖 нуқта
d𝑥 > 0 ҳисобга олган ҳолда d𝑥(𝑆 − 𝑡) ҳам кўраверсак бўлади ва уни 𝑑𝑖 деб белгалаймиз 𝒅𝒊 = 𝟐𝒅𝒚 𝒓 + 𝟏 − 𝟐𝒒𝒅𝒙 − 𝒅𝒙
𝑟 = 𝑥𝑖−1 ва 𝑞 = 𝑦𝑖−1 ҳисобга олган ҳолда
𝒅𝒊 = 𝟐𝒅𝒚𝒙𝒊−𝟏 − 𝟐𝒅𝒙𝒚𝒊−𝟏 + 𝟐𝒅𝒚 − 𝒅𝒙
Кейинги қадамда яъни 𝑖 + 1
𝒅𝒊+𝟏 = 𝟐𝒅𝒚𝒙𝒊 − 𝟐𝒅𝒙𝒚𝒊 + 𝟐𝒅𝒚 − 𝒅𝒙
𝑑𝑖+1 дан 𝑑𝑖 ни айирамиз ва 𝑥𝑖 − 𝑥𝑖−1 ни ҳисобга олган ҳолда:
𝒅𝒊+𝟏 = 𝒅𝒊 + 𝟐𝒅𝒚 − 𝟐𝒅𝒙(𝒚𝒊 − 𝒚𝒊−𝟏)
Агар яъни 𝑑𝑖 <0 бўлса 𝑆𝑖 танланади, у ҳолда
𝑦𝑖 = 𝑦𝑖−1 ва 𝑑𝑖+1 = 𝑑𝑖 + 2𝑑𝑦
Акс ҳолда, яъни 𝑑𝑖 ≥ 0 бўлса 𝑇𝑖 танланади ва у ҳолда 𝑦𝑖 − 𝑦𝑖−1 = 1
𝒅𝒊+𝟏 = 𝒅𝒊 + 𝟐(𝒅𝒚 − 𝒅𝒙)
Шундай қилиб биз 𝑑𝑖+1 ни 𝑑𝑖 нинг қиймати орқали ҳисоблаш ва 𝑆𝑖, 𝑇𝑖 нуқталарни танлаш учун интерактив усулни ҳосил қилдик. Бошланғич ҳолатда 𝑑1 = 2𝑑𝑦 − 𝑑𝑥 (𝑥0, 𝑦0 ) = 0,0 ни ҳисобга олган ҳолда 𝑖 = 1 топилади.

Download 3,04 Mb.

Do'stlaringiz bilan baham:
1   ...   14   15   16   17   18   19   20   21   22




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish