BOOST Voronoi Visualizer
eryar@163.com
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選擇數據輸入目錄,對文件列表中的數據雙擊就可以顯示出結果了。