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: