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

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

資源簡介

計算機圖形學之直線段的掃描轉換C++實現 包含DDA數值微分算法,中點畫線法,Bresenham算法

資源截圖

代碼片段和文件信息

//?直線段掃描轉換.cpp:?定義控制臺應用程序的入口點。
//

#include?“stdafx.h“
#include?
#include?
#include?
#include?
#include?
using?namespace?std;
#define?DDALINE?0
#define?MIDPOINTLINE?1
#define?BRESENHAMLINE?2

int?line?=?DDALINE;
float?down_x?=?0?down_y?=?0?up_x?=?0?up_y?=?0;
float?delta?=?1;

void?IntergerBresenham(float?x1?float?y1?float?x2?float?y2?GLfloat*color?GLfloat?size?=?1)
{
glPointSize(size);
float?x?=?x1?y?=?y1;
float?end_x?=?x2?end_y?=?y2;
float?delta_x?=?x2?-?x1;
float?delta_y?=?y2?-?y1;
float?k?=?delta_y?/?delta_x;
float?d?d1?d2;
if?(k?=?0)?{
if?(x2?-?x1? x?=?x2;
y?=?y2;
end_x?=?x1;
end_y?=?y1;
delta_x?=?end_x?-?x;
delta_y?=?end_y?-?y;
}
d?=?2?*?delta_y?-?delta_x;
d1?=?2?*?delta_y;
d2?=?2?*?delta_x;
glBegin(GL_POINTS);
{
glColor3f(color[0]?color[1]?color[2]);
while?(x? glVertex2f(x?y);
x?+=?delta;
d?+=?d1;
if?(d?>=?0)?{
y?+=?delta;
d?-=?d2;
}
}
}
glEnd();
glFlush();
}
else?if?(k?>?1)?{
if?(y2?-?y1? x?=?x2;
y?=?y2;
end_x?=?x1;
end_y?=?y1;
delta_x?=?end_x?-?x;
delta_y?=?end_y?-?y;
}
k?=?1?/?k;
d?=?2?*?delta_x?-?delta_y;
d1?=?2?*?delta_x;
d2?=?2?*?delta_y;
glBegin(GL_POINTS);
{
glColor3f(color[0]?color[1]?color[2]);
while?(y? glVertex2f(x?y);
y?+=?delta;
d?+=?d1;
if?(d?>=?0)?{
x?+=?delta;
d?-=?d2;
}
}
}
glEnd();
glFlush();
}
else?if?(k??-1)?{
if?(x2?-?x1? x?=?x2;
y?=?y2;
end_x?=?x1;
end_y?=?y1;
delta_x?=?end_x?-?x;
delta_y?=?end_y?-?y;
}
d?=?2?*?delta_y?-?delta_x;
d1?=?2?*?delta_y;
d2?=?2?*?delta_x;
glBegin(GL_POINTS);
{
glColor3f(color[0]?color[1]?color[2]);
while?(x? glVertex2f(x?y);
x?+=?delta;
d?+=?d1;
if?(d? y?-=?delta;
d?+=?d2;
}
}
}
glEnd();
glFlush();
}
else?{
if?(y2?-?y1? x?=?x2;
y?=?y2;
end_x?=?x1;
end_y?=?y1;
delta_x?=?end_x?-?x;
delta_y?=?end_y?-?y;
}
k?=?1?/?k;
d?=?2?*?delta_x?-?delta_y;
d1?=?2?*?delta_x;
d2?=?2?*?delta_y;
glBegin(GL_POINTS);
{
glColor3f(color[0]?color[1]?color[2]);
while?(y? glVertex2f(x?y);
y?+=?delta;
d?+=?d1;
if?(d? x?-=?delta;
d?+=?d2;
}
}
}
glEnd();
glFlush();
}
}

void?Bresenham(float?x1?float?y1?float?x2?float?y2?GLfloat*color?GLfloat?size?=?1)
{
glPointSize(size);
float?x?=?x1?y?=?y1;
float?end_x?=?x2?end_y?=?y2;
float?d?=?0;
float?delta_x?=?x2?-?x1?delta_y?=?y2?-?y1;
float?k?=?delta_y?/?delta_x;
if?(k?=?0)?{
if?(x2?-?x1? x?=?x2;
y?=?y2;
end_x?=?x1;
end_y?=?y1;
}
d?=?k;
glBegin(GL_POINTS);
{
glColor3f(color[0]?colo

評論

共有 條評論