SLAM本质剖析-Boost之Geometry函数大全(二)

news2024/10/5 23:40:00

4. 点云处理

4.1 add_point

将一个点添加到另一个点

4.2 add_value

将相同的值添加到点的每个坐标

4.3 assign_point

用另一个点指定一个点

4.4 assign_value

为点的每个坐标指定相同的值

4.5 cross_product

计算两个向量的叉积

4.7 divide_point

将一点除以另一点

4.8 divide_value

将同一点的每个坐标除以一个值

4.9 dot_product

计算2个矢量(点)的点积(或标量积)

4.10 multiply_point

将一个点乘以另一个点

4.11 multiply_value

将点的每个坐标乘以相同的值

4.12 subtract_point

将一点减去另一点

4.13 subtract_value

将相同的值减去点的每个坐标

5. 常数控制

5.1 min_corner

指示要获取、设置或处理的框的最小角

5.2 max_corner

指示要获取、设置或处理的框的最大角

6. 坐标系转换

6.1 cs::cartesian

笛卡尔坐标系

6.2 cs::spherical

球面(极坐标)坐标系,以度或弧度表示

6.3 cs::spherical_equatorial

球面赤道坐标系,以度或弧度表示

6.4 cs::geographic

地理坐标系,以度或弧度表示

7. 核心元函数

7.1 closure

将值定义为指定几何图形类型的闭包(顺时针、逆时针)的函数

7.2 coordinate_system

函数将类型定义为构成指定几何类型的点类型的坐标系(笛卡尔坐标系、球面坐标系等)

7.3 coordinate_type

函数将类型定义为构成指定几何类型的点类型的坐标类型(int、float、double等)

7.4 cs_tag

函数返回任意几何体的坐标系标记(cs族)

7.5 degree

定义球面坐标系的平面角单位的标记。此标记指定坐标的定义单位为度(-180…180)。必须为某些坐标系指定它

7.6 dimension

将值定义为构成指定几何图形类型的点类型的函数

7.7 interior_type

将类型定义为指定几何类型的interior_ type(内环的容器类型)的函数

7.8 point_order

将值定义为指定几何图形类型的点顺序(顺时针、逆时针)的函数

7.9 point_type

将类型定义为指定几何体类型的point_ type的元函数

7.10 radian

平面角单位:弧度

7.11 ring_type

将类型定义为指定几何体类型的环_类型的函数

7.12 tag

将类型定义为指定几何体类型的标记的函数

7.13 tag_cast

标记转换,标记可以相互继承。例如,multi_ point继承multi_。通常,行为可以在不同的几何图形类型之间共享。由metafunction标记找到的标记可以转换为更基本的标记,然后由该标记分派

8. 模型

8.1 model::point

基点类,具有以中性方式定义的坐标

8.2 model::d2::point_xy

笛卡尔坐标系中的二维点

8.3 model::d3::point_xyz

笛卡尔坐标系中的三维点

8.4 model::linestring

linestring(由OGC命名)是点的集合(默认为向量)

8.5 model::polygon

多边形包含一个外圈和零个或多个内圈

8.6 model::multi_point

multi_point,点的集合

8.7 model::multi_linestring

multi_line,linestring的集合

8.8 model::multi_polygon

multi_ polygon,多边形的集合

8.9 model::box

类框:定义由两个描述点组成的框

8.10 model::ring

环(也称为线性环)是一条不应自相交的闭合线

8.11 model::segment

在几何学中,线段是由两个不同端点限定的直线的一部分,包含其端点之间直线上的每个点

8.12 model::referring_segment

类段:包含两个(模板化)点引用的小类

9. 空间索引

9.1 boost::geometry::index::rtree

9.1.1 rtree()

rtree的构造函数

9.1.2 ~rtree()

rtree的析构函数

9.1.3 operator=(rtree const &)

赋值运算符

9.1.4 swap(rtree &)

交换两个RTree的内容

9.1.5 insert(value_type const &)

在索引中插入一个值

9.1.6 remove(value_type const &)

从容器中删除值

9.1.7 query(Predicates const &, OutIter)

此查询函数执行空间和k近邻搜索。它允许传递一组数据。仅当满足所有数据时才会返回值

9.1.8 qbegin(Predicates const &)

返回指向查询范围开头的查询迭代器

9.1.9 qend()

返回一个指向查询范围末尾的查询迭代器

9.1.10 begin()

返回指向rtree值范围开头的迭代器

9.1.11 end()

返回指向rtree值范围末尾的迭代器

9.1.12 size()

返回存储值的数目

9.1.13 empty()

查询容器是否为空

9.1.14 clear()

删除存储在容器中的所有值

9.1.15 bounds()

返回能够包含容器中存储的所有值的框

9.1.16 count(ValueOrIndexable const &)

