Selasa, 16 Oktober 2012

Menghitung titik potong garis pada OpenGL


Untuk menentukan titik potong dua buah gagis pada C++ seperti yang terlihat pada gambar di atas.
kita mengguakan rumus matematika. yang di mana rumus tersebutlah yang nantinya akan di masukkan ke dalam program yang kita buat. Berikut ini adalah source code untuk menentukan titik potong garis, yang di mana source code ini dapat di masukkan kedalam fungsi display.

float    xa = 50,ya = 70,
         xb = 200,yb = 250,
         xc = 250,yc = 50,
         xd = 50,yd = 350,
         x,y,m1,m2,c1,c2;
         
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0f, 0.0f, 1.0f);
glBegin(GL_LINES);
glVertex2f(xa, ya); 
glVertex2f(xb, yb);
glEnd();
glColor3f(0.0f, 1.0f, 0.0f);
glBegin(GL_LINES);
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;

glColor3f(1.0f, 0.0f, 0.0f);
glBegin(GL_POINTS);
glVertex2f(x,y);
glEnd();



Tidak ada komentar:

Posting Komentar