BOOST Voronoi Visualizer

BOOST Voronoi Visualizer

[email protected]

Abstract. The Voronoi extension of the Boost.Polygon library provides functionality to construct a Voronoi diagram of a set of points and linear segments in 2D space with some limitations. The paper mainly describles how to compile the boos voronoi visualizer and use it show the example voronoi diagram result.

Key Words. Boost, Voronoi, Visualizer

1.Introduction

由Intel赞助的BOOST.POLYGON VORONOI库提供了根据二维空间中的点和线段来构造Voronoi图的功能。

Figure 1.1 Voronoi Diagram generated by Boost.Polygon Voronoi library

Boost的Voronoi库有以下特点:

v 开源Open Source(Boost Software License);

v 提供对线段的支持Fully Functional with Segments;

v 稳定高效Robustness and Efficiency;

v 输出结果精确Precision of the Output Structures;

v 接口简单,易于使用Simple Interface;

v 不依赖第三方库No Third Party Dependencies;

因为是用模板实现,源码都有以头文件的形式提供,没有依赖任何第三方库,方便程序布署。程序接口简单,很容易在程序中使用,且输出结果精确,算法性能高。提供了对线段的支持,即使有些商业库也没有提供对线段的支持。

Visulalization Boost Voronoi in OpenSceneGraph 一文中已经对boost的voronoi库的用法进行介绍,本文主要介绍如何编译boost自带的显示Voronoi图程序,来对数据进行可视化。

2.Compile

因为Boost.Polygon的Voronoi库不依赖任何第三方库,而可视化程序voronoi_visualizer用到了Qt,程序的编译也很简单。配置好boost库和Qt库后就可以了。下面详细介绍在Visual Studio中使用Qt-plugin的方式的编译过程。

2.1 新建一个Qt Application

安装Visual Studio的Qt-Plugin后会在新建的界面中出现Qt相关的工程,这里创建一个Qt Application工程,如下图所示:

Figure 2.1 New Project

2.2 配置工程

因为voronoi_visualizer使用到了Qt的OpenGL库,所以需要把OpenGL库选中,如下图所示:

Figure 2.2 Select OpenGL Library

2.3 删除文件

将程序自动生成的main.cpp和voronoivisualizer.h, voronoivisualizer.cpp删除,并将boost库的文件voronoi_visual_utils.hpp和voronoi_visualizer.cpp复制到工程所在文件夹,并添加到工程中,编译即可。

Figure 2.3 voronoi visualizer

3.Show Off

编译成功后,就可以对boost的示例数据进行可视化。先通过按钮Browse Input Directory选择数据输入目录,对文件列表中的数据双击就可以显示出结果了。

PDF Version: BOOST Voronoi Visualizer

时间: 2024-10-30 22:14:21

BOOST Voronoi Visualizer的相关文章

Visulalization Boost Voronoi in OpenSceneGraph

Visulalization Boost Voronoi in OpenSceneGraph [email protected] Abstract. One of the important features of the boost polygon library is the implementation of the generic sweepline algorithm to construct Voronoi diagrams of points and linear segments

Boost 1.61.0 Library Documentation

http://www.boost.org/doc/libs/1_61_0/ Boost 1.61.0 Library Documentation Accumulators Framework for incremental calculation, and collection of statistical accumulators. Author(s): Eric Niebler First Release: 1.36.0 Standard: Categories: Math and nume

Visulalization Voronoi in OpenSceneGraph

Visulalization Voronoi in OpenSceneGraph [email protected] Abstract. In mathematics a Voronoi diagram is a way of dividing space into a number of regions. A set of points, called seeds, sites, or generators is specified beforehand and for each seed t

所有的 Boost 库文档的索引

按字母顺序列出的库 按类别列出的库 算法 破碎的编译器的解决方法 并发编程 容器 正确性和测试 数据结构 特定于域的 函数对象和高阶编程 泛型编程 图像处理 输入/输出 跨语言支持 迭代器 语言功能仿真 数学和数字 内存 解析 模式和习语 预处理器元编程 编程接口 状态机 字符串和文本处理 系统 模板元编程 杂项 图书馆从提高退休 请参阅入门页面以了解如何下载. 构建和安装库. 按字母顺序列出的库 蓄能器-增量计算和统计累加器,Eric Niebler 从集合框架 算法-有用的通用算法,从马歇尔

mac下编译 boost编译工具b2

cd boost_1_64_0/tools/build ./bootstrap.sh --with-toolset=gcc 输出: -n Bootstrapping the build engine with toolset gcc... engine/bin.macosxx86_64/b2 Bootstrapping is done. To build and install, run: ./b2 install --prefix=<DIR> ./b2 install --prefix=/u

10 C++ Boost ASIO网路通信库 TCP/UDP,HTTP

  tcp 同步服务器,显示服务器端时间 tcp 同步服务器,提供多种选择 多线程的tcp 同步服务器 tcp 同步客户端 boost 域名地址解析 tcp异步服务器 tcp 异步客户端 UDP同步服务器 UDP同步客户端 UDP异步服务器 UDP异步客户端 HTTP同步客户端 HTTP异步客户端 同步实验: 异步实验 多线程异步实验 tcp 同步服务器,显示服务器端时间 [email protected]:~/boost$ cat main.cpp  #include <ctime> #in

Boost学习笔记(三) progress_timer

progress_timer也是一个计时器,它继承自timer,会在析构时自动输出时间,省去timer手动调用elapsed()的工作,是一个用于自动计时相当方便的小工具. #include <boost\timer.hpp> #include <boost\progress.hpp> #include <iostream> using namespace boost; using namespace std; int main() { boost::progress_

Boost练习程序(multi_index_container)

代码来自:http://blog.csdn.net/whuqin/article/details/8482547 该容器能实现多列索引,挺好. #include <string> #include <iostream> #include <boost/multi_index_container.hpp> #include <boost/multi_index/member.hpp> #include <boost/multi_index/ordered

win7 codeblock在调用boost::asio中遇到的错误———解决办法

错误一:    undefined reference to `boost::system::generic_category()'         undefined reference to `boost::system::generic_category()'         undefined reference to `boost::system::system_category()' 解决办法:在boost的system库的error_code.hpp源代码中添加: #define