SlideShare a Scribd company logo
MODUL 3
Transformasi dan Animasi Objek 2D
A. KOMPETENSI DASAR
• Memahami fungsi-fungsi transformasi (translasi, rotasi, skala).
• Memahami dan dapat membuat multi objek menggunakan fungsi transformasi.
• Memahami prinsip-prinsip pembuatan animasi objek 2D.
• Membuat animasi objek 2D.
B. ALOKASI WAKTU
2 js (2x50 menit)
C. PETUNJUK
Awali setiap aktivitas dengan do’a, semoga berkah dan mendapat kemudahan.
Pahami Tujuan, dasar teori, dan latihan-latihan praktikum dengan baik dan benar.
Kerjakan tugas-tugas dengan baik, sabar, dan jujur.
Tanyakan kepada asisten/dosen apabila ada hal-hal yang kurang jelas.
D. DASAR TEORI
TRANSFORMASI OBJEK 2 D
Transformasi Objek 2D, terbagi menjadi 3 jenis perubahan, yaitu translasi (perubahan posisi), rotasi
(perputaran) dan skala (perubahan ukuran).
1. Fungsi dasar untuk Translasi (perubahan Posisi) objek
GLAPI void APIENTRY glTranslated(GLdouble x, GLdouble y, GLdouble z);
GLAPI void APIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z);
2. Fungsi dasar untuk Rotasi objek
GLAPI void APIENTRY glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
GLAPI void APIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
3. Fungsi dasar untuk skala (perubahan ukuran) objek
void APIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
GLAPI void APIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
ANIMASI OBJECT 2D
1. Fungsi dasar pembuatan animasi dengan menggunakan TimerFunction
GLUTAPI void APIENTRY glutTimerFunc(unsigned int millis, void
(GLUTCALLBACK *func)(int value), int value);
Dalam penggunaan glutTimerFunc dimungkinkan untuk membuat sebuah animasi yang
dikontrol oleh waktu.
2. Inisialisasi dalam penggunaan Timer Function
Fungsi dari glutPostRedisplay adalah mengirimkan perintah untuk mengaktifkan
display secara berkala (looping).
Kemudian pada main program perlu menambahkan fungsi untuk mengaktifkan timer function
C. JOB SHEET PRAKTIKUM
TRANSFORMASI OBJECT 2D
1. Berikut adalah script dasar untuk kegiatan praktikum transformasi objek 2D
glutInitWindowPosition(100,100);
glutInitWindowSize(480,480);
dan
gluOrtho2D(-320.,320.,-320.,320.);
2. Buatlah project baru pada Visual Studio dengan nama prak3-translasi. Fungsi drawQuad adalah
callback function glDisplayFunc();. Tambahkan fungsi glTranslatef(50,0,0) pada
posisi [a], [b], [c], dan [d]. Tampilkan hasil eksekusi a, b, c, dan d berupa screenshot. Beri
kesimpulan dari kegiatan 1 ini.
3. Tetap pada projek yang sedang aktif, hilangkan semua fungsi glTranslatef(x, y,z) dari a,
b, c, d sehingga fungsi menjadi:
Tambahkan fungsi callback untuk glutDisplayFunc(render);
Pada fungsi render tersebut terdapat 2 fungsi drawQuad yang dipanggil, dimana masing-
masing merupakan objek terpisah. Terdapat pula fungsi –fungsi yang belum diaktifkan (dalam
comment), lakukan perubahan nilai RGB pada 2 warna sehingga menjadi merah untuk fungsi
glColor3f pertama dan putih untuk fungsi glColor3f yang kedua. Ubahlah nilai x,y,z pada fungsi
glTranslatef(x,y,z) sehingga tampilan menjadi bendera Indonesia. Tampilkan screenshotnya dan
program.
4. Pada fungsi render tersebut ubahlah fungsi glTranslatef(…) menjadi fungsi glRotatef(45,1,0,0);
Ubahlah parameter sudut, x,y,z dan tampilkan screenshot tiap perubahan (x,y,z)yang dilakukan,
gambarkan bagaimana rotasi (x,y,z) diberlakukan pada koordinat 3 dimensi glut.
5. Pada fungsi render tersebut ubahlah fungsi glRotatef(…) menjadi fungsi glScalef(x,y,z);
Ubahlah parameter x,y,z satu per satu dan tampilkan screenshot tiap perubahan (x,y,z) yang
dilakukan, gambarkan bagaimana skala (x,y,z) diberlakukan pada koordinat 3 dimensi glut.
ANIMASI OBJECT 2D
Berikut adalah script dasar untuk kegiatan praktikum animasi objek 2D.
dan
Berikut adalah fungsi untuk glutTimerFunc(int millis, *function, int value);
1. Buatlah project baru pada Visual Studio dengan nama prak3-timerRotasiZ. Gunakan fungsi
Quads untuk membuat segi empat. fungsi display sebagai callback function yang di dalamnya
berisi transformasi rotasi.
void Persegi(){
glBegin(GL_QUADS);
glVertex2i(x0,y0);
glVertex2i(x1,y1);
glVertex2i(x2,y2);
glVertex2i(x3,y3);
glEnd();
}
Fungsi display sebagai callback function yang di dalamnya berisi transformasi translasi. Ubah
variabel agar dapar berputar pada sumbu z unclockwise.
void display (){
glClear(GL_COLOR_BUFFER_BIT);
glRotatef(angle,x,y,z);
Persegi();
glFlush();
}
Tambahkan fungsi timer sebagai Inisialisasi dalam penggunaan Timer Function. Terakhir
panggil fungsi timer pada main program. Set unsign millis=100. Jelaskan apa yang terjadi!
Tampilkan source codenya. Berikan kesimpulan!
2. Modifikasi kode program pada latihan 1, kemudian atur objek untuk berotasi terhadap sumbu y
clockwise. Ubahlah parameter unsign millis menjadi lebih besar dari sebelumnya. Tampilkan
source codenya. Berikan kesimpulan!
3. Modifikasi kode program pada latihan 2, kemudian atur objek untuk berotasi terhadap sumbu x
clockwise. Ubahlah parameter unsign millis menjadi lebih kecil dari sebelumnya. Tampilkan
source codenya. Berikan kesimpulan!
4. Buatlah project baru pada Visual Studio dengan nama prak3-timerTranslasiX. Gunakan fungsi
drawQuad untuk membuat segi empat.
Fungsi display sebagai callback function yang di dalamnya berisi transformasi translasi. Untuk
membuat animasi, tambahkan fungsi counter berikut:
if (x<200){
x += 4; }
void renderScene(){
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glTranslatef(x,0,0);
Draw();
glPopMatrix();
glFlush();
}
Ubahlah statement di atas sehingga segi empat dapat berjalan mengikuti sumbu x
positif.Tampilkan source codenya. Berikan kesimpulan!
Note: Inisialisasikan terlebih dahulu variabel x, y, z.
5. Modifikasi program pada latihan 4. Ubahlah parameternya sehingga segi empat dapat berjalan ke
arah sumbu y negatif. Tampilkan source codenya. Berikan kesimpulan!
6. Modifikasi program pada latihan 5. Ubahlah parameternya sehingga segi empat dapat berjalan ke
arah sumbu z positif. Tampilkan sorce codenya. Berikan kesimpulan!
D. TUGAS ASISTENSI
1. Buatlah tampilan dimana akan menghasilkan tampilan seperti di bawah ini. Sajikan screenshot
hasil dan program.
Note : hanya menggunakan satu fungsi bangun 2D, modifikasi menggunakan fungsi tranlasi,
rotasi, dan skala.
2. Buatlah suatu bangun persegi, kemudian terletak tepat di tengah pop up windows. Kemudian
bangun bergerak berputar dengan lintasan belah ketupat dengan gerakan yang simetris. Sajikan
sintaks dan screenshootnya.
3. Buatlah sebuah bentuk jam analog sederhana dengan minimal empat tempat petunjuk angka dan
menggunakan 3 jarum. Jarum jam berbutar sesuai dengan timer per detik waktu nyata. Sajikan
sintaks dan screenshootnya.
4. Buatlah bintang-bintang kecil dengan berbagai macam warna dan ukuran, yang bertebaran
sepanjang salah satu diagonal window (harus ada translasi, rotasi, dan skala). Jumlah minimal
bintang-bintang adalah 10. Sajikan sintaks dan screenshootnya.

