#include <GL/glut.h>
#include <cstdlib>
void LineDDA(int x0,int y0,int x1,int y1/*,int color*/)
{
int k,i;
float x,y,dx,dy;
if (abs(x1-x0) >= abs(y1-y0))
k=abs(x1-x0);
else
k=abs(y1-y0);
dx=float (x1-x0)/k;
dy=float (y1-y0)/k;
x=float(x0);
y=float(y0);
glColor3f (1.0f, 1.0f, 0.0f); //黄 用DDA算法画的线是黄线
glPointSize(1);
for(i=0;i<k; i++)
{
glBegin (GL_POINTS);
glVertex2i ((int)(x+0.5),(int)(y+0.5));
glEnd ();
x+=dx;
y+=dy;
}
}
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f (1.0f, 0.0f, 0.0f);
glRectf(25.0, 25.0, 75.0, 75.0);
glPointSize(5);
glBegin (GL_POINTS);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.0f, 0.0f);
glEnd ();
LineDDA(0, 0, 00, 300);
glBegin (GL_LINES);
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (100.0f, 0.0f);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (180.0f, 240.0f);
glEnd ();
glFlush();
}
void Init()
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glShadeModel(GL_FLAT);
}
void Reshape(int w, int h)
{
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, (GLdouble) w, 0.0, (GLdouble) h);
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("Hello World!");
Init();
glutDisplayFunc(myDisplay);
glutReshapeFunc(Reshape);
glutMainLoop();
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
DDA.rar_openGL dda

共4个文件
dsw:1个
plg:1个
cpp:1个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 84 浏览量
2022-09-14
16:30:40
上传
评论 1
收藏 2KB RAR 举报
温馨提示
3.实验原理: 示范代码原理参见教材直线光栅化一节中的DDA算法。下面介绍下OpenGL画线的一些基础知识和glutReshapeFunc()函数。 (1)数学上的直线没有宽度,但OpenGL的直线则是有宽度的。同时,OpenGL的直线必须是有限长度,而不是像数学概念那样是无限的。可以认为,OpenGL的“直线”概念与数学上的“线段”接近,它可以由两个端点来确定。这里的线由一系列顶点顺次连结而成,有闭合和不闭合两种。 前面的实验已经知道如何绘“点”,那么OpenGL是如何知道拿这些顶点来做什么呢?是一个一个的画出来,还是连成线?或者构成一个多边形?或是做其它事情呢?为了解决这一问题,OpenGL要求:指定顶点的命令必须包含在glBegin函数之后,glEnd函数之前(否则指定的顶点将被忽略),并由glBegin来指明如何使用这些点。
资源详情
资源评论
资源推荐
收起资源包目录






共 4 条
- 1
































小波思基
- 粉丝: 103
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 主塔楼外框筒腰桁架组装、预拼装方案(22冶)040.doc
- 外墙外保温系统的节点防水处理措施.doc
- IATF16949-14业务计划.doc
- 高中数学算法初步循环结构课件北师大版必修.pptx
- 上部结构施工标高测量方法.doc
- 基坑降水结构防水施工关键技术.ppt
- 当前我国电子商务税收问题研究.pptx
- 研发单机使用工具工具使用手册.doc
- 小虎外墙砖三方合同.doc
- 3.8-项目工作包进展报告表.doc
- 预制箱梁施工工艺流程图.doc
- [陕西]住宅楼剪力墙大钢模施工技术总结.ppt
- 鼎湖培训中心薪酬管理制度doc.doc
- 网络电话业务合作协议模板.doc
- 硅谷的职业创业者.doc
- 第10章-创建文字和表格.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0