码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • PCL 环境下安装配置CGAL 5.5


    目录

    • 一、CGAL简介
    • 二、Using CGAL on Windows (with Visual C++)
      • 1、 CGAL下载
      • 2、 GMP和MPRF安装
      • 3、boost安装与环境变量设置
    • 三、PCL环境下配置CGAL
    • 四、测试代码
    • 五、结果展示

    一、CGAL简介

    在这里插入图片描述

      CGAL是一个软件项目,它以C库的形式提供了方便访问且高效可靠的几何算法。CGAL应用于地理信息系统、计算机辅助设计、分子生物学、医学影像、计算机图形学和机器人技术等需要几何计算的各个领域。
      官网:The Computational Geometry Algorithms Library

    二、Using CGAL on Windows (with Visual C++)

      CGAL 5.5支持以下MS Visual c++编译器:14.0,15.9,16.0 (Visual Studio 2015, 2017和2019)。安装CGAL之前必须首先安装强制依赖项库:Boost和 GNU Multiple Precision Arithmetic (GMP) and GNU Multiple Precision Floating-Point Reliably (MPFR) Libraries。由于PCL路径下已安装Boost库,故无需重复安装。下面介绍具体安装配置流程。

    1、 CGAL下载

    CGAL 5.5下载链接:https://github.com/CGAL/cgal/releases/tag/v5.5
    下载如图所示的两个文件
    在这里插入图片描述
    在这里插入图片描述

    将下载的CGAL-5.5.zip解压缩并放在电脑的安装路径下,安装路径如下:

    D:\CGAL-5.5
    
    • 1

    2、 GMP和MPRF安装

      asset 库中提供了预编译版本的GMP和MPFR,用于Windows 64bit(网址:https://github.com/CGAL/cgal/releases)。这里只是安装这些库来使用CGAL,因此只需将CGAL-5.5-win64-auxiliary-libraries-gmp-mpfr文件夹中auxiliary路径下的gmp文件夹复制粘贴进CGAL-5.5文件夹下的auxiliary文件夹中即可。
    在这里插入图片描述

    在这里插入图片描述

    3、boost安装与环境变量设置

    直接使用PCL中的Boost库即可。

    三、PCL环境下配置CGAL

    1. VC++目录—包含目录,添加2个include路径
    在这里插入图片描述

    具体添加的include路径如下:

    D:\CGAL-5.5\include
    D:\CGAL-5.5\auxiliary\gmp\include
    
    • 1
    • 2

    2. VC++目录—库目录,添加1个lib路径
    在这里插入图片描述

    具体添加的lib路径如下:

    D:\CGAL-5.5\auxiliary\gmp\lib
    
    • 1

    3. 链接器—输入—附加依赖项——添加2个lib文件。

    libgmp-10.lib
    libmpfr-4.lib
    
    • 1
    • 2

    4. 配置属性—调试—环境—添加:

    D:\CGAL-5.5\auxiliary\gmp\lib
    
    • 1

    四、测试代码

    #include 
    #include 
    
    typedef CGAL::Simple_cartesian<double> Kernel;
    typedef Kernel::Point_2 Point_2;
    typedef Kernel::Segment_2 Segment_2;
    
    int main()
    {
      Point_2 p(1,1), q(10,10);
    
      std::cout << "p = " << p << std::endl;
      std::cout << "q = " << q.x() << " " << q.y() << std::endl;
    
      std::cout << "sqdist(p,q) = "
                << CGAL::squared_distance(p,q) << std::endl;
    
      Segment_2 s(p,q);
      Point_2 m(5, 9);
    
      std::cout << "m = " << m << std::endl;
      std::cout << "sqdist(Segment_2(p,q), m) = "
                << CGAL::squared_distance(s,m) << std::endl;
    
      std::cout << "p, q, and m ";
      switch (CGAL::orientation(p,q,m)){
      case CGAL::COLLINEAR:
        std::cout << "are collinear\n";
        break;
      case CGAL::LEFT_TURN:
        std::cout << "make a left turn\n";
        break;
      case CGAL::RIGHT_TURN:
        std::cout << "make a right turn\n";
        break;
      }
    
      std::cout << " midpoint(p,q) = " << CGAL::midpoint(p,q) << std::endl;
      return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    五、结果展示

    p = 1 1
    q = 10 10
    sqdist(p,q) = 162
    m = 5 9
    sqdist(Segment_2(p,q), m) = 8
    p, q, and m make a left turn
     midpoint(p,q) = 5.5 5.5
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    odoo17 web.assets_web.min.js 赏析
    apt 常用命令
    GBase 8s典型安装
    测量网络性能的开源工具iperf3
    Excel第31享:基于left函数的截取式数据裂变
    057_末晨曦Vue技术_处理边界情况之强制更新($forceUpdate)与通过 v-once 创建低开销的静态组件
    【四数之和】
    198/213动态规划之打家劫舍系列
    使用分支——Git Checkout
    【UniApp】-uni-app-内置组件
  • 原文地址:https://blog.csdn.net/qq_36686437/article/details/126807537
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号