More Related Content

Similar to Rev modul grafkom 3

Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockLaporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Ihsan Nurhalim
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREP
Lusiana Diyan
 
Panduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdfPanduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdf
gunturwijaya7
 
Laporan pratikum v mulmet
Laporan pratikum v mulmetLaporan pratikum v mulmet
Laporan pratikum v mulmet
rahmi wahyuni
 
C programming language notes (4)
C programming language notes (4)C programming language notes (4)
C programming language notes (4)nakomuri
 
Asyiknya Belajar Struktur Data di Planet C++
Asyiknya Belajar Struktur Data di Planet C++Asyiknya Belajar Struktur Data di Planet C++
Asyiknya Belajar Struktur Data di Planet C++Nurdin Al-Azies
 
Asyiknya belajar struktur data di planet c++
Asyiknya belajar struktur data di planet c++Asyiknya belajar struktur data di planet c++
Asyiknya belajar struktur data di planet c++Ilan Surf ﺕ
 
Dasar Sistem Pengaturan-Matlab
Dasar Sistem Pengaturan-MatlabDasar Sistem Pengaturan-Matlab
Dasar Sistem Pengaturan-Matlab
Chardian Arguta
 
Modul 1 pengenalan matlab
Modul 1 pengenalan matlabModul 1 pengenalan matlab
Modul 1 pengenalan matlab
Devia Vhiea Vhienza
 