对于indexable_type,它返回可索引的值的数目等于参数。对于value_type,它返回等于参数的值的数量

9.1.17 parameters()

返回参数

9.1.18 indexable_get()

返回从值检索可索引的函数

9.1.19 value_eq()

返回比较值的函数

9.1.20 get_allocator()

返回rtree使用的分配器

9.2 R-tree parameters (boost::geometry::index)

9.2.1 boost::geometry::index::linear

线性r树创建算法参数

9.2.2 boost::geometry::index::quadratic

二次r树生成算法参数

9.2.3 boost::geometry::index::rstar

R*-树创建算法参数

9.2.4 boost::geometry::index::dynamic_linear

线性r树创建算法参数-运行时版本

9.2.5 boost::geometry::index::dynamic_quadratic

二次r树创建算法参数-运行时版本

9.2.6 boost::geometry::index::dynamic_rstar

R*-树创建算法参数-运行时版本

9.3 Observers (boost::geometry::index)

9.3.1 boost::geometry::index::indexable

从值中提取可索引的函数对象,这个是override转换

9.3.2 boost::geometry::index::equal_to

函数对象比较值,这个是override转换

9.4 inserter(Container &)

插入迭代器生成器,这个是override转换

9.5 queried(Predicates const &)

查询索引适配器生成器

9.6 Predicates (boost::geometry::index) 下面的这些都是与前文同名函数相同的意思,只是是适用于RTree的函数

contains(Geometry const &)
covered_by(Geometry const &)
covers(Geometry const &)
disjoint(Geometry const &)
intersects(Geometry const &)
overlaps(Geometry const &)
within(Geometry const &)
satisfies(UnaryPredicate const &)
nearest(Geometry const &, unsigned)

10. Geometry策略方式

10.1 strategy::area::cartesian

笛卡尔面积计算

10.2 strategy::area::spherical

球面面积计算

10.3 strategy::area::geographic

地理区域计算

10.4 strategy::buffer::join_round

让缓冲区创建圆角
在这里插入图片描述

10.5 strategy::buffer::join_miter

让缓冲区创建锐角
在这里插入图片描述

10.6 strategy::buffer::end_round

让缓冲区创建圆角端点
在这里插入图片描述

10.7 strategy::buffer::end_flat

让缓冲区创建平端
在这里插入图片描述

10.8 strategy::buffer::distance_symmetric

让缓冲区算法创建具有相同距离的缓冲区
在这里插入图片描述

11.9 strategy::buffer::distance_asymmetric

让缓冲区是不对称
在这里插入图片描述

11.10 strategy::buffer::point_circle

围绕点创建圆形缓冲区
在这里插入图片描述

11.11 strategy::buffer::point_square

在这里插入图片描述

11.12 strategy::buffer::geographic_point_circle

在地球上的一个点周围创建一个圆形缓冲区

11.13 strategy::buffer::side_straight

让缓冲区沿线段使用直边(默认)

11.14 strategy::centroid::average

质心计算取点的平均值

11.15 strategy::centroid::bashein_detmer

使用Bashein/Detmer算法计算质心

11.16 strategy::convex_hull::graham_andrew

Graham扫描策略计算凸包

11.17 strategy::densify::cartesian

笛卡尔线段的致密化

11.18 strategy::densify::geographic

地理段的致密化,对应了上文的densify方法

11.19 strategy::densify::spherical

球形段的致密化,对应了上文的densify方法

11.20 strategy::distance::pythagoras

计算两点之间距离的策略,对应了上文的distance方法

11.21 strategy::distance::pythagoras_box_box

计算两个盒子之间距离的策略,对应了上文的distance方法

11.22 strategy::distance::pythagoras_point_box

计算点与长方体之间距离的策略,对应了上文的distance方法

11.23 strategy::distance::haversine

使用哈弗斯线计算完美球体上球坐标的距离

11.24 strategy::distance::projected_point

点到线段的距离策略

11.25 strategy::distance::cross_track

用于点到线段距离计算的策略函数

11.26 strategy::distance::cross_track_point_box

用于计算点到框的距离的策略函数

11.27 strategy::line_interpolate::cartesian

在笛卡尔线段上插值点,对应了上文的line_interpolate方法

11.28 strategy::line_interpolate::geographic

插值地理线段上的点,对应了上文的line_interpolate方法

11.29 strategy::line_interpolate::spherical

在球面段上插值点,对应了上文的line_interpolate方法

11.30 strategy::side::side_by_triangle

检查点位于线段的哪一侧:线段左侧(>0),线段右侧(<0),线段上(0)

11.31 strategy::side::side_by_cross_track

检查大圆线段的哪一侧有一个点位于线段左侧(>0),线段右侧(<0),线段(0)

11.32 strategy::side::spherical_side_formula

检查大圆线段的哪一侧有一个点位于线段左侧(>0),线段右侧(<0),线段(0)上

