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-05
C語言實現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用鏈表
這篇文章主要為大家詳細(xì)介紹了c語言實現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用鏈表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
C++實現(xiàn)LeetCode(190.顛倒二進(jìn)制位)
這篇文章主要介紹了C++實現(xiàn)LeetCode(190.顛倒二進(jìn)制位),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
VS2019配置OpenCV時找不到Microsoft.Cpp.x64.user的解決方法
這篇文章主要介紹了VS2019配置OpenCV時找不到Microsoft.Cpp.x64.user的解決方法,需要的朋友可以參考下2020-02-02
C++ 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