Pcd topik1 - fundamental
Pcd   topik1 - fundamentalPcd   topik1 - fundamental
Pcd topik1 - fundamental
Syafrizal
 
Integral
IntegralIntegral
Integral
kusnadiyoan
 
Tutorial borland c tea.
Tutorial borland c tea.Tutorial borland c tea.
Tutorial borland c tea.
sofwanthea soni
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
Torang Aritonang
 
Presentasi pertemuan3
Presentasi pertemuan3Presentasi pertemuan3
Fuzzyfikasi
FuzzyfikasiFuzzyfikasi
Fuzzyfikasi
Agung Widarman
 
Cruise Control System
Cruise Control SystemCruise Control System
Cruise Control System
Lusiana Diyan
 
Pengolahan Citra Diskusi Pertemuan Ke-6.pdf
Pengolahan Citra Diskusi Pertemuan Ke-6.pdfPengolahan Citra Diskusi Pertemuan Ke-6.pdf
Pengolahan Citra Diskusi Pertemuan Ke-6.pdf
HendroGunawan8
 
laporan pengamatan.docx
laporan pengamatan.docxlaporan pengamatan.docx
laporan pengamatan.docx
WahyuRedoIlahi
 

Similar to Rev modul grafkom 3 (20)

Open GL Tutorial04
Open GL Tutorial04Open GL Tutorial04
Open GL Tutorial04
 
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockLaporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREP
 
Open GL Tutorial03
Open GL Tutorial03Open GL Tutorial03
Open GL Tutorial03
 
Panduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdfPanduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdf
 
Laporan pratikum v mulmet
Laporan pratikum v mulmetLaporan pratikum v mulmet
Laporan pratikum v mulmet
 
C programming language notes (4)
C programming language notes (4)C programming language notes (4)
C programming language notes (4)
 
Asyiknya Belajar Struktur Data di Planet C++
Asyiknya Belajar Struktur Data di Planet C++Asyiknya Belajar Struktur Data di Planet C++
Asyiknya Belajar Struktur Data di Planet C++
 
Asyiknya belajar struktur data di planet c++
Asyiknya belajar struktur data di planet c++Asyiknya belajar struktur data di planet c++
Asyiknya belajar struktur data di planet c++
 
Dasar Sistem Pengaturan-Matlab
Dasar Sistem Pengaturan-MatlabDasar Sistem Pengaturan-Matlab
Dasar Sistem Pengaturan-Matlab
 
Modul 1 pengenalan matlab
Modul 1 pengenalan matlabModul 1 pengenalan matlab
Modul 1 pengenalan matlab
 
Pcd topik1 - fundamental
Pcd   topik1 - fundamentalPcd   topik1 - fundamental
Pcd topik1 - fundamental
 
Integral
IntegralIntegral
Integral
 
Tutorial borland c tea.
Tutorial borland c tea.Tutorial borland c tea.
Tutorial borland c tea.
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
Presentasi pertemuan3
Presentasi pertemuan3Presentasi pertemuan3
Presentasi pertemuan3
 
