gravatar

Praktikum 4 (Penggambaran Garis Dengan Algoritma DDA Dan Bresenham)



Praktikum 4 (Penggambaran Garis Dengan Algoritma DDA Dan Bresenham)

Memulai Project Baru:

Pada saat teman-teman akan membuat project baru untuk membuat garis dengan berbagai macam bentuk pada Microsoft Visual Studio 2008, langkah-langkah nya sebagai berikut:
1. Buka aplikasi Microsoft Visual Studio 2008
2. Pilih menu File-News-Project. Sehingga akan terbuka jendela dialog baru seperti di bawah ini:
3. Pilih win.32 Console Application  dan beri nama projectnya misal: Praktikum02. Klick Next, kemudian pada bagian Additional Options, contreng pilihan Empty project. Merupakan project yang kita mulai dari dasar, bukan dari template yang disediakan oleh Microsoft Visual Studio.
4. Jika project sudah berhasil tercreate, maka pada Microsoft Visual Studio di bagian paling kiri akan muncul folder project yang batu kita buat. Klick kanan pada folder Sources Files,  lalu pilih menu Add->New Item,  pilih C++ File(.cpp), kemudian beri nama, misal: lines.
5. Buka file lines.cpp pada editor kode program, lalu tuliskan kode program berikut ini:

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <glut.h>
#include <math.h>

void display(void)
{
glClearColor (1.0 ,1.0, 1.0, 0.0);
glMatrixMode (GL_PROJECTION);
gluOrtho2D (0.0, 300.0, 0.0, 300.0);
}
void setPixel (GLint xCoordinate, GLint yCoordinate)
{
glBegin(GL_POINTS);
glVertex2i (xCoordinate, yCoordinate);
glEnd();
glFlush();
}

void lineBres(GLint x0, GLint y0, GLint xEnd, GLint yEnd)
{
GLint dx = (float)fabs((float) xEnd - x0);
GLint dy = (float)fabs((float) yEnd - y0);
GLint p = 2 * (dy-dx);
GLint twoDy = 2 * dy;
GLint twoDyMinusDx = 2 * (dy-dx);
GLint x,y;

if (x0 > xEnd){
x = xEnd;
y = yEnd;
xEnd = x;
}else{
x = x0;
y = y0;
}
setPixel (x,y);
while (x<xEnd){
x++;
if (p<0)
p  += twoDy;
else{
y++;
p += twoDyMinusDx;
}
setPixel(x,y);
}
}
void drawMyLine(void)
{
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 0.0, 0.0);
glPointSize (4.0);
GLint x0 = 100;
GLint y0 = 100;
GLint xEnd = 200;
GLint yEnd = 100;
lineBres (x0, y0, xEnd, yEnd);

glColor3f (0.0, 0.0, 1.0);
glPointSize (4.0);
GLint x1 = 100;
GLint y1 = 200;
GLint xEnd1 = 200;
GLint yEnd1 = 200;
lineBres (x1, y1, xEnd1, yEnd1);

glColor3f (1.0, .0, 1.0);
glPointSize (4.0);
GLint x2 = 100;
GLint y2 = 300;
GLint xEnd2 = 200;
GLint yEnd2 = 300;
lineBres (x2, y2, xEnd2, yEnd2);
}

int main (int argc, char** argv)
{
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (400, 400);
glutInitWindowPosition (0, 0);
glutCreateWindow ("Digital Differential Anallyzer Algorithm");
display();
glutDisplayFunc (drawMyLine);
glutMainLoop();
return 0;
}

6. Lakukan pengubahan properti program dengan memilih menu:
   -Project-> Properties, atau tekan tombol Alt+F7
   -pada Configuration Properties->General->Linker->Input->Additional Dependencies, masukkan library-librari yang dibutuhkan. Ketikkan: opengl32.lib glu.32.lib glut32.lib
   -Pada Configuration Properties->C/C++->Advance->Disable Spesific Warnings ketik 4996 (pilih level 3).
7. Lakukan kompilasi dan jalankan program dengan menekan tombol F5. Maka hasil running akan tampak seperti di atas.


Penting teman-teman bisa mencoba mengganti sedikit demi sedikit nilai kode program di atas sambil melihat perubahannya

Artikel Terkait by Categories



Widget by Uda3's Blog
Bagikan