dda算法c语言opengl实现
生活随笔
收集整理的這篇文章主要介紹了
dda算法c语言opengl实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <GL/glut.h>
#include <stdio.h>
#include <cstdlib>void dda_line(int x1, int y1, int x2, int y2) {glPointSize(1.0);glBegin(GL_POINTS);glVertex2i(x1, y1);glVertex2i(x2, y2);// x,y的增量int dx = x2 - x1;int dy = y2 - y1;double dert_x;double dert_y;double x, y;int steps;// 步長,看x和y哪個大if (abs(dx) > abs(dy))steps = abs(dx);elsesteps = abs(dy);// 根據步長,算x和y的增量dert_x = (GLdouble)dx / (GLdouble)steps;dert_y = (GLdouble)dy / (GLdouble)steps;x = x1;y = y1;for (int i = 1; i <= steps; i++) {x += dert_x;y += dert_y;glVertex2f(x, y);}glEnd();
}
void myDisplay(void) {glClear(GL_COLOR_BUFFER_BIT);dda_line(250, 250, 350, 450);glFlush();
}
int main(int argc, char* argv[])
{glutInit(&argc, argv);glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);glutInitWindowPosition(500, 200);glutInitWindowSize(500, 500);glutCreateWindow("DDA");gluOrtho2D(0.0, 500.0, 0.0, 500.0);glutDisplayFunc(&myDisplay);glutMainLoop();return 0;
}
總結
以上是生活随笔為你收集整理的dda算法c语言opengl实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nacos怎么修改服务分组_Nacos(
- 下一篇: asp.net Linux 界面,在 A