OpenGL實(shí)現(xiàn)中點(diǎn)劃線法
更新時(shí)間:2020年02月20日 09:24:41 作者:BradyF
這篇文章主要為大家詳細(xì)介紹了OpenGL實(shí)現(xiàn)中點(diǎn)劃線法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了OpenGL實(shí)現(xiàn)中點(diǎ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("輸入線段起始和終止點(diǎn)坐標(biāo)(范圍為0-500,0-500)");
scanf("%d, %d, %d, %d", &xs, &ys, &xe, &ye);
glutInitWindowPosition(50, 100);
glutInitWindowSize(500, 500);
glutCreateWindow("中點(diǎn)劃線法");
glClearColor(1.0, 1.0, 1.0, 0.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0, 500.0, 0.0, 500.0);
glutDisplayFunc(lineSegment);
glutMainLoop();
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
C語言全面梳理結(jié)構(gòu)體知識(shí)點(diǎn)
結(jié)構(gòu)體是一些值的集合,這些值稱為成員變量,結(jié)構(gòu)體的每個(gè)成員可以是不同類型的變量。本文將通過示例為大家詳細(xì)講講C語言中結(jié)構(gòu)體的使用,需要的可以參考一下2022-07-07
VC程序設(shè)計(jì)中CreateProcess用法注意事項(xiàng)
這篇文章主要介紹了VC程序設(shè)計(jì)中CreateProcess用法注意事項(xiàng),需要的朋友可以參考下2014-07-07
Prim(普里姆)算法求最小生成樹的思想及C語言實(shí)例講解
Prim算法能夠在帶權(quán)的圖中搜索出最小生成樹,這也是各大ACM和面試及考研題目中的熱點(diǎn),下面我們就來詳細(xì)看一下Prim(普里姆)算法求最小生成樹的思想及C語言實(shí)例講解2016-06-06
C語言實(shí)現(xiàn)學(xué)生個(gè)人消費(fèi)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語言學(xué)生個(gè)人消費(fèi)管理系統(tǒng)開發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
基于Qt實(shí)現(xiàn)一個(gè)圖片對(duì)比選擇瀏覽器
這篇文章主要為大家詳細(xì)介紹了如何基于Qt實(shí)現(xiàn)一個(gè)圖片對(duì)比選擇瀏覽器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04

