1. Mekansal shakllarning namoyishi. Ko'pburchak usuli


Ikki o'lchovli Cohen-Sutherland algoritmi



Download 192,42 Kb.
bet6/7
Sana09.07.2022
Hajmi192,42 Kb.
#763087
1   2   3   4   5   6   7
Bog'liq
11-maruza

Ikki o'lchovli Cohen-Sutherland algoritmi. Ushbu algoritm sizni butunlay olib qo'yilishi yoki olib tashlanishi mumkin bo'lgan segmentlarni tezda aniqlash imkonini beradi. Kesishma hisob-kitoblari segment ushbu sinflarga kirmasa talab qilinadi. Ushbu algoritm ayniqsa, ikkita haddan tashqari holatda samarali hisoblanadi:
· Ibtidoiylarning ko'pchiligi butunlay katta oynada joylashgan,
· Ibtidoiylarning aksariyati nisbatan kichik oynaning tashqarisida.
Algoritmning g'oyasi quyidagicha:
Kesish oynasi va samolyotning qo'shni qismlari birgalikda 9 maydonni tashkil etadi (shakl 11.1 ). Har bir hududga 4-bit kod beriladi.
Segmentning ikkita so'nggi punkti 4-bitlik kodlarni oladi, ular zarb qilingan joylarga mos keladi. Kod bitlari ma'nosi:
1 rr = 1 - deraza ustki tomonida joylashgan nuqta;
2 rr = 1 - derazaning pastki chetida joylashgan nuqta;
3 rr = 1 - deraza o'ng tomonining o'ng tomonidagi nuqta;
4 rr = 1 - oynaning chap tomonining chap tomonidagi nuqta.
Butun segmentning deraza ichida yoki butunlay oynaning tashqarisida ekanligini aniqlash quyidagicha amalga oshiriladi:
· Agar segmentning har ikkala uchining kodlari 0 bo'lsa, u holda deraza ichidagi barcha segmentni kesish kerak emas, segment keskin ko'rinadigan ko'rinishda qabul qilinadi (shakl 11.1da segment AB);
· Agar segmentning har ikkala uchining mantiqiy va kodi nolga teng bo'lmasa, segment butunlay derazadan tashqarida bo'lishi kerak, kesish zarur emas, segment jiddiy ko'rinmas holga keltiriladi (shakl 11.1 da segment KL);
· Agar segmentning ikkala uchining mantiqiy va kodi nol bo'lsa, segment sehrli bo'lsa, qisman ko'rinishi mumkin (segmentlar CD, EF, GH) yoki umuman ko'rinmas (IJ segmenti); buning uchun deraza tomonlari bilan kesishuvlarning koordinatalarini aniqlab olish kerak, va har bir qism uchun noaniq ko'rinish yoki ko'rinmaslik aniqlanadi. Bunday holda, CD va IJ segmentlari uchun qolgan (EF va GH) ikkitasi uchun bitta kesishgan hisoblash talab qilinadi.
Kesishishni hisoblashda, oynaning yon tomonlarining gorizontalligi yoki vertikalligi qo'llaniladi, bu esa kesish nuqtasining X yoki Y koordinatalarini hisoblashsiz aniqlash imkonini beradi.

Shakl. 11.1: Coen-Sutherlendning kesilishi
Yo'nalishlarni hisoblashdan keyin butunlay ko'rinadigan yoki to'liq ko'rinmaydigan segmentni tanlash bo'yicha yuqorida ko'rsatilgan usuldan bevosita foydalanilganda, kesishish nuqtasining joylashgan kodini hisoblash kerak bo'ladi. Misol uchun, segment CD ni ko'rib chiqing. Kesish nuqtasi P deb ataladi. Deraza oynasiga tegishli deb hisoblanganligi sababli, derazaga tushgan PD segmentining faqatgina bir qismini qabul qilishingiz mumkin. S-segmentning bir qismi, aslida derazadan tashqariga chiqadigan bo'lsa, C va R nuqtalarining mantiqiy kodlari va kodlari 0, ya'ni,JK segmenti oddiygina qoldirilishi mumkin emas. Ushbu muammoni hal qilish uchun Cohen va Sutherland oxirgi nuqtani oynaning yon tomonidagi nuqtaga yoki uning davom etishiga nol bo'lmagan so'nggi nuqta kodi bilan almashtirishni taklif qildilar.
Umumiy holda, Coen-Sutherland algoritmining sxemasi quyidagicha:

  1. Chiqish segmentining so'nggi nuqtalarini hisoblang.

Jadvalda 2-6 bosqichlarni takrorlang:

  1. Agar mantiqiy va oxirgi nuqta kodlari 0 bo'lmasa, segment butunlay derazadan tashqarida. U yo'q qilinadi va kesish tugadi.

  2. Agar har ikkala kod 0 bo'lsa, unda butun yo'nalish paydo bo'ladi. Qabul qilinadi va kesish jarayoni tugadi.

  3. Agar boshlang'ich nuqtasi derazaning ichkarisida bo'lsa, u joylarni so'nggi nuqta bilan o'zgartiradi.

  4. Oynaning yon tomonini aniqlash uchun boshlanish nuqtasi kodi tahlil qilinadi va kesishma hisoboti amalga oshiriladi. Bunday holatda, hisoblashning kesish nuqtasi boshlanish nuqtasini almashtiradi.

  5. Boshlanish nuqtasi uchun yangi kodni belgilang.




Download 192,42 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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