يا جماعة انا كتبت الكود ده في الفيجوال سي ومبيطلعش غير خط افقي ونقطة ومعرفش فين الغلط
#include<windows.h>
#include<gl/gl.h>
#include<gl/glu.h>
#include<gl/glaux.h>
#include<math.h>
void display ();
void line(int x1,int y1,int x2,int y2);
void draw_point(int x,int y );
void main()
{
auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
auxInitPosition(0,0,500,500);
auxInitWindow("line");
auxMainLoop((AUXMAINPROC)display);
}
void display()
{
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glPointSize(5.0);
draw_point(5,6);
line(50,70,50,100);
line(50,100,150,100);
line(50,50,100,200);
line(50,40,450,100);
}
void draw_point(int x,int y)
{
glBegin(GL_POINTS);
glVertex2i(x,y);
glEnd();
glFlush();
}
void line(int x1,int y1,int x2,int y2)
{
float m;
int c=(x2-x1);
int d=(y2-y1);
m=d/c;
if(m<1)
{ for(int i=x1;x1<=x2;i++)
{
int y=(m*i)+200;
draw_point(i,y);
}
}
if(m>1)
{
for(int i=y1;y1<=y2;i++)
{
int x=(i-200)/m;
draw_point(x,i);
}
}
if(m==0)
{
for(int i=x1;x1<=x2;i++)
{
y1=200;
draw_point(i,y1);
}
}
if((x2-x1)==0)
{
for(int i=y1;y1<=y2;i++)
{
draw_point(x1,i);
}
}
}