OpenGL實現(xiàn)中點劃線法
更新時間:2020年02月20日 09:24:41 作者:BradyF
這篇文章主要為大家詳細(xì)介紹了OpenGL實現(xiàn)中點劃線法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了OpenGL實現(xiàn)中點劃線法的具體代碼,供大家參考,具體內(nèi)容如下
#include "GL/glut.h" #include "stdio.h" #include "math.h" int xs, ys, xe, ye; void MidpointLine(int x0, int y0, int x1, int y1) { if((x0 != x1) && (y0 != y1)) { int a, b, deltal, delta2, d, x, y; a = y0 - y1; b = x1 - x0; d = 2 * a + b; deltal = 2 * a; delta2 = 2 * (a + b); x = x0; y = y0; glVertex2i(x, y); while(x < x1) { if(d < 0) { x++; y++; d += delta2; } else { x++; d += deltal; } glVertex2i(x, y); } } else { int min, d; if(x0 == x1) { int x = x0, y; y = (y0<=y1) ? y0 : y1; d = fabs((double)(y0 - y1)); while (d <= 0) { glVertex2i(x, y); y++; d--; } } } } void lineSegment() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 0.0, 0.0); glBegin(GL_POINTS); MidpointLine(xs, ys, xe, ye); glEnd(); glFlush(); } void main(int argc, char * argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); printf("輸入線段起始和終止點坐標(biāo)(范圍為0-500,0-500)"); scanf("%d, %d, %d, %d", &xs, &ys, &xe, &ye); glutInitWindowPosition(50, 100); glutInitWindowSize(500, 500); glutCreateWindow("中點劃線法"); glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0, 500.0, 0.0, 500.0); glutDisplayFunc(lineSegment); glutMainLoop(); }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
解析Linux下的時間函數(shù):設(shè)置以及獲取時間的方法
本篇文章是對Linux下的時間函數(shù):設(shè)置以及獲取時間的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C語言實現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用鏈表
這篇文章主要為大家詳細(xì)介紹了c語言實現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用鏈表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11C++實現(xiàn)LeetCode(190.顛倒二進(jìn)制位)
這篇文章主要介紹了C++實現(xiàn)LeetCode(190.顛倒二進(jìn)制位),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08VS2019配置OpenCV時找不到Microsoft.Cpp.x64.user的解決方法
這篇文章主要介紹了VS2019配置OpenCV時找不到Microsoft.Cpp.x64.user的解決方法,需要的朋友可以參考下2020-02-02C++ Qt開發(fā)之使用QHostInfo查詢主機(jī)地址
Qt 是一個跨平臺C++圖形界面開發(fā)庫,利用Qt可以快速開發(fā)跨平臺窗體應(yīng)用程序,本文將重點介紹如何運用QHostInfo組件實現(xiàn)對主機(jī)地址查詢功能,希望對大家有所幫助2024-03-03一道超經(jīng)典的C++結(jié)構(gòu)體的題目
以下小編就為大家介紹一道超經(jīng)典的關(guān)于C++結(jié)構(gòu)體的題目。需要的朋友可以過來參考下2013-09-09