Nazorat savollari
1.
Tasvirni chiqarish sohasiga ko‘rinmaydigan obyektlar va
ularning elementlari qanday aniqlanadi?
2.
Sahnaning qanday elementlari ko‘rinuvchi hisoblanadi?
3.
Interaktiv grafikada qirqib olish masalasi qanday hal qilingan?
4.
Tekis primitivlarni fazoviy qirqib olish algoritmlarida qandan
masala hal qilinadi?
5.
Qirqib olish algoritmlarini optimallashtirish o‘z ichiga nimalarni
oladi?
6.
Qobiqlarning qirqib olish algoritmidagi roli nimalardan iborat?
7.
Kuzatuvchi fazosini perspektiv transformatsiyalash nima uchun
kerak bo‘ladi?
Tayanch iboralar:
sahna obyekti, kuzatuvchi, tasvirni
chiqarish sohasi, interaktiv grafika, fazoviy qirqib olish, qirqib olish
algoritmlari, ko‘rinuvchanlik piramidasi.
2.3. Fazoviy harakatlarni almashtirish
Qirqib olish va keyinchalik grafik amallarni bajarish uchun
kuzatuvchi fazosida ko‘rinish sohasiga (qisman bo‘lsa ham) tushgan
barcha obyektlarning primitivlari berilishi lozim. Dastlab primitivlar
obyekt koordinatalar sistemasida yoki primitiv koordinatalar
17
sistemasida ifodalanadi. Ularni grafik tizimda kuzatuvchi koor-
dinatalar sistemasiga o‘tkazish fazoda obyekt evolyutsiyasini
hisobga oluvchi xususiy affin almashtirishlari superpozitsiyasi
asosida amalga oshiriladi. Bu almashtirishlarni bir jinsli
koordinatalarda matritsa shaklida yozish va bajarish qulay bo‘ladi.
(2.1)
bu yerda,
R
– vektor-boshlang‘ich koordinatlar qatori:
R
= |
x
y z
1|;
R
*
– vektor-qayta hisoblangan koordinatalar qatori (
h
– skalyar
ko‘paytuvchi):
R
* = |
x*h u*h z*h h
|;
M
– o‘lchami 4x4 bo‘lgan almashtirish matritsasi.
Fazoda asosiy affin almashtirishlariga masshtablashtirish,
ko‘chish, burish (bulardan tashqari akslantirish yoki simmetriya)
kabilar kiradi. Bulardan tashqari qirqib olish amalidan oldin va
undan keyin primitivlarni kartina tekisligiga markaziy proeksiyalash
bajariladi. Bu amal affin almashtirishiga kirmaydi, biroq
almashtirilarga o‘xshash ifodalanganligi sababli ular bilan birga
ko‘riladi. Masshtablashtirish (DL), ko‘chish (TR), burish (RT)
almashtirish matritsalari va proeksiyalash (PR) matritsasi quyidagi
ko‘rinishga ega:
DL
|
|
TR
|
|
(2.2)
RT
|
|
PR
||
||
bu
yerda,
– koordinatalar o‘qlari bo‘ylab
mashtablashtirish koeffitsiyentlari;
obyekt va kuzatuvchi koordinatalar boshini
tutashtiruvchi vektor koordinatalari;
18
– obyekt koordinatalar sistemasi o‘qlarining
kuzatuvchi koordinatalar sistemasidagi yo‘naltiruvchi kosinuslari;
– ekran tekisligini kuzatish masofasi.
Yo‘naltiruvchi kosinuslar obyekt koordinatalar sistemasining
o‘z o‘qlari atrofidagi buralish burchagi funksiyasi hisoblanadi:
( ) ( ) (
). Burchak hisobi-
ning boshlanishi va buralishlar ketma-ketligiga bog‘liq holda
yo‘naltiruvchi kosinuslarni hisoblash uchun ifodaning ko‘rinishi har
xil bo‘ladi. Kompyuter grafikasida murakkab burilishlar
burilishning xususiy hollari: koordinata o‘qlari atrofidagi
burilishlarning
qo‘shilishi
ko‘rinishida
ifodalanadi.
Bu
almashtirishlarni ifodalovchi matritsaning ko‘rinishi kuzatuvchi
fazosida koordinatalar boshi va kuzatish nuqtasining joylashishiga
bog‘liq bo‘ladi.
O‘ng va chap koordinatalar sistemasi mavjud bo‘lib, ularda
almashtirish matritsasi ko‘rinishi har xil bo‘ladi. O‘ng koordinatalar
sistemasida birinchi chorakdan qaralganda
x
o‘qining
y
o‘qi atrofida,
u
o‘qining
z
o‘qi atrofida,
z
o‘qining
x
o‘qi atrofida burilishi soat
strelkasi harakati yo‘nalishiga qarama-qarshi bo‘ladi. Chap
koordinatalar sistemasida esa bu buralishlar soat strelkasi harakati
yo‘nalishida bo‘ladi. Agarda kuzatuvchi koordinatalar sistemasi
boshi ekran tekisligida yotsa, chuqurlik o‘qi (
o‘qi) uning
markazidan o‘tadi, kuzatuv nuqtasi chuqurlikning manfiy yarim
o‘qida joylashadi, unda chap koordinatalar sistemasi o‘rinli. Buning
uchun burib almashtirish matritsasi quyidagi ko‘rinishda bo‘ladi:
|
|
|
|
|
|
O‘ng koordinatalar sistemasida ular quyidagi ko‘rinishni oladi:
19
|
|
|
|
|
|
Umumiy holda natijaviy almashtirish matritsasi
M
keltirilgan
matritsalarning ko‘paytmasidan (superpozitsiyasidan) aniqlanadi.
Superpozitsiyaga
matritsalarni
kiritish
ifodalanayotgan
almashtirishlar ketma-ketligiga mos holda chapdan o‘ngga qarab
amalga oshiriladi. Misol uchun, koordinatalari (
)
bo‘lgan
fazoviy
R
nuqtaning quyidagi almashtirishlardan so‘ng ekranda
joylashishini topish talab qilinsin: 1) ekranning (
) nuqtasidan
o‘tuvchi va chuqurlik o‘qiga parallel bo‘lgan o‘q atrofida
β
burchakka burish; 2) ekran tekisligiga perspektiv (markaziy)
proeksiyalash. Qaralayotgan
matritsa
z
o‘qi atrofida bo‘rish
uchun mo‘ljallangan, demak
ni qo‘llash uchun chuqurlik o‘qi
bilan
R
nuqtani burish o‘qini birlashtirish kerak. Buning uchun uni
gorizontal va vertikal bo‘ylab mos ravishda (
) (
) ga
siljitish kerak bo‘ladi. Xuddi shunday ko‘chishni
R
nuqta ham oladi.
Buning uchun uning koordinatalarini
matritsaga ko‘paytirish
amalga oshiriladi. Keyingi qadamda
β
burchakka burish, undan
so‘ng
R
nuqtani
(
) (
) ga qaytarish orqali birinchi
ko‘chishni bartaraf etish, ya’ni
matritsaga ko‘paytirish
bajariladi. Eng so‘ngi amal
PR
matritsasiga ko‘paytirish bilan
amalga oshiriluvchi proeksiyalash bo‘ladi. Natijada
R
nuqtaning
dinamikasi (harakati) (2.1) ifoda bilan tasvirlanadi va bu yerda,
almashtirish matritsasi
M
quyidagi ko‘rinishda bo‘ladi:
. Superpozitsiyaga kiruvchi burish va ko‘chish
matritsalari quyidagi ko‘rinishda bo‘ladi:
20
|
|
|
|
|
|
Do'stlaringiz bilan baham: |