membuat program wajah dengan menggunakan OpenGL

5
Menggambar Wajah Manusia Menggunakan C++ dengan OpenGL Nama : Muhammad Novrizal NIM : 1157301016 Kelas : G 3 Terdiri dari: 1 buah Lingkaran 2 buah kotak 1 buah segitiga 1 buah persegipanjang Membuat Bagian Muka Lingkaran Posisi: (x/100) (y/100) Titik Vertex dan List Program glBegin(GL_LINE_LOOP); radius = 40; jumlah_titik = 60; x_tengah = 50; y_tengah = 50; for (i=0;i<=360;i++){ float sudut=i*(2*PI/jumlah_titik); float x=x_tengah+radius*cos(sudut); float y=y_tengah+radius*sin(sudut); glVertex2f(x/100,y/100);

description

laporan grafika komputer dengan bahasa pemograman bahasa

Transcript of membuat program wajah dengan menggunakan OpenGL

Page 1: membuat program wajah dengan menggunakan OpenGL

Menggambar Wajah Manusia Menggunakan C++ dengan OpenGL

Nama : Muhammad Novrizal

NIM : 1157301016

Kelas : G3

Terdiri dari:

1 buah Lingkaran

2 buah kotak

1 buah segitiga

1 buah persegipanjang

Membuat Bagian Muka

Lingkaran Posisi:

(x/100) (y/100)

Titik Vertex dan List Program

glBegin(GL_LINE_LOOP);

radius = 40; jumlah_titik = 60; x_tengah = 50; y_tengah = 50;

for (i=0;i<=360;i++){ float sudut=i*(2*PI/jumlah_titik); float x=x_tengah+radius*cos(sudut); float y=y_tengah+radius*sin(sudut); glVertex2f(x/100,y/100); } glEnd();

Page 2: membuat program wajah dengan menggunakan OpenGL

Membuat Bagian Mata

Mata Sebelah Kanan Kotak Posisi (x,y):

Titik 1 (6,6) Titik 2 (7,6) Titik 3 (7,7) Titik 4 (6,7)

Titik Vertex dan List Program

glBegin (GL_QUADS);glVertex3f(0.6,0.6,0.0);glVerctex3f(0.7,0.6,0.0);glVertex3f(0.7,0.7,0.0);glVertex3f(0.6,0.7,0.0);glEnd ();

Mata Sebelah Kiri Kotak Posisi (x,y):

Titik 1 (3,6) Titik 2 (4,6) Titik 3 (4,7) Titik 4 (3,7)

Titik Vertex dan List Program

glBegin (GL_QUADS);glVertex3f(0.3,0.6,0.0);glVertex3f(0.4,0.6,0.0);glVertex3f(0.4,0.7,0.0);glVertex3f(0.3,0.7,0.0);glEnd ();

Membuat Bagian Hidung Segitiga Posisi (x, y):

Titik 1 (5, 6) Titik 2 (4, 5) Titik 3 (6, 5)

Titik Vertex dan List Program

glBegin(GL_TRIANGLES);glVertex3f(0.5,0.6,0.0);glVertex3f(0.4,0.5,0.0);glVertex3f(0.6,0.5,0.0);glEnd();

Membuat Bagian Mulut

Page 3: membuat program wajah dengan menggunakan OpenGL

Persegi Panjang Posisi (x, y):

Titik 1 (3.5, 3) Titik 2 (6.5, 3) Titik 3 (6.5, 4) Titik 4 (3.5, 4)

Titik Vertex dan List Program

glBegin(GL_QUADS);glVertex3f(0.35,0.3,0.0);glVertex3f(0.65,0.3,0.0);glVertex3f(0.65,0.4,0.0);glVertex3f(0.35,0.4,0.0);glEnd();

List Program:

#include <GL/glut.h>#include <windows.h>#include <math.h>

const double PI = 3.141592653589793;

void Draw(void);

int i,radius,jumlah_titik,x_tengah,y_tengah;

void Initialize() { glClearColor(1.0, 1.0, 1.0, 1.0); glLoadIdentity(); glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);}

int main(int iArgc, char** cppArgv){ glutInit(&iArgc, cppArgv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowPosition(200, 200); glutInitWindowSize(230, 230); gluOrtho2D(-150.0, 150.0, -150.0, 150.0); glutCreateWindow("Wajah Manusia"); Initialize(); glutDisplayFunc(Draw); glutMainLoop(); return 0;}

void Draw(){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0,0.0,0.0); //lingkaran penuh glBegin(GL_LINE_LOOP);

radius = 40; jumlah_titik = 60;

Page 4: membuat program wajah dengan menggunakan OpenGL

x_tengah = 50; y_tengah = 50;

for (i=0;i<=360;i++){ float sudut=i*(2*PI/jumlah_titik); float x=x_tengah+radius*cos(sudut); float y=y_tengah+radius*sin(sudut); glVertex2f(x/100,y/100); } glEnd();

glBegin(GL_QUADS);glVertex3f(0.3,0.6,0.0);glVertex3f(0.4,0.6,0.0);glVertex3f(0.4,0.7,0.0);glVertex3f(0.3,0.7,0.0);glEnd();

glBegin(GL_QUADS);glVertex3f(0.6,0.6,0.0);glVertex3f(0.7,0.6,0.0);glVertex3f(0.7,0.7,0.0);glVertex3f(0.6,0.7,0.0);glEnd();

glBegin(GL_TRIANGLES);glVertex3f(0.5,0.6,0.0);glVertex3f(0.4,0.5,0.0);glVertex3f(0.6,0.5,0.0);glEnd();

glBegin(GL_QUADS);glVertex3f(0.35,0.3,0.0);glVertex3f(0.65,0.3,0.0);glVertex3f(0.65,0.4,0.0);glVertex3f(0.35,0.4,0.0);glEnd();

glFlush();}