11.33 strategy::side::geographic

检查线段的哪一侧有一个点位于线段左侧(>0)、右侧(<0)和线段(0)上

11.34 strategy::simplify::douglas_peucker

实现简化算法

11.35 strategy::transform::inverse_transformer

在笛卡尔坐标系中进行逆变换的变换策略

11.36 strategy::transform::map_transformer

从一个笛卡尔坐标系映射到另一个笛卡儿坐标系的转换策略

11.37 strategy::transform::rotate_transformer

笛卡尔坐标系中的旋转变换策略

11.38 strategy::transform::scale_transformer

笛卡尔系统中的尺度变换策略

11.39 strategy::transform::translate_transformer

笛卡尔系统中的平移变换策略

11.40 strategy::transform::matrix_transformer

笛卡尔系统中的仿射变换策略

11.41 strategy::within::winding

在使用缠绕规则的检测范围内。根据点的坐标系选择内部使用的边策略。

11.42 strategy::within::franklin

在使用交叉计数的检测范围内

11.43 strategy::within::crossings_multiply

在使用交叉计数的检测范围内

参考链接

https://www.boost.org/doc/libs/1_73_0/libs/geometry/doc/html/geometry/reference.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python用27行代码绘制一幅满天星

前言 大家早好、午好、晚好吖 ❤ ~ 每一个孩子都像星空中的一颗星星&#xff0c;散发着自己所特有的光芒照亮着整个夜空。 今天就带大家用27行Python代码绘制一幅满天星吧。 全局设置 在绘制满天星的过程中要运用到turtle工具&#xff0c;它是Python的标准库&#xff0c;也可…

堆排序+TOPK问题

文章目录一.堆排序1.使用向上还是向下调整建堆好&#xff1f;(1)向上调整算法建堆的时间复杂度1. 完整过程(2)向下调整算法建堆的时间复杂度1.完整过程(3)总结2. 排升序(1) 建小堆(2) 建大堆3. 堆排序时间复杂度统计4.完整代码二 、 TOPK问题1. 概念2.两种方法第一种缺陷第二种…

【论文阅读】(2017)The late acceptance Hill-Climbing heuristic

文章目录一、摘要二、Late Acceptance Hill Climbing三、LAHC技术性能的研究3.1 Benchmark problems3.2 Experimental software3.3 Experiments四、LAHC性能评估4.1 评估方法4.2 LAHC不同变体的性能4.3 LAHC与其他技术的比较4.4 LAHC的规模独立性五、Conclusions and future wo…

Salesforce架构师常见问题(上)

Salesforce架构师需要花费大量时间来绘制、讨论、建立和设计稳健的端到端解决方案。架构师角色不仅仅是处理解决方案这么简单&#xff0c;还需要在企业级组织中与多个业务部门打交道。 因此&#xff0c;Salesforce架构师面试需要从以下3个方面准备&#xff1a; Part.1 分享工…

快速理解 JVM 内存模型 对象组成 对象内存分配

快速理解 JVM 内存模型 & 对象组成 & 对象内存分配 JVM 内存模型 JVM 内存模型分为首先在线程纬度可以分为两部分 一部分是 线程共享&#xff1a; 堆、元空间 堆 &#xff1a; 大多数 new 的对象都存在于堆内&#xff0c;也是 GC 主要回收的空间&#xff0c;占据 J…

涨薪跳槽利器,清华大咖总结的 Java 核心突击讲,一应俱全

前言 今天在这里分享一位读者粉丝的经历&#xff1a; 本人双非本科&#xff0c;没拿什么过奖&#xff0c;现在毕业也有三年时间了&#xff0c;大四感觉能力有点不足&#xff0c;进了一家小型的互联网公司实习&#xff1b;期间报名了个线上培训课程&#xff0c;一直在持续学习…

超详细Docker部署SpringBoot+Vue项目(三更博客项目部署)

文章目录1.项目部署规划2.前置工作2.1修改后端配置文件ip2.2修改前端Vue项目运行端口2.3修改前端对应的服务器ip2.4后端项目打包2.4.1解决打包问题2.4.2项目打包&#xff0c;本地运行jar包测试2.5前端项目打包2.6开放端口2.7配置安全组规则3.Docker安装4.拉取镜像5.编写Dockerf…

挂耳式蓝牙耳机哪家的好用,推荐几款实用的挂耳式耳机

时代在进步&#xff0c;而我们也顺势享受着进步过程中所产生的物件&#xff0c;就如骨传导和传统耳机&#xff0c;年轻人更多时候会偏向于骨传导耳机&#xff0c;毕竟骨传导的最大的特点就是佩戴舒适的同时&#xff0c;开放式耳道的设计能够更好的让中耳炎说拜拜。但近期市面上…

Hi,运维,你懂Java吗-No.3:java系统的启动

