PRIMITIVE DRAWING. Achmad Basuki Nana Ramadijanti

dokumen-dokumen yang mirip
Primitive Drawing. Achmad Basuki Nana Ramadijanti

PENGANTAR GRAFIKA KOMPUTER

BAB II LINGKUNGAN PEMROGRAMAN GRAFIK DENGAN OPEN GL

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

Pengenalan OpenGL. Sintax Perintah OpenGL. Library yang Berhubungan dengan OpenGL

Pengenalan OpenGL. Sintax Perintah OpenGL. Library yang Berhubungan dengan OpenGL

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

LAPORAN PRAKTIKUM KOMPUTER GRAFIK

LAMPIRAN SOURCE CODE

Modul 2 Primitive Objects

OBYEK GRAFIK 2 DIMENSI

DAFTAR PUSTAKA. (diakses 1 maret 2016)

PETEMUAN KE-3 PRIMITIVE DRAWING 2

OBYEK GRAFIK 2 DIMENSI

apa yang terjadi?. Kemudian lakukan pengantian beberapa bagian seperti sintak

BAB IV IMPLEMENTASI DAN PENGUJIAN

Gambar 1. Viewport pada layar

Program 1 /* Menampilkan Bayangan sebuah obyek sumber file */

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

Modul 3 Objek 2 Dimensi

Topik bahasan: 1. Membuat objek mudah dan kompleks dengan jaring poligon 2. Merender jaring poligon sebagai wireframe dan atau pejal dengan OpenGL

Gambar 1. Viewport pada layar

PETEMUAN KE-5 TRANSFORMASI-PANDANGAN (Viewing)

Tutorial 04 Modeling & Transformasi Proyeksi

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

OPENGL DALAM MICROSOFT VISUAL STUDIO EXPRESS Created by: Gideon

Grafika Komputer. Evangs Mailoa

PROPOSAL PENDAHULUAN TUGAS AKHIR

Tutorial 09. Lighting

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

TRANSFORMASI. Tujuan transfomasi adalah:

TUGAS PENGANTAR GRAFIK KOMPUTER DAN OLAH CITRA

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Tutorial 06. Texture Mapping & Blending

/*Bismillahirrohmanirrohim _Fatimah_Rombel 2_Projek_Akhir_Komgraf*/ #include <stdio.h> #include <stdlib.h> #include <string.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Praktikum Komputer Grafik [MODUL] Genap 2012/2013. Laboratorium Multimedia 1/35

Gambar 1. Contoh tekstur makrostruktur

Laboratorium Teknologi Informasi & Aplikasi. Praktikum Komputer Grafik [MODUL] Genap 2015/2016. Lab TIA 1/59

Modul 1 Primitif Drawing

GRAFIK KOMPUTER & PENGOLAHAN CITRA

Praktikum Komputer Grafik [MODUL] Genap 2013/2014. Laboratorium Multimedia 1/47

BAB I PENGENALAN OPENGL

Laboratorium Teknologi Informasi & Aplikasi. Praktikum Komputer Grafik [MODUL] Genap 2014/2015. Lab TIA 1/58

Tutorial 08. Fog. mensimulasikan efek kabut membatasi ruang pandang pengguna agar komputasi grafis yang diperlukan dapat dibatasi.

Transformasi Obyek (Lanjutan)

Beberapa Trik Pembuatan Grafik 2D Menggunakan OpenGL. Achmad Basuki,Nana R,Setiawardhana Surabaya, April 2008

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

Praktikum Komputer Grafik [MODUL] Ganjil 2012/2013. Laboratorium Multimedia 1/41

BAB IV TOOLS UNTUK MENGGAMBAR (WINDOW DAN VIEWPORT)

Pembuatan Simulasi Pergerakan Objek 3D (Tiga Dimensi) Menggunakan OpenGL

ALGORITMA PERPOTONGAN OBJEK

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

Saat ini saya di minta untuk membuat garis vertikal, horizontal dan diagonal dengan OpenGL.

Grafik 3 Dimensi. Achmad Basuki Nana R Politeknik Elektronika Negeri Surabaya Surabaya 2009

Implementasi Simulated Annealing Untuk Menyelesaikan Traveling Salesman Problem (TSP)

Bab 1 Pengenalan GLUT

10/10/2017. Teknologi Display SISTEM KOORDINAT DAN BENTUK DASAR GEOMETRI (OUTPUT PRIMITIF) CRT CRT. Raster Scan Display

P06 Pointer dan Fungsi

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Dwiny Meidelfi, M.Cs

8.3. Memberi Warna Pada Obyek 3 Dimensi

LAPORAN PRATIKUM KOMPUTER APLIKASI

Tipe Data, Variabel, Input/Output

Computer Graphic. Output Primitif dan Algoritma Garis. Erwin Yudi Hidayat. Computer Graphics C Version 2 Ed by Donald Hearn

EC5130 Grafika Komputer dan Pemrograman GPU

Kurikulum Qt. Chapter 4 Function. Fungsi

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI.

Perulangan, Percabangan, dan Studi Kasus

Computer Graphic. Output Primitif dan Algoritma Garis. Erwin Yudi Hidayat.

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

TUTORIAL BAHASA PEMOGRAMAN C++

DIAN PRATIWI. ST, MTI

Modul 6 Interaksi dengan Keyboard dan Mouse

KATA PENGANTAR Page i

PRAKTIKUM KONSEP PEMROGRAMAN MATERI DECISION DWI SETIYA NINGSIH. November 16, Page 1 of 16 PRAKTIKUM KONSEP PEMROGRAMAN MATERI

Fungsi 1 DASAR PEMROGRAMAN

PEMBENTUKAN TRANSFORMASI OBJEK 2 DIMENSI DENGAN OPENGL

TUGAS MATA KULIAH ALGORITMA PEMROGRAMAN 3

PERANCANGAN POLIHEDRA DENGAN METODE JARING POLIGON

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Pengantar Kuliah: Grafika Komputer. By: Nana Ramadijanti

Pemrograman I Bab V Percabangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

TUGAS PROGRAM DIAGONAL, VETIKAL, DAN HORIZONTAL OPENGL (MENGGUNAKAN JAVA) NAMA : SYIFA MUTIARA SARI KELAS : 3KA23 NPM :

//Kalkulator yang Dapat melakukan perkalian, pengurangan, pertambahan,

Bab 8 PEMROGRAMAN GRAFIK

Pencarian (Searching)

EVALUASI MATRIKULASI ANALISA DAN DESAIN ALGORITMA

BAB I PENDAHULUAN. 1.1.Latar Belakang

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

FUNCTION (FUNGSI) LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Minggu ke-14 Typedef, Struct & Command Line Argument

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

A. TUJUAN PEMBELAJARAN

Grafik Komputer dan Pengolahan Citra. Grafik Komputer : Geometri Primitive. Universitas Gunadarma. Grafik Komputer : Geometri Primitive 1/12

ALGORITMA MIDPOINT UNTUK PENGGAMBARAN GRAFIK BERKECEPATANG TINGGI

Pada komputer grafik ada 3 macam sistem koordinat yang harus di perhatikan :

Transkripsi:

PRIMITIVE DRAWING Achmad Basuki Nana Ramadijanti

Materi Program Dasar dengan OpenGL Menggambar Titik Menggambar Garis Menggambar Polyline Menggambar Polygon Pewarnaan

Struktur Dasar Program Grafik Dengan OpenGL #include <GL/glut.h> void userdraw() { static int tick=0; //program grafik ditulis disini void display(void) { //clear screen glclear(gl_color_buffer_bit); userdraw(); glutswapbuffers();

Struktur Dasar Program Grafik Dengan OpenGL int main(int argc, char **argv) { glutinit(&argc,argv);//inisialisasi Toolkit glutinitdisplaymode(glut_double GLUT_RGB); glutinitwindowposition(100,100); glutinitwindowsize(640,480); glutcreatewindow( My First OpenGL"); glclearcolor(1.0,1.0,1.0,0.0); gluortho2d(0.,640.,-240.,240.); glutidlefunc(display); glutdisplayfunc(display); glutmainloop(); return 0; #include <glut.h> void userdraw() { static int tick=0; void display(void) { glclear(gl_color_buffer_bit); userdraw(); glutswapbuffers();

Struktur Dasar Program Grafik Dengan OpenGL glutinitwindowposition(100,100); glutinitwindowsize(640,480); Membuat windows dengan ukuran (640,480) dengan titik kiri atas jendela diletakkan pada posisi (100,100) di layar komputer glutcreatewindow( Drawing By Achmad Basuki"); Memberi judul pada windows dengan Drawing By Achmad Basuki

Struktur Dasar Program Grafik Dengan OpenGL glclearcolor(1.0,1.0,1.0,0.0); Mendefinisikan warna dari windows yang dibuat dengan warna (1,1,1) yaitu warna putih gluortho2d(0.,640.,-240.,240.); Mendefinisikan besarnya sistem koordinat dengan range sumbu x adalah [0,640] dan range untuk sumbu y adalah [-240,240]

Sistem Koordinat y (640,480) Drawing Windows (0,480) (0,0) x (640,0)

Menggambar Titik glvertex2i(x,y) Untuk menggambar titik di posisi (x,y) dimana x dan y didefinisikan sebagai bilangan bulat (integer) glvertex2f(x,y) glvertex2d(x,y) Untuk menggambar titik di posisi (x,y) dimana x dan y didefinisikan sebagai bilangan pecahan (float/double)

Contoh Menggambar Titik glbegin(gl_points); glvertex2i(100,50); glvertex2i(100,130); glvertex2i(150,130); My first Drawing

Fungsi Untuk Membuat Titik void drawdot(int x, int y) { glbegin(gl_points); glvertex2i(x,y); void drawdot(float x, float y) { glbegin(gl_points); glvertex2f(x,y); Fungsi ini digunakan bila x dan y didefinisikan sebagai integer Fungsi ini digunakan bila x dan y didefinisikan sebagai float

Contoh Program Titik Untuk mengubah ukuran titik dapat menggunakan perintah glpointsize(ukurantitik); Bila ditulis glpointsize(4) maka besar titiknya adalah 4x4 pixel. Bila tidak digunakan maka ukuran titiknya adalah 1 pixel. Program berikut menghasilkan titik-titik acak baik posisi dan besarnya. #include <GL/glut.h> #include <stdlib.h> void userdraw(void) { int s; // ukuran titik float x,y; // posisi titik for(int i=0;i<1000;i++){ s=rand()%4+1; glpointsize(s); glbegin(gl_points); x=-100+200*(float)rand()/rand_max; y=-100+200*(float)rand()/rand_max; glvertex2f(x,y);

Menggambar Garis Untuk membuat garis diperlukan library GL_LINES dengan menyatkan titik awal dan titik akhir dari garis. My first drawing glbegin(gl_lines); glvertex2i(100,100); glvertex2i(200,150); (100,100) (200,150)

Fungsi Untuk Menggambar Garis void drawline(int x1,int y1,int x2,int y2) { glbegin(gl_lines); glvertex2i(x1,y1); glvertex2i(x2,y2); void drawline(float x1,float y1,float x2,float y2) { glbegin(gl_lines); glvertex2f(x1,y1); glvertex2f(x2,y2);

Contoh Program Garis Menggambar efek hujan, sama seperti menggambar bintang dengan titik acak, tetapi yang obyeknya berupa garis diagonal. Program untuk menggambar efek hujan ini adalah: void userdraw(void){ float xp,yp; for(int i=0;i<300;i++){ xp=640*(float)rand()/rand_max; yp=480*(float)rand()/rand_max; glcolor3f(1,1,1); glbegin(gl_lines); glvertex2f(xp,yp); glvertex2f(xp+8,yp-8); Derasnya hujan dapat diatur dengan memperbanyak jumlah garis yang digambar atau membuat garisnya lebih panjang. Sedangkan arah gerakan air hujan dapat diatur dengan operasi penjumlahan atau pengurangan dari masing-masing nilai x dan nilai y pada setiap garis. Permainan sudut akan menjadi lebih baik karena bisa mengubah arah hujan menjadi lebih realistik dengan memberikan afek angin.

Membuat PolyLine Polyline adalah sekumpulan garis yang terhubung satu dengan yang lainnya hingga membentuk sebuah obyek gambar. glbegin(gl_line_strip); glvertex2i(x1,y1); glvertex2i(x2,y2); glvertex2i(x3,y3); glvertex2i(xn,yn);

Membuat PolyLine glbegin(gl_line_strip); glvertex2i(100,100); glvertex2i(200,150); glvertex2i(300,50); My first drawing (200,150) (100,100) (300,50)

Membuat Polygon Polyline adalah sekumpulan garis yang terhubung satu dengan yang lainnya dan berbentuk kurva tertutup hingga membentuk sebuah obyek gambar. glbegin(gl_line_loop); glvertex2i(x1,y1); glvertex2i(x2,y2); glvertex2i(x3,y3); glvertex2i(xn,yn);

Membuat Polygon glbegin(gl_line_loop); glvertex2i(100,100); glvertex2i(200,150); glvertex2i(300,50); My first drawing (200,150) (100,100) (300,50)

Pewarnaan glcolor3f(red,green,blue); Red,green,blue bervariasi diantara 0. S/d 1. glcolor3f(0.,0.,0.);//black glcolor3f(0.,0.,1.);//blue glcolor3f(0.,1.,0.);//green glcolor3f(0.,1.,1.);//cyan glcolor3f(1.,0.,0.);//red glcolor3f(1.,0.,1.);//magenta glcolor3f(1.,1.,0.);//yellow glcolor3f(1.,1.,1.);//white

Contoh Program Warna void userdraw(){ glcolor3f(0,0,1); for(float x=-100;x<=100;x+=10) { glbegin(gl_lines); glvertex2f(x,-100); glvertex2f(x,100); glbegin(gl_lines); glvertex2f(-100,x); glvertex2f(100,x); glcolor3f(0,1,1); glbegin(gl_lines); glvertex2f(-100,0); glvertex2f(100,0); glbegin(gl_lines); glvertex2f(0,-100); glvertex2f(0,100); Membuat grid dengan warna biru (0,0,1) dan sumbu koordinat.dengan warna biru muda (0,1,1). Jarak antar grid adalah 10 satuan dengan batas sumbu koordinat (-100,100) untuk sumbu X dan (-100,100) untuk sumbu Y seperti gambar berikut: (Sebelumnya ubah latar belakang menjadi hitam dengan glclearcolor(0.0, 0.0, 0.0, 0.0); pada bagian main().