资源简介
Delaunay德罗内三角形剖分生成以及opengl显示
Delaunay 三角网的优点是结构良好, 数据结构简单, 数据冗余度小, 存储效率高, 与不规则的地面特征和谐一致,可以表示线性特征和迭加任意形状的区域边界, 易于更新,可适应各种分布密度的数据等; 它的局限性是, 算法实现比较复杂和困难, 但现在已经有了较多成熟的实现算法。 Delaunay 三角网是Voronoi图的伴生图形, 它们两个是被普遍接受和采用的分析研究区域离散数据的有力工具。它是通过连接具有公共顶点的三个V n多边形的生长中心而生成的, 这个公共顶点就是形成的Delaunay三角形外接圆的圆心

代码片段和文件信息
// ConsoleApplication4.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include “stdafx.h“
#include
#include “delaunay.h“
#include “windows.h“ // for time statistics
std::vector> outData;
void init(void)
{
glClearColor(0.0 0.0 0.0 0.0);//设置背景颜色为黑色
glShadeModel(GL_SMOOTH);//设置为光滑明暗模式
}
void myDisplay(void)
{
glEnable(GL_CULL_FACE);
glPolygonMode(GL_FRONT GL_LINE);
glClear(GL_COLOR_BUFFER_BIT);// 将缓存清除为预先的设置值即黑色
//glTranslatef(0.8 0.0 0.0);//平移函数,暂时可以不用
// glBegin(GL_TRIANGLES);//开始画三角形
// glColor3f(1.0 0.0 0.0);//设置第一个顶点为红色
// glVertex2f(-1.0 -1.0);//设置第一个顶点的坐标
// glColor3f(0.0 1.0 0.0);//设置第二个顶点为绿色
// glVertex2f(0.0 -1.0);//设置第二个顶点的坐标
// glColor3f(0.0 0.0 1.0);//设置第三个顶点为蓝色
// glVertex2f(-0.5 1.0);//设置第三个顶点的坐标
// glEnd();//三角形结束
glPushMatrix();
glScalef(100.0f 100.0f 100.0f);
glBegin(GL_TRIANGLES);//开始画三角形
for (auto v: outData)
{
glVertex2f(v.firstv.second);//设置第一个顶点的坐标
}
glEnd();
glPopMatrix();
glFlush();//强制OpenGL函数在有限时间内运行
}
void myReshape(GLsizei w GLsizei h)
{
glViewport(0 0 w h);//设置视口
glMatrixMode(GL_PROJECTION);//指明当前矩阵为GL_PROJECTION
glLoadIdentity();//将当前矩阵置换为单位阵
// if (w <= h)
// gluOrtho2D(-1.0 1.5 -1.5 1.5*(GLfloat)h / (GLfloat)w);//定义二维正视投影矩阵
// else
gluOrtho2D(-w/2 w/2 -h/2 h/2);
glMatrixMode(GL_MODELVIEW);//指明当前矩阵为GL_MODELVIEW
}
int main(int argc char ** argv)
{
/*初始化*/
glutInit(&argc argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//单缓冲、RGB模式
glutInitWindowSize(800 600);
glutInitWindowPosition(200 200);
glutCreateWindow(“三角形“);//窗口标题
MESH mesh;
double last_time this_time;
//int ver_num;
//int tri_num;
Input(“D:/搜狗高速下载/DelaunayTriangulation/DelaunayTriangulation/input_points.txt“ &mesh);
last_time = GetTickCount();
IncrementalDelaunay(&mesh);
//Sleep(1000);
this_time = GetTickCount();
printf(“Elapsed Time for Incremental Delaunay: %lg ms“ this_time - last_time);
Output(“output_triangles.txt“ &mesh outData);
init();
/*绘制与显示*/
glutReshapeFunc(myReshape);//窗口大小发生改变时采取的行为
glutDisplayFunc(myDisplay);//显示绘制图形
glutMainLoop();//循环
return(0);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 26112 2017-12-06 21:57 ConsoleApplication4\.vs\ConsoleApplication4\v14\.suo
文件 2459 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\ConsoleApplication4.cpp
文件 8154 2017-12-06 21:42 ConsoleApplication4\ConsoleApplication4\ConsoleApplication4.vcxproj
文件 1326 2017-12-06 21:37 ConsoleApplication4\ConsoleApplication4\ConsoleApplication4.vcxproj.filters
文件 2138 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\ConsoleA.0947F331.tlog\CL.command.1.tlog
文件 27514 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\ConsoleA.0947F331.tlog\CL.read.1.tlog
文件 2194 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\ConsoleA.0947F331.tlog\CL.write.1.tlog
文件 247 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\ConsoleA.0947F331.tlog\ConsoleApplication4.lastbuildstate
文件 1930 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\ConsoleA.0947F331.tlog\li
文件 3776 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\ConsoleA.0947F331.tlog\li
文件 1176 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\ConsoleA.0947F331.tlog\li
文件 331 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\ConsoleApplication4.log
文件 209674 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\ConsoleApplication4.obj
文件 3473408 2017-12-06 21:42 ConsoleApplication4\ConsoleApplication4\Debug\ConsoleApplication4.pch
文件 12382 2017-12-06 21:42 ConsoleApplication4\ConsoleApplication4\Debug\stdafx.obj
文件 748544 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\vc140.idb
文件 339968 2017-12-06 21:53 ConsoleApplication4\ConsoleApplication4\Debug\vc140.pdb
文件 17827 2017-12-06 21:33 ConsoleApplication4\ConsoleApplication4\delaunay.h
文件 169984 1998-08-18 16:25 ConsoleApplication4\ConsoleApplication4\glut32.dll
文件 263 2017-12-06 21:57 ConsoleApplication4\ConsoleApplication4\output_triangles.txt
文件 1594 2017-12-06 21:37 ConsoleApplication4\ConsoleApplication4\ReadMe.txt
文件 223 2017-12-06 21:37 ConsoleApplication4\ConsoleApplication4\stdafx.cpp
文件 234 2017-12-06 21:37 ConsoleApplication4\ConsoleApplication4\stdafx.h
文件 240 2017-12-06 21:37 ConsoleApplication4\ConsoleApplication4\targetver.h
文件 1339 2017-12-06 21:37 ConsoleApplication4\ConsoleApplication4.sln
文件 29573120 2017-12-06 21:57 ConsoleApplication4\ConsoleApplication4.VC.db
文件 92672 2017-12-06 21:53 ConsoleApplication4\Debug\ConsoleApplication4.exe
文件 828336 2017-12-06 21:53 ConsoleApplication4\Debug\ConsoleApplication4.ilk
文件 1462272 2017-12-06 21:53 ConsoleApplication4\Debug\ConsoleApplication4.pdb
文件 3407872 2017-12-06 21:42 ConsoleApplication4\ipch\CONSOLEAPPLICATION4-fd4eae8b\CONSOLEAPPLICATION4-82664867.ipch
............此处省略13个文件信息
相关资源
- OpenGL参考手册
- Qt Creator opengl实现四元数鼠标控制轨迹
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- OPENGL实现世界上最小的3D游戏
- VS2012OpenGL配置所需要的全部libdllh文件
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- 3D绘图程序设计:使用Direct3D 10/9和Ope
- OpenGL绘制可运动自行车源程序.zip
- OpenGL实现飘动效果
- opengl室内场景的绘制,包括碰撞检测
评论
共有 条评论