91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-16
  • 語言: C/C++
  • 標簽: 直線??

資源簡介

用DDA、中點畫線法、Bresenham算法繪制4個象限的直線。

資源截圖

代碼片段和文件信息

#include

#ifdef?__APPLE__
#include?
#else
#include?
#endif

#include
#include
#include


void?init?(void)
{
glClearColor?(1.0?1.0?1.0?0.0);??//?Set?display-window?color?to?white.
glMatrixMode?(GL_PROJECTION);???????//?Set?projection?parameters.
gluOrtho2D?(0.0?200.0?0.0?150.0);
}

int?round(const?float?a)
{
return?(int)(a+0.5);
}
void?lineWithMP(GLint?x0?GLint?y0?GLint?xn?GLint?yn)
{
GLint?a?=?yn?-?y0;
GLint?b?=?-(xn?-?x0);
GLint?c?=?xn*y0?-?x0*yn;

GLint?deltaA?=?0;
GLint?deltaB?=?0;

if(0?!=?a)
{
deltaA?=?a?/?fabs(float(a));
}

if(0?!=?b)
{
deltaB?=?-1?*?b?/?fabs(float(b));
}

GLfloat?x?=?x0;
GLfloat?y?=?y0;

????glColor3f(0.01.00.0);
glPointSize(3.0f);

if(fabs(float(a))? {
GLint?steps?=?fabs(float(b));
for(GLint?i?=?0;?i? {
//?注意屏幕坐標系和世界坐標系的不同。也就是為什么是大于?0?
if(0? {
y?+=?1?*?deltaA;
}

x?+=?1?*?deltaB;

glBegin(GL_POINTS);
glVertex2i(x?y);
glEnd();
glFlush();

}
}
else?
{
GLint?steps?=?fabs(float(a));
for(GLint?i?=?0;?i? {
if(0?<=?(a?*?(x?+?1)?+?b?*?(y?+?0.5)?+?c))
{
x?+=?1?*?deltaB;
}

y?+=?1?*?deltaA;

glBegin(GL_POINTS);
glVertex2i(x?y);
glEnd();
glFlush();

}
}
}
void?lineDDA(int?x0int?y0int?xEndint?yEnd)
{
glColor3f(0.00.01.0);
glPointSize(3.0f);
int?dx?=?xEnd?-?x0;
int?dy?=?yEnd?-?y0;
int?stepsk;
float?xIncrementyIncrementx?=?x0y?=?y0;

if(fabs(float(dx))?>?fabs(float(dy)))
steps?=?fabs(float(dy));
else
steps?=?fabs(float(dx));
xIncrement?=?(float)(dx)/(float)(steps);
yIncrement?=?(floa

評論

共有 條評論