DDA算法

// aaaa.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "gl/glut.h"
void init(void)
{glClearColor(1.0,1.0,1.0,0.0);
//窗口的背景颜色设置为白色
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0,200.0,0.0,150.0);
}
void DDALine(int x0,int y0,int x1,int y1)
{

   int x;
   float dx,dy,y,m;
   dx=x1-x0,dy=y1-y0;
   m=dy/dx;
   y=y0;
   glBegin(GL_POINTS);
      for(x=x0;x<=x1;x++)
   {
     glVertex2i(x,int(y+0.5));
  y=y+m;
  
   }
   glEnd();


}
void lineSegment(void)
{
    glClear(GL_COLOR_BUFFER_BIT);        //赋值的窗口显示. 
    glColor3f(1.0,0.0,0.0);             //设置直线的颜色红色
    DDALine(10,10,100,90);

    glFlush();            //Process all OpenGL routines as quickly as possible.
}
void main(int argc,char* argv)
{
    glutInit(&argc,&argv);                //I初始化 GLUT.
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);    //设置显示模式:单个缓存和使用RGB模型
    glutInitWindowPosition(50,100);        //设置窗口的顶部和左边位置
    glutInitWindowSize(400,300);        //设置窗口的高度和宽度
    glutCreateWindow("An Example OpenGL Program");    //创建显示窗口

    init();                                //调用初始化过程
    glutDisplayFunc(lineSegment);        //图形的定义传递给我window.
    glutMainLoop();                        //显示所有的图形并等待
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值