zoukankan      html  css  js  c++  java
  • BOOST Voronoi Visualizer

    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图的功能。

    wps_clip_image-6005

    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工程,如下图所示:

    wps_clip_image-6008

    Figure 2.1 New Project

    2.2 配置工程

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

    wps_clip_image-964

    Figure 2.2 Select OpenGL Library

    2.3 删除文件

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

    wps_clip_image-13124

    Figure 2.3 voronoi visualizer

    3.Show Off

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

    wps_clip_image-31113

    wps_clip_image-21148

    wps_clip_image-1327

    wps_clip_image-12228

    wps_clip_image-13832

  • 相关阅读:
    WEB安全第二篇--用文件搞定服务器:任意文件上传、文件包含与任意目录文件遍历
    WEB安全第一篇--对服务器的致命一击:代码与命令注入
    python的内存管理与垃圾回收机制学习
    java反序列化漏洞的检测
    python epoll实现异步socket
    Python class的属性访问控制和内建函数重写实现高级功能以及@property
    weblogic新漏洞学习cve-2017-10271
    PHP后门的eval类和system类 函数到底有哪些区别
    JS 转整型
    .NET MVC model数据验证
  • 原文地址:https://www.cnblogs.com/opencascade/p/4925334.html
Copyright © 2011-2022 走看看