BAB 4 Tools untuk Menggambar : Window dan viewport

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

Pertemuan 03: Grafika Komputer: Windows dan Viewport
Pertemuan 4.  Perintah yang digunakan untuk mengeluarkan hasil proses komputer sehingga bisa dibaca oleh si pemakai (user). Salah satu untuk menampilkan.
Elemen Dasar C++.
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
TRANSFORMASI LINIER II
MEDIA PEMBELAJARAN Mengatur Format Halaman oleh : Basuki Wibowo, S
DASAR-DASAR PEMROGRAMAN
BAB VIII PEMROGRAMAN GRAFIK
ARRAY (Lanjutan).
Integral Fungsi Rasional Pecah Rasional
Praktikum Grafika Komputer
PENGENALAN c++ DAN STRUKTUR DASAR C++
Perintah Perulangan Pertemuan ::
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
ASSALAMUALAIKUM WR WB.
Binary Tree Rangga Juniansyah.
Fungsi.
Algoritma dan Struktur Data
Eriq Muhammad Adams J | 04 |Transformation Eriq Muhammad Adams J |
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
Dasar Komputer & Pemrograman 2A (BAHASA C)
Pertemuan 19 FUNGSI (Method) Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
Imam Cholissodin| 06 | Viewing / Camera Imam Cholissodin|
Komputer Grafik Rudy Gunawan
P ERULANGA N K OMPLEK S. BREAK Digunakan untuk menghentikan suatu proses perulangan yang sedang terjadi. Biasanya dikarenakan oleh suatu kondisi Break.
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Bab 05 Tipe Data dan Mengisi Variabel
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
contoh aplikasi sederhana yang terpaksa menggunakan
1 Modifikasi Obyek Gambar Sederhana Pertemuan 9 Matakuliah: R0364/Komputasi Desain Arsitektur I Tahun: 2006.
Pertemuan 11 Interaksi User Diadaptasi dari paint.c E. Angel.
Bab 4 Tools untuk Menggambar : Window dan viewport
Praktikum 2.
Tipe Data - Variabel Di dalam memprogram sering dilakukan penyimpanan nilai dalam suatu variabel (mis: a = b+c ). Terlebih dahulu dilakukan deklarasi variabel.
As’ad Djamalilleil Fungsi exec() As’ad Djamalilleil
TRANSFORMASI 2D.
S1 FLOW CHART Pendidikan Teknik Informatika Jurusan Teknik Elektro
Pertemuan 4 Fungsi Linier.
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
COPY CONSTRUKTOR.
Teknik Pemrograman oleh: Yohanes Sugiarto.
ASSALAMUALAIKUM WR WB.
2. Pengenalan Program C++
Pertemuan 4 Fungsi Kuadrat Grafik Fungsi Kuadrat
Modul Praktikum 2 Tujuan khusus
Viewing dan Clipping 2 Dimensi
THREAD (Multi Threading).
Grafika Komputer Pengenalan Grafika Komputer &
Transformasi.
Operator dan Operasi Input Output pada C++ Pertemuan 11
S. Indriani Lestariningati, M.T
(Struktur Dasar, Variabel, Tipe Data, Input, Output, Komentar)
Operator By Harifuddin,ST,MT..
TRANSFORMASI OBJEK (TRANSFORMASI AFFINE 2D DAN 3D)
BAB VI – FRIEND (KHUSUS C++)
Pertemuan 2 Pengantar Bahasa C dan Lingkungan Pemrograman Grafik dengan OpenGL Senin Wage, 28 September 2009.
Algoritma Struktur Data
PJJ FLOW CHART D3 - Teknik Komputer dan Jaringan
KELAS XI IA-IS SMA MUHAMMADIYAH 3 MADURAN LAMONGAN
DIMENSI DUA transformasi TRANSLASI.
ASSALAMU’ALAIKUM Wr. Wb
Operator.
ANALISIS ALGORITMA DALAM PENERAPAN GAMBAR
Transformasi 3D Grafika Komputer Defiana Arnaldy, M.Si
S1 FLOW CHART Pendidikan Teknik Informatika Jurusan Teknik Elektro
PERTEMUAN Ke- 5 Matematika Ekonomi I
TRANSFORMASI.
TRANSFORMASI & Flipping Coin
Transcript presentasi:

BAB 4 Tools untuk Menggambar : Window dan viewport ^@^ & Evang’zzzz

Mengenal ViewPort dan World Coordinate Gambar 4.1. World Window dan ViewPort

Gambar 4.2. Pemetaan dari World Coordinate ke ViewPort World coordinate dinyatakan dengan w, dan batas kiri (left), kanan (right), atas (top), dan bawah (bottom) masing-masing dinyatakan dengan w.l, w.r, w.t, w.b. Koordinat viewport dinyatakan dengan v, dan batas kiri (left), kanan (right), atas (top), dan bawah (bottom) masing-masing dinyatakan dengan v.l, v.r, v.t, v.b.

untuk suatu konstanta A, B, C, dan D. Sumbu sx terhadap x dan sumbu sy terhadap y, masing-masing dinyatakan dengan : sx = Ax + C sy = By + D untuk suatu konstanta A, B, C, dan D. Konstanta A dan B menskala sumbu x dan y, sedangkan C dan D menggeser obyek. Dengan menggunakan perbandingan skala A, B, C, dan D masing-masing dapat dinyatakan sebagai berikut : (4.1)

Perhatikan gambar di bawah ini Contoh : Perhatikan gambar di bawah ini (w.l,w.r,w.t,w.b)= (0,2.0, 0, 1.0) dan (v.l, v.r, v.t, v.b) = (40, 400, 60, 300). (4.2)

Dengan menggunakan rumus 4.1 dan 4.2 diperoleh Gambar 4.3. Contoh pemetaan Window dan Viewport Dengan menggunakan rumus 4.1 dan 4.2 diperoleh A= 180, C = 40, B = 240 dan D = 60 Sehingga pemetaan dari world ke viewport menggunakan persamaan berikut ini. sx= 180x + 40 sy= 240y + 60

Dalam OpenGL, pemetaan tersebut dinyatakan dengan: glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0, 2.0, 0.0, 2.0); // mengatur window glViewport(40, 60, 360, 240); // mengatur viewport Kalau anda perhatikan pada contoh-contoh program materi 2, perintah-perintah ini adalah bagian dari fungsi init().

LATIHAN : Buatlah program untuk menampilkan konfigurasi hexagon (6-gon/segi enam) seperti gambar di bawah ini.

TRY THIS… #include <windows.h> #include <gl/gl.h> #include <gl/glut.h> #include <math.h> void myInit(void) { glClearColor(1.0, 1.0, 1.0, 0.0); glColor3f(0.0f, 0.0f, 0.0f); glMatrixMode(GL_PROJECTION); glPointSize(4.0); glLoadIdentity(); gluOrtho2D(0.0, 500.0, 0.0, 500.0); }

void ngon(int n, float cx, float cy, float radius, float rotAngel) { double angel, angelInc; int k; if(n<3) return; angel = rotAngel * 3.14159265/180; angelInc = 2 * 3.14159265/n; glVertex2f(radius * cos(angel)+cx, radius * sin(angel) +cy); for (k=0; k<n;k++) angel+=angelInc; }

void myDisplay(void){ glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_LINE_STRIP); ngon(6,250,250,150,90); glEnd(); glFlush();} void main(int argc, char** argv){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(500,500); glutCreateWindow(" TUGAS"); glutDisplayFunc(myDisplay); myInit(); glutMainLoop(); }

TUGAS: Modifikasilah rumus n-gon diatas sehingga menjadi seperti di bawah ini

TUGAS