Membuat Titik Potong Garis Di OpenGL C++

Dalam kesempatan Kali ini saya mau share gmna membuat titik Potong dari dua buah Garis....
mungkin Hal Ini sangat mudah bagi org2 yg udah tau, tetapi saya akan tetap share gmana menentukan titik Potong garis...

disini saya membuat dua garis....
kita anggap Aja Garis AB dan Garis CD...
disini Garis AB berpotongan Dengan Garis CD

dimana Garis AB terdapat Pada Titik:
A(50,70)             B(210,250)

dan Garis CD terdapat pada titik;
C(250,50)           D(60,350)

ok, Copy Paste AJa Coding Berikut.,,,


#include <windows.h>
#include <gl/Gl.h>
#include <glut.h>

float xa=50, ya=70, xb=210, yb=250,xc=250, yc=50, xd=60, yd=350, Mab,Mcd,Cab,Ccd,titik_x,titik_y;

void garis(void){
Mab = (yb-ya)/(xb-xa);
Cab = ya-(Mab*xa);

Mcd = (yd-yc)/(xd-xc);
Ccd = yc -(Mcd*xc);

titik_x = (Ccd-Cab)/(Mab-Mcd);
titik_y = (Mab*titik_x)+Cab;



glClear (GL_COLOR_BUFFER_BIT);
glBegin (GL_LINES);
glColor3f(1, 0, 0);
glVertex2i(xa,ya);                //garis AB
glVertex2i(xb,yb);

glColor3f(0, 1, 0);
glVertex2i(xc,yc);                //garis CD
glVertex2i(xd,yd);
glEnd ();
glFlush();

glBegin(GL_POINTS);
glColor3f(0, 0, 1);
glVertex2i(titik_x,titik_y);         //titik Potong
glEnd();
glFlush();
}

void display (void){
glClearColor(1,1,1,0);
glColor3f(0.0f,0.0f,0.0f);
glPointSize(10);
glLineWidth(3);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,300,0,500);
glFlush();

}

int main (int x, char** y){
glutInit(& x,y);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(200,200);
glutCreateWindow(" Titik potong ");
glutDisplayFunc(garis);
display();
glutMainLoop();
}





Output :




oke sekian dari saya
semoga Bermanfaat Bagi Yg MembutuhKAn,,,,,,,,,,,,,,,,,,



2 komentar:

  1. wah bermanfaat sekali bagi saya yang baru belajar c++ maka sih gan infonya

    BalasHapus
  2. terima kasih sdh berkunjung......

    BalasHapus

Copyright © 2013 Gagal Coding