Компьютер графикаси


Model-ko‘rinishli almashtirishlar



Download 15,78 Mb.
bet73/128
Sana14.07.2022
Hajmi15,78 Mb.
#795608
1   ...   69   70   71   72   73   74   75   76   ...   128
Bog'liq
1 O\'quv qo\'llanma Kompyuter grafikasi (1) (2)

Model-ko‘rinishli almashtirishlar

Proeksiyaviy almashtirish va normallash

Chiqish sohasidagi almashtirishlar

Model-ko‘rinishli matrisa

Proeksiya matrisasi

Chiqish sohasi parametrlari (glViewport)

Ko‘rinishli koordinatalar

Oynali koordinatalar

Eng yuqori koordinatalar


3.5-rasm. OpenGL da koordinatalrni almashtirish.

Esda saqlang: OpenGL da obyektlar va kamerani almashtirishlar koordinata vektorlarini matritsaga ko‘paytirish orqali amalga oshiriladi. Bunda ko‘paytirish joriy matritsaga nisbatan glVertex* buyrug‘i yordamida koordinatalar aniqlangan vaqtda amalga oshiriladi.


Modelli-tasvir o‘zgartirishlar.

Modelli-tasvir o‘zgartirishlarini koordinata o‘qlari buylab ko‘chirish, burish va masshtabni o‘zgartirish deb hisoblaymiz. Ushbu operatsiyalarni bajarish uchun obyektning har bir uchi bilan tegishli matritsani ko‘paytirish va ushbu uchlarning o‘zgartirilgan koordinatalarini olish etarli:



Bu yerda M – modelli-tasvir o‘zgartirish matritsasi. Matritsaning o‘zi quyidagi buyruqlar yordamida yaratilishi mumkin:
void glTranslate [f d] (GLtype x, GLtype y, GLtype z)
void glRotate [f d] (GLtype angle, GLtype x, GLtype y, GLtype z)
void glScale [f d] (GLtype x, GLtype y, GLtype z)
glTranlsate*() obyektni ko‘chirishga tayyorlaydi, o‘zining parametri qiymatlarini uning uchlari koordinatalariga qo‘shadi.
glRotate*() buyrug‘i obyektni (x,y,z) vektori atrofida angle (graduslarda o‘lchanadi) burchagi ostida soat strelkasiga teskari burilishini bajaradi.
glScale*() buyrug‘i (x,y,z) vektorlar o‘qi buyicha obyektni masshtablanishini bajaradi.
Obyekt holatini o‘zgartirishdan tashqari, kuzatuvchi holatini o‘zgartirish zarurati ham tug‘iladi. Buni quyidagi buyruq yordamida bajarish mumkin:
void gluLookAt (GLdouble eyex, GLdouble eyey,
GLdouble eyez, GLdouble centerx,
GLdouble centery, GLdouble centerz,
GLdouble upx, GLdouble upy,
GLdouble upz)
bu yerda (eyex,eyey,eyez) nuqtasi kuzatuvchi nuqtasini belgilaydi, (centerx, centery, centerz) chiqarish sohasi markazida proeksiyalanovchi sahna markazini beradi, (upx,upy,upz) vektori esa kamera burilishini aniqlab, y o‘qining musbat yo‘nalishini belgilaydi. Misol uchun agarda kamerani burish talab qilinmasa, (0,1,0) qiymati beriladi va sahnani (0,-1,0) qiymati bilan burish amalga oshiriladi.
Qisqacha aytganda, bu buyruq sahna obyektlarini ko‘chirish va burishni amalga oshiradi, lekin parametrlarni bunday ko‘rinishda berish qulayroq. Shuni ta’kidlash joizki, gluLookAt() buyrug‘ini chaqirish obyektlarni almashtirishdan oldin, ya’ni model-ko‘rinishli matritsa birlik matritsasiga teng bo‘lganda ma’noga ega.
Eslab qoling: umumiy holda OpenGL da matritsaviy almashtirishlarni teskari tartibda yozib borish kerak. Misol uchun, agar siz avval obyektni burib, keyin ko‘chirmoqchi bo‘lsangiz, oldin glTranslate() buyrug‘ini, keyin esa glRotate() buyrug‘ini chaqirasiz. Bundan keyin esa obyektning o‘zini belgilaysiz.

Download 15,78 Mb.

Do'stlaringiz bilan baham:
1   ...   69   70   71   72   73   74   75   76   ...   128




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