下载此文档

计算机图形学-有效边表算法源代码(共11页).docx


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
#include <>
#utDisplayFunc(Display);
Initial();
glutMainLoop();
return 0;
}
//比较2个点的高度
int compare(Point p1, Point p2)
{
if ( > )
return 1;
else if ( == )
return 0;
return -1;
}
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
//由点数组生成线段数组
Line* create_lines(Point points[], int n)
{
Line *lines = (Line*)malloc(n * sizeof(Line));
for (int i = 0; i < n; ++i)
{
Point p1 = points[i];
Point p2 = points[(i + 1) % n];
int result = compare(p1, p2);
if (result == 0)
lines[i].is_active = 0;
else
lines[i].is_active = 1;
lines[i].high_point = result > 0 ? p1 : p2;
lines[i].low_point = result < 0 ? p1 : p2;
lines[i].inverse_k = (double)( - ) / (double)( - );
}
return lines;
}
//获取线数组中最低的端点
Point get_lowest_point(Line lines[], int n)
{
Point lowest_point = lines[0].low_point;
for (int i = 1; i < n; ++i)
{
Point low_point = lines[i].low_point;
if (compare(lowest_point, low_point) > 0)
lowest_point = low_point;
}
return lowest_point;
}
//获取线数组中最高的端点
Point get_highest_point(Line lines[], int n)
{
Point highest_point = lines[0].high_point;
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
for (int i = 1; i < n; ++i)
{
Point high_point = lines[i].high_point;
if (compare(highest_point, high_point) < 0)
highest_point = high_point;
}
return highest_point;
}
//交换2个Line对象
void swap(Line &l1, Line &l2)
{
Line temp = l1;
l1 = l2;
l2 = temp;
}
//对线数组进行排序
void sort(Line lines[], int n)
{
//先按低端点的y坐标进行升序排序
for (int i = 0; i < n; ++i)
{
int min_index = i;
for (int j = i + 1;

计算机图形学-有效边表算法源代码(共11页) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ogthpsa
  • 文件大小15 KB
  • 时间2022-04-08
最近更新