作为运维&#xff0c;你不一定要会写Java代码&#xff0c;但是一定要懂Java在生产跑起来之后的各种机制。 本文为《Hi&#xff0c;运维&#xff0c;你懂Java吗》系列文章 第三篇&#xff0c;敬请关注后续系列文章 欢迎关注 龙叔运维&#xff08;公众号&#xff09; 持续分享运…

浅谈一下:Java学习中不得不知道的:static (静态)成员

下面笔者&#xff0c;按照之前的Student进行简单的说明&#xff1a; class Student {private String name ;private int age ;private String classRoom ;//上课教室public Student(String name, int age) {this.name name;this.age age;}public void doClass() {System.out…

五、 通信协议

协议&#xff1a;约定&#xff0c;就好比我们来自不同的地方&#xff0c;如果都用各自的家乡话&#xff0c;那么肯定无法沟通&#xff0c;这时我们规定双方都说普通话&#xff0c;这样就可以沟通了&#xff0c;而这个规定就是“协议” 网络通信协议&#xff1a;速率、传输码率…

SpringCloud - 服务注册中心

文章目录1.服务注册中心2.Eureak服务注册中心2.1 Eureka服务注册与发现2.1.1 单机Eurake构建步骤(1) 创建EurekaServer服务注册中心(2) EurekaClient服务注册2.1.2 Eureka集群构建步骤(1) 创建第多个EureakServer注册中心(2) 修改host(模拟)(3) 修改YML配置2.1.3 集群配置Eurek…

搞定企业视频直播:硬件设备、直播网络环境和设备连接说明

阿酷TONY / 2022-11-22 / 原创 / 长沙 / 1.直播硬件设备 电脑硬件推荐配置&#xff1a; 系统&#xff1a;win7系统以上&#xff0c;macOS 10.13.6以上 显卡&#xff1a;独立2G显卡或以上 CPU&#xff1a;i5或以上 内存&#xff1a;4G或以上 选配硬件&#xff1a; …

我有 7种 实现web实时消息推送的方案,7种!

技术交流&#xff0c;公众号&#xff1a;程序员小富 大家好&#xff0c;我是小富&#xff5e; 我有一个朋友&#xff5e; 做了一个小破站&#xff0c;现在要实现一个站内信web消息推送的功能&#xff0c;对&#xff0c;就是下图这个小红点&#xff0c;一个很常用的功能。 不过…

打印机不能正常打印怎么办

第一种&#xff1a;更换驱动&#xff0c;在官网上下载相应的驱动而后安装 第一步&#xff1a;添加打印机和扫描仪 第二步&#xff1a;点击——>我需要的打印机不在列表中 第三步;①如果是USB连接则选择添加本地打印机 ②如果是网络打印机&#xff0c;则选择使用TCP/IP添加…

kubernetes 安装与部署

kubernetes 安装与部署 环境almalinux,centos,rockylinux,redhat的9.1版本使用containerd容器运行时kubernetes v1.25.4root用户 1.设置主机名 2.禁用防火墙 3.禁用selinux 4.禁用swap 5.同步时间 5.桥接流量 6.安装nerdctl-full 7.确认cgroup驱动默认为systemd 8.安装kubead…

Intel MediaSDK sample_decode 官方GPU解码流程学习(一) - DirectX11 D3D11和Vulkan共享资源

很久以前研究过 用NV_DX_interop扩展让D3D和OpenGL共享资源 &#xff0c; OpenGL在当初设计的时候电脑和操作系统还是个相对比较简单的东西&#xff0c;因此OpenGL API设计没有考虑到现在计算机架构的一些特性&#xff0c;比如多核编程和多显卡并发。最近几年出来个Vulkan来接O…

Androguard Documentation:官方文档阅读笔记

打算快速阅读下官方文档&#xff0c;然后做一个笔记方便查阅&#xff0c;文章目录按照官方文档目录来的 DOCUMENTATION Getting Started 使用 androguard axml和androguard arsc解码分析AndroidManifest.xml或者resources.arsc。 创建call graphs可以使用androguard cg&…

快消品b2b电子商务网站建设方案

互联网在改造电商行业商业运作模式和提升运营效率作用方面功不可没&#xff0c;目前B2B电商发展正处在交易上升期特别是B2B快消品电商&#xff0c;这个以万亿为单位的流通规模市场必将掀起巨大的社会价值和运营效率。当然在讨论快消品流通B2B电商行业之前&#xff0c;我们先简单…

C++语言的return语句的一点说明

C语言的return语句的一点说明 为了完成某一功能的程序指令&#xff08;语句&#xff09;的集合&#xff0c;称为函数。在程序中&#xff0c;编写函数的主要目的是将一个需要很多行代码的复杂问题分解为一系列简单的任务来解决&#xff0c;而且&#xff0c;同一个任务&#xff0…