Monday, 7 November 2011

Kategori: , , ,

Membuat Titik Potong Dengan Mengunakan Visual Studio C++ 2008

Hallo sobat warna, ketemu lagi di postingan kali ini dengan pembahasan "Membuat Titik Potong" dengan menggunakan Visual Studio C++ 2008. Walaupun simple setidaknya kita mencoba untuk lebih memahami tingkat yang lebih sulit nantinya, dan berikut codingnya, goodluck. :)

#include
#include
#include
#include
#include
#include 
void init(void); 
void Display(void); 

float xA, yA, xB, yB, xC, yC, xD, yD, c1, c2, m1, m2, x, y; 

int main(int argc,char** argv) 

{
printf("Masukkan titik-titik potongnya!\n"); 
printf("Titik xA : "); 
scanf("%f", &xA); 
printf("Titik yA : "); 
scanf("%f", &yA); 
printf("Titik xB : "); 
scanf("%f", &xB); 
printf("Titik yB : "); 
scanf("%f", &yB); 

printf("Titik xC : "); 
scanf("%f", &xC); 
printf("Titik yC : "); 
scanf("%f", &yC); 

printf("Titik xD : "); 
scanf("%f", &xD); 
printf("Titik yD : "); 
scanf("%f", &yD); 

glutInit(&argc,argv); 
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB); 
glutInitWindowSize(500,500); 
glutInitWindowPosition(250,150); 
glutCreateWindow(" .:: Titik Perpotongan - 672010179::."); 
init(); 
glutDisplayFunc(Display); 
glutMainLoop(); 
return 0; } 

void init(void) 
{
glClearColor(1.0,1.0,1.0,1.0); 
glPointSize(6.0); 
glMatrixMode(GL_PROJECTION); 
glLoadIdentity(); 
gluOrtho2D(0.0, 500.0, 0.0, 500.0); 
} 

void Display(void) 
{ 
glClear(GL_COLOR_BUFFER_BIT);
 glBegin(GL_LINES); 
 glColor3f(0.0, 0.0, 1.0); 
 glVertex2f(xA, yA); 
 glVertex2f(xB, yB);
 glVertex2f(xC, yC); 
 glVertex2f(xD, yD); 
 
 glEnd(); 
 
 m1 = (yB - yA )/(xB - xA);
 m2 = (yD - yC )/(xD - xC);
 
 c1 = yA - (m1*xA); 
 c2 = yC - (m2*xC);
 
 x = ((c2 - c1) / (m1- m2));
 y = (m1*x) + c1; glBegin(GL_POINTS);
 
 glColor3f(1.0, 0.0, 0.0);
 glVertex2i(x,y); 
 glEnd();
 
 printf("x = %.2f, y = %.2f",x,y);
 
 glutSwapBuffers(); 
 }

Berikut ini adalah output dari hasil coding diatas:
Output

2 comments:

  1. Mantap Bro postingnya... cari2 padahal ada sini eh..kwkwkw

    ReplyDelete
    Replies
    1. @MarceloDj: Hahah.. sama-sama bro ...

      Delete