Fuzzyfikasi
FuzzyfikasiFuzzyfikasi
Fuzzyfikasi
 
Cruise Control System
Cruise Control SystemCruise Control System
Cruise Control System
 
Pengolahan Citra Diskusi Pertemuan Ke-6.pdf
Pengolahan Citra Diskusi Pertemuan Ke-6.pdfPengolahan Citra Diskusi Pertemuan Ke-6.pdf
Pengolahan Citra Diskusi Pertemuan Ke-6.pdf
 
laporan pengamatan.docx
laporan pengamatan.docxlaporan pengamatan.docx
laporan pengamatan.docx
 

More from Yusi Aisyah

Tugas1
Tugas1Tugas1
Tugas1
Yusi Aisyah
 
Proposal binner hme 2014 baru
Proposal binner hme 2014 baruProposal binner hme 2014 baru
Proposal binner hme 2014 baru
Yusi Aisyah
 
Modul 5
Modul 5Modul 5
Modul 5
Yusi Aisyah
 
Laporan 4
Laporan 4Laporan 4
Laporan 4
Yusi Aisyah
 
Modul 4.1 (condition 1)
Modul 4.1 (condition 1)Modul 4.1 (condition 1)
Modul 4.1 (condition 1)
Yusi Aisyah
 
Lpj em
Lpj emLpj em
Lpj em
Yusi Aisyah
 
Infokom[final]
Infokom[final]Infokom[final]
Infokom[final]
Yusi Aisyah
 
Modul 4 php
Modul 4 phpModul 4 php
Modul 4 php
Yusi Aisyah
 

More from Yusi Aisyah (8)

Tugas1
Tugas1Tugas1
Tugas1
 
Proposal binner hme 2014 baru
Proposal binner hme 2014 baruProposal binner hme 2014 baru
Proposal binner hme 2014 baru
 
Modul 5
Modul 5Modul 5
Modul 5
 
Laporan 4
Laporan 4Laporan 4
Laporan 4
 
Modul 4.1 (condition 1)
Modul 4.1 (condition 1)Modul 4.1 (condition 1)
Modul 4.1 (condition 1)
 
Lpj em
Lpj emLpj em
Lpj em
 
Infokom[final]
Infokom[final]Infokom[final]
Infokom[final]
 
Modul 4 php
Modul 4 phpModul 4 php
Modul 4 php
 

Recently uploaded

RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptxRENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
mukminbdk
 
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptxMateri 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
ahyani72
 
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptxGERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
fildiausmayusuf1
 
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIANSINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
NanieIbrahim
 
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdfKONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
AsyeraPerangin1
 
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdfPpt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
fadlurrahman260903
 
Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?
SABDA
 
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada AnakDefenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Yayasan Pusat Kajian dan Perlindungan Anak
 
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptxNovel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
NirmalaJane
 
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptxFORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
NavaldiMalau
 
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Fathan Emran
 
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptxPOWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
cikgumeran1
 
Panduan Penggunaan Rekomendasi Buku Sastra.pdf
Panduan Penggunaan Rekomendasi Buku Sastra.pdfPanduan Penggunaan Rekomendasi Buku Sastra.pdf
Panduan Penggunaan Rekomendasi Buku Sastra.pdf
MildayantiMildayanti
 
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Fathan Emran
 
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaModul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Fathan Emran
 
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptxPembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Sosdiklihparmassdm
 
materi penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remajamateri penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remaja
DewiInekePuteri
 
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi KomunikasiMateri Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
AdePutraTunggali
 
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
nasrudienaulia
 
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPALANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
Annisa Syahfitri
 

Recently uploaded (20)

RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptxRENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
 
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptxMateri 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
 
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptxGERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
 
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIANSINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
 
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdfKONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
 
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdfPpt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
 
Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?
 
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada AnakDefenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
 
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptxNovel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
 
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptxFORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
 
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
 
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptxPOWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
 
Panduan Penggunaan Rekomendasi Buku Sastra.pdf
Panduan Penggunaan Rekomendasi Buku Sastra.pdfPanduan Penggunaan Rekomendasi Buku Sastra.pdf
Panduan Penggunaan Rekomendasi Buku Sastra.pdf
 
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
 
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaModul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
 
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptxPembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
 
materi penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remajamateri penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remaja
 
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi KomunikasiMateri Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
 
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
 
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPALANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
 

Rev modul grafkom 3

  • 1. MODUL 3 Transformasi dan Animasi Objek 2D A. KOMPETENSI DASAR • Memahami fungsi-fungsi transformasi (translasi, rotasi, skala). • Memahami dan dapat membuat multi objek menggunakan fungsi transformasi. • Memahami prinsip-prinsip pembuatan animasi objek 2D. • Membuat animasi objek 2D. B. ALOKASI WAKTU 2 js (2x50 menit) C. PETUNJUK Awali setiap aktivitas dengan do’a, semoga berkah dan mendapat kemudahan. Pahami Tujuan, dasar teori, dan latihan-latihan praktikum dengan baik dan benar. Kerjakan tugas-tugas dengan baik, sabar, dan jujur. Tanyakan kepada asisten/dosen apabila ada hal-hal yang kurang jelas. D. DASAR TEORI TRANSFORMASI OBJEK 2 D Transformasi Objek 2D, terbagi menjadi 3 jenis perubahan, yaitu translasi (perubahan posisi), rotasi (perputaran) dan skala (perubahan ukuran). 1. Fungsi dasar untuk Translasi (perubahan Posisi) objek GLAPI void APIENTRY glTranslated(GLdouble x, GLdouble y, GLdouble z); GLAPI void APIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z); 2. Fungsi dasar untuk Rotasi objek GLAPI void APIENTRY glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); GLAPI void APIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); 3. Fungsi dasar untuk skala (perubahan ukuran) objek void APIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z ); GLAPI void APIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
  • 2. ANIMASI OBJECT 2D 1. Fungsi dasar pembuatan animasi dengan menggunakan TimerFunction GLUTAPI void APIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK *func)(int value), int value); Dalam penggunaan glutTimerFunc dimungkinkan untuk membuat sebuah animasi yang dikontrol oleh waktu. 2. Inisialisasi dalam penggunaan Timer Function Fungsi dari glutPostRedisplay adalah mengirimkan perintah untuk mengaktifkan display secara berkala (looping). Kemudian pada main program perlu menambahkan fungsi untuk mengaktifkan timer function C. JOB SHEET PRAKTIKUM TRANSFORMASI OBJECT 2D 1. Berikut adalah script dasar untuk kegiatan praktikum transformasi objek 2D glutInitWindowPosition(100,100); glutInitWindowSize(480,480); dan gluOrtho2D(-320.,320.,-320.,320.); 2. Buatlah project baru pada Visual Studio dengan nama prak3-translasi. Fungsi drawQuad adalah callback function glDisplayFunc();. Tambahkan fungsi glTranslatef(50,0,0) pada posisi [a], [b], [c], dan [d]. Tampilkan hasil eksekusi a, b, c, dan d berupa screenshot. Beri kesimpulan dari kegiatan 1 ini.
  • 3. 3. Tetap pada projek yang sedang aktif, hilangkan semua fungsi glTranslatef(x, y,z) dari a, b, c, d sehingga fungsi menjadi: Tambahkan fungsi callback untuk glutDisplayFunc(render); Pada fungsi render tersebut terdapat 2 fungsi drawQuad yang dipanggil, dimana masing- masing merupakan objek terpisah. Terdapat pula fungsi –fungsi yang belum diaktifkan (dalam comment), lakukan perubahan nilai RGB pada 2 warna sehingga menjadi merah untuk fungsi glColor3f pertama dan putih untuk fungsi glColor3f yang kedua. Ubahlah nilai x,y,z pada fungsi glTranslatef(x,y,z) sehingga tampilan menjadi bendera Indonesia. Tampilkan screenshotnya dan program. 4. Pada fungsi render tersebut ubahlah fungsi glTranslatef(…) menjadi fungsi glRotatef(45,1,0,0); Ubahlah parameter sudut, x,y,z dan tampilkan screenshot tiap perubahan (x,y,z)yang dilakukan, gambarkan bagaimana rotasi (x,y,z) diberlakukan pada koordinat 3 dimensi glut. 5. Pada fungsi render tersebut ubahlah fungsi glRotatef(…) menjadi fungsi glScalef(x,y,z); Ubahlah parameter x,y,z satu per satu dan tampilkan screenshot tiap perubahan (x,y,z) yang dilakukan, gambarkan bagaimana skala (x,y,z) diberlakukan pada koordinat 3 dimensi glut.
  • 4. ANIMASI OBJECT 2D Berikut adalah script dasar untuk kegiatan praktikum animasi objek 2D. dan Berikut adalah fungsi untuk glutTimerFunc(int millis, *function, int value); 1. Buatlah project baru pada Visual Studio dengan nama prak3-timerRotasiZ. Gunakan fungsi Quads untuk membuat segi empat. fungsi display sebagai callback function yang di dalamnya berisi transformasi rotasi. void Persegi(){ glBegin(GL_QUADS); glVertex2i(x0,y0); glVertex2i(x1,y1); glVertex2i(x2,y2); glVertex2i(x3,y3); glEnd(); } Fungsi display sebagai callback function yang di dalamnya berisi transformasi translasi. Ubah variabel agar dapar berputar pada sumbu z unclockwise. void display (){ glClear(GL_COLOR_BUFFER_BIT); glRotatef(angle,x,y,z); Persegi(); glFlush(); } Tambahkan fungsi timer sebagai Inisialisasi dalam penggunaan Timer Function. Terakhir panggil fungsi timer pada main program. Set unsign millis=100. Jelaskan apa yang terjadi! Tampilkan source codenya. Berikan kesimpulan!
  • 5. 2. Modifikasi kode program pada latihan 1, kemudian atur objek untuk berotasi terhadap sumbu y clockwise. Ubahlah parameter unsign millis menjadi lebih besar dari sebelumnya. Tampilkan source codenya. Berikan kesimpulan! 3. Modifikasi kode program pada latihan 2, kemudian atur objek untuk berotasi terhadap sumbu x clockwise. Ubahlah parameter unsign millis menjadi lebih kecil dari sebelumnya. Tampilkan source codenya. Berikan kesimpulan! 4. Buatlah project baru pada Visual Studio dengan nama prak3-timerTranslasiX. Gunakan fungsi drawQuad untuk membuat segi empat. Fungsi display sebagai callback function yang di dalamnya berisi transformasi translasi. Untuk membuat animasi, tambahkan fungsi counter berikut: if (x<200){ x += 4; } void renderScene(){ glClear(GL_COLOR_BUFFER_BIT); glPushMatrix(); glTranslatef(x,0,0); Draw(); glPopMatrix(); glFlush(); } Ubahlah statement di atas sehingga segi empat dapat berjalan mengikuti sumbu x positif.Tampilkan source codenya. Berikan kesimpulan! Note: Inisialisasikan terlebih dahulu variabel x, y, z. 5. Modifikasi program pada latihan 4. Ubahlah parameternya sehingga segi empat dapat berjalan ke arah sumbu y negatif. Tampilkan source codenya. Berikan kesimpulan! 6. Modifikasi program pada latihan 5. Ubahlah parameternya sehingga segi empat dapat berjalan ke arah sumbu z positif. Tampilkan sorce codenya. Berikan kesimpulan!
  • 6. D. TUGAS ASISTENSI 1. Buatlah tampilan dimana akan menghasilkan tampilan seperti di bawah ini. Sajikan screenshot hasil dan program. Note : hanya menggunakan satu fungsi bangun 2D, modifikasi menggunakan fungsi tranlasi, rotasi, dan skala. 2. Buatlah suatu bangun persegi, kemudian terletak tepat di tengah pop up windows. Kemudian bangun bergerak berputar dengan lintasan belah ketupat dengan gerakan yang simetris. Sajikan sintaks dan screenshootnya.
  • 7. 3. Buatlah sebuah bentuk jam analog sederhana dengan minimal empat tempat petunjuk angka dan menggunakan 3 jarum. Jarum jam berbutar sesuai dengan timer per detik waktu nyata. Sajikan sintaks dan screenshootnya. 4. Buatlah bintang-bintang kecil dengan berbagai macam warna dan ukuran, yang bertebaran sepanjang salah satu diagonal window (harus ada translasi, rotasi, dan skala). Jumlah minimal bintang-bintang adalah 10. Sajikan sintaks dan screenshootnya.