Ini program bukan hasil gua murni. penuh
edit sana sini sampe hasilnya bener-bener perfect menurut gua. gua download
open gl-nya dari sini http://zacknov.wordpress.com/2011/09/10/pemrograman-opengl-dan-setting-di-codeblock-c/
bagi kalian yang mau download silahkan
kealamat itu aja yah, itu alamat referensi gua juga kok :)
oke, langsung ke program membuat garis
yah.Program ini menggunakan algoritma midpoint pada lingkaran. Program ini
dibuat karena ada tugas dari mata kuliah Grafik Komputer dan Pengolahan Citra.
So, semoga kodingannya berhasil yah
Listing Kode:
#include
<windows.h>
#include
<gl/glut.h>
void
setPixel(int cx, int cy)
{
glBegin(GL_POINTS);
glVertex2i(cx, cy);
glEnd();
}
void
circleMidpoint(int xCenter, int yCenter, int radius) {
int x = 0;
int y =
radius;
int p =
1-radius;
circlePoints(xCenter,
yCenter, x, y);
while (x
< y) {
x++;
if (p <
0) {
p += 2*x+1;
} else {
p +=
2*(x-y)+1;
y--;
}
circlePoints(xCenter,
yCenter, x, y);
}
}
void
circlePoints(int cx, int cy, int x, int y) {
if (x == 0) {
setPixel(cx, cy + y);
setPixel(cx, cy - y);
setPixel(cx + y, cy);
setPixel(cx -y, cy);
} else if (x == y) {
setPixel(cx + x, cy + y);
setPixel(cx -x, cy + y);
setPixel(cx + x, cy -y);
setPixel(cx -x, cy -y);
} else if (x < y) {
setPixel(cx + x, cy + y);
setPixel(cx - x, cy + y);
setPixel(cx + x, cy - y);
setPixel(cx - x, cy - y);
setPixel(cx + y, cy + x);
setPixel(cx - y, cy + x);
setPixel(cx + y, cy - x);
setPixel(cx - y, cy - x);
}
}
void
Display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glPointSize(3.0);
circleMidpoint(150,150,100);
glFlush();
}
void
init(void)
{
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,500.0,0.0,500.0);
}
void
main(int argc,char* argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(0,0);
glutCreateWindow("Algoritma Lingkaran dengan Bressenham");
init();
glutDisplayFunc(Display);
glutMainLoop();
}
Hasil outputnya kurang lebih
seperti ini:
Good luck guys. Semoga
berhasil :D
bagi kalian yang ingin
mendownload programnya, silahkan klik disini http://www.4shared.com/folder/pKmAmTer/AlgoGaris.html

Tidak ada komentar:
Posting Komentar