c++ 多边形 xyz 数据 获取 中心点方法,线的中心点取中心值搞定 已解决
有需求需要对。多边形 获取中心点方法,绝大多数都是 puthon和java版本。立体几何学中的知识。
封装函数
point ##########::getCenterOfGravity(std::vector<point> polygon) {if (polygon.size() <= 2)return point();auto Area = [](point p0, point p1, point p2) {double area = 0.;area = p0.x * p1.y + p1.x * p2.y +p2.x * p0.y - p1.x * p0.y -p2.x * p1.y - p0.x * p2.y;return area / 2;};point p0 = polygon[0];point p1 = polygon[1];point p2;double sumarea = 0, sumx = 0, sumy = 0;for (int i = 2; i < polygon.size(); i++){p2 = polygon[i];double area = Area(p0, p1, p2);//求三角形的面积sumarea += area;sumx += (p0.x + p1.x + p2.x) * area; //求∑cx[i] * s[i]和∑cy[i] * s[i]sumy += (p0.y + p1.y + p2.y) * area;p1 = p2;//求总面积}point barycenter;barycenter.x = sumx / sumarea / 3;barycenter.y = sumy / sumarea / 3;return barycenter;
}
业务使用
std::vector<point> polygonDataList;for (int n = 0; n < data.size(); n++)
{point pointData;double lng = data.at(n).toArray().at(0).toDouble();double lat = data.at(n).toArray().at(1).toDouble();pointData.x = lng;pointData.y = lat;polygonDataList.push_back(pointData);lineString += QString::number(lng) + " " + QString::number(lat) + ",";
}QString strTmp = lineString.remove(lineString.size() - 1, 1);
lineStringData = "POLYGON ((" + strTmp + "))";qlistData.append(lineStringData);m_polygonDataArrayList.append(polygonDataList);
定义
typedef struct point {double x = 0.;double y = 0.;
}point;/*** @breif : 计算中心点函数* @param : QList* @return : void* @date : 2024/05/11 17:24*/point getCenterOfGravity(std::vector<point> polygon);// 中心坐标数据std::vector<point> m_polygonDataList;QList<std::vector<point>> m_polygonDataArrayList;
取中点测试 情况
// 方案一, 中心点 不准确
//point data = getCenterOfGravity(pointData);
// 方案二, 取数据的中心点
int middleInt = (int)ceil(pointData.size() / 2);//qDebug() << "middleInt" << middleInt;
point data = pointData.at(middleInt);polygonDataList.push_back(data);
测试总结,其实 使用 数组取中间点,是面的中心点,如果是线的中心点,直接 数组的中间值,就是 线的中心点。
参考网址
【C++】计算多边形的重心_求不规则区域中心点(重心)的c++算法-CSDN博客
【中心】不规则多边形中心、形心、外接矩形中心计算方法_polygon 计算中心-CSDN博客
JAVA代码计算多边形的几何中心点-阿里云开发者社区
in_polygon-阿里云帮助中心_(Open Search)-阿里云帮助中心
查询地理多边形范围 - 表格存储 - 阿里云
空间几何函数的基本语法 - 日志服务 - 阿里云
polygon——关于多边形的重心_polygon重心-CSDN博客
相关文章:
![](https://i-blog.csdnimg.cn/direct/45fe0b3f435348a989c6e2bc6e625ab9.png)
c++ 多边形 xyz 数据 获取 中心点方法,线的中心点取中心值搞定 已解决
有需求需要对。多边形 获取中心点方法,绝大多数都是 puthon和java版本。立体几何学中的知识。 封装函数 point ##########::getCenterOfGravity(std::vector<point> polygon) {if (polygon.size() < 2)return point();auto Area [](point p0, point p1, p…...
![](https://i-blog.csdnimg.cn/direct/cd0cbf4c45f842ce8be14b40d5e9ca6f.png)
ext_errno:拓展errno
类似于C库的errno机制,报告错误发生的原因以及所在的位置,通过查询来获取。...
![](https://i-blog.csdnimg.cn/direct/9ae6c9439d054a5fb83120cd6b0001a5.png)
【CUDA】 Trust基本特性介绍及性能分析
Trust简介 Thrust 是一个实现了众多基本并行算法的 C 模板库,类似于 C 的标准模板库(standard template library, STL)。该库自动包含在 CUDA 工具箱中。这是一个模板库,仅仅由一些头文件组成。在使用该库的某个功能时,包含需要的头文件即可。该库中的所有类型与函数都在命名空…...
![](https://i-blog.csdnimg.cn/direct/6ea2758f3bdb4b5593db13c65c12dc4f.jpeg)
颈肩肌筋膜炎中医治疗
颈肩肌筋膜炎,又称颈肩肌纤维织炎或肌肉风湿症,是一种涉及筋膜、肌肉、肌腱和韧带等软组织的无菌性炎症。以下将分别从症状和治疗两方面进行详细介绍。 一、颈肩肌筋膜炎的症状 颈肩肌筋膜炎的主要症状包括: 1、肩背部疼痛:患者…...
![](https://www.ngui.cc/images/no-images.jpg)
Java 通配符 在短信发送之中 通配符参数动态获取解决方案
目录 1、通配符应用场景 2、实现方案分析 2.1、可能针对不同模板中核定参数硬编码到程序之中写死 2.2、通配置模板之中动态获得对应的参数 3、通过正则表达式验证与替换参数${}参考示例 4、参考文章 1、通配符应用场景 我们在使用通配符场景,主要是应用于短信…...
![](https://www.ngui.cc/images/no-images.jpg)
Mybatis-Plus中LambdaQueryWrapper
基本用法 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; // 假设有一个 User 实体类 LambdaQueryWrapper<User> queryWrapper new LambdaQueryWrapper<>(); // 添加查询条件 queryWrapper.eq(User::getName, "John&quo…...
![](https://www.ngui.cc/images/no-images.jpg)
C++ 入门05:类和对象
往期回顾: C 入门02:控制结构和循环-CSDN博客C 入门03:函数与作用域-CSDN博客C 入门04:数组与字符串-CSDN博客 一、前言 在前面文章的学习中,我们了解了 C 的基本结构、变量、输入输出、控制结构、循环、函数、作用域…...
![](https://i-blog.csdnimg.cn/direct/960e97475609476a934f6b425040c75d.png)
4G LTE教程
整体架构 物理层(第 1 层) 物理层通过空中接口传输来自 MAC 传输信道的所有信息。负责 RRC 层的链路自适应 (AMC)、功率控制、小区搜索(用于初始同步和切换目的)和其他测量(LTE 系统内部和系统之间)。 介…...
![](https://i-blog.csdnimg.cn/direct/c50d4c849a8f4d5d9a0d821ab3d389de.png)
C++:哈希表
哈希表概念 哈希表可以简单理解为:把数据转化为数组的下标,然后用数组的下标对应的值来表示这个数据。如果我们想要搜索这个数据,直接计算出这个数据的下标,然后就可以直接访问数组对应的位置,所以可以用O(1)的复杂度…...
![](https://i-blog.csdnimg.cn/direct/e0c6ebf26fda484fbf7cb4b50f05b0ec.png)
自己动手写一个滑动验证码组件(后端为Spring Boot项目)
近期参加的项目,主管丢给我一个任务,说要支持滑动验证码。我身为50岁的软件攻城狮,当时正背着双手,好像一个受训的保安似的,中规中矩地参加每日站会,心想滑动验证码在今时今日已经是标配了,司空…...
![](https://www.ngui.cc/images/no-images.jpg)
keepalive脑裂
keepalive脑裂 调度器的高可用 vip地址主备之间的切换,主在工作时,p地址只在主上,主停止工作,ip飘移到备服务器。 在主备的优先级不变的情况下,主恢复工作,vip会飘回到主服务器。 1、配优先级 2、配置…...
![](https://i-blog.csdnimg.cn/direct/e9fcef18247e40c78c13d0ab880c7cbc.png#pic_center)
STM32Cubemx配置生成 Keil AC6支持代码
文章目录 一、前言二、AC 6配置2.1 ARM ComPiler 选择AC62.2 AC6 UTF-8的编译命令会报错 三、STM32Cubemx 配置3.1 找到stm32cubemx的模板位置3.2 替换文件内核文件3.3 修改 cmsis_os.c文件3.4 修改本地 四、编译对比 一、前言 使用keil ARM compiler V5的时候,编译…...
![](https://www.ngui.cc/images/no-images.jpg)
Perl基础入门指南:从零开始掌握Perl编程
Perl是一种功能强大且灵活的编程语言,广泛应用于系统管理、Web开发、网络编程和文本处理等领域。如果你是编程新手或者想学习一种新的编程语言,Perl是一个不错的选择。本文将带你了解Perl的基础知识,并通过简单的示例代码帮助你快速入门。 什…...
![](https://www.ngui.cc/images/no-images.jpg)
Mybatis SQL注解使用场景
MyBatis 提供了几种常用的注解,主要用于简化 XML 映射文件的编写,使得 SQL 查询和操作可以直接在 Java 接口中定义。下面列出了主要的注解以及它们在被调用时的写法示例: 1. Select Select 注解用于执行查询操作,并将查询结果映…...
![](https://i-blog.csdnimg.cn/direct/b6d8d2ef20ba428dbe66ad02b05f9c1d.png#pic_center)
Dataset for Stable Diffusion
1.Dataset for Stable Diffusion 笔记来源: 1.Flickr8k数据集处理 2.处理Flickr8k数据集 3.Github:pytorch-stable-diffusion 4.Flickr 8k Dataset 5.dataset_flickr8k.json 1.1 Dataset 采用Flicker8k数据集,该数据集有两个文件ÿ…...
![](https://img-blog.csdnimg.cn/6e6eedab00b6492e988e963ff638fd17.png)
近期matlab学习笔记,学习是一个记录,反复的过程
近期matlab学习笔记,学习是一个记录,反复的过程 matlab的mlx文件在运行的时候,不需要在文件夹路径下,也能运行,但是需要调用子函数时,就需要在文件所在路径下运行 那就先运行子函数,把路径换过来…...
![](https://www.ngui.cc/images/no-images.jpg)
Elasticsearch7.5.2 常用rest api与elasticsearch库
目录 一、rest api 1. 新建索引 2. 删除索引 3. 插入单条数据 4. 更新单条数据 5. 删除单条数据 6. 查询数据 二、python elasticsearch库 1. 新建索引 一、rest api 1. 新建索引 请求方式:PUT 请求URL:http://ip/(your_index_nam…...
![](https://i-blog.csdnimg.cn/direct/8e10339dec044e04900ce56f326aa374.png)
Autosar Dcm配置-0x28服务ComControl-基于ETAS软件
文章目录 前言DcmDcmDsdDcmDspBswMBswMModeRequestPortBswMModeConditionBswMLogicalExpressionBswMActionBswMActionListBswMRule总结前言 0x28服务主要用来控制非诊断报文的通讯,一般在刷写预编程过程中,用来禁止APP的通信报文,可以减少总线负载率,提高刷写成功率。本文…...
![](https://www.ngui.cc/images/no-images.jpg)
平安养老险厦门分公司:提升金融服务,发挥金融力量
为向社会公众普及金融保险知识,传递消费者权益保护理念,平安养老保险股份有限公司厦门分公司(以下简称“分公司”)积极开展“78保险公众宣传日”系列教育宣传活动。分公司紧扣“保险,让每一步前行更有底气”主题&#…...
![](https://i-blog.csdnimg.cn/direct/05872ccaee2d4c369525e791ac0722d8.png)
【开源合规】开源许可证风险场景详细解读
文章目录 前言关于BlackDuck许可证风险对比图弱互惠型许可证举个例子具体示例LGPL系列LGPL-2.0-onlyLGPL-2.0-or-laterLGPL-2.1-onlyLGPL-2.1-or-laterLGPL-3.0-onlyLGPL-3.0-or-laterMPL系列MPL-1.0MPL-1.1MPL-2.0EPL系列EPL-1.0EPL-2.0互惠型许可证GPL系列GPL-1.0GPL-2.0GPL-…...
![](https://i-blog.csdnimg.cn/direct/43b599adf9674143b879bf8524d41394.png)
Redis持久化RDB,AOF
目 录 CONFIG动态修改配置 慢查询 持久化 在上一篇主要对redis的了解入门,安装,以及基础配置,多实例的实现:redis的安装看我上一篇: Redis安装部署与使用,多实例 redis是挡在MySQL前面的,运行在内存…...
![](https://i-blog.csdnimg.cn/direct/e900f0cf58ee4b7ca101399ce6e9f1d7.png)
【持续集成_03课_Linux部署Sonar+Gogs+Jenkins】
一、通过虚拟机搭建Linux环境-CnetOS 1、安装virtualbox,和Vmware是一样的,只是box更轻量级 1)需要注意内存选择,4G 2、启动完成后,需要获取服务器IP地址 命令 ip add 服务器IP地址 通过本地的工具,进…...
![](https://www.ngui.cc/images/no-images.jpg)
mvcc 速读
MVCC(Multi-Version Concurrency Control,多版本并发控制)是MySQL中一种用于实现数据库并发控制的方法,尤其在InnoDB存储引擎中得到了广泛应用。它的主要作用是提高数据库在高并发场景下的性能,并确保数据的一致性。 …...
![](https://img-blog.csdnimg.cn/50598b89cf3648d0b97471015e46892b.jpg)
美容仪维修过程记录
近期维修的家用射频美容仪,发一些维修过程的拆机图片...
![](https://i-blog.csdnimg.cn/direct/d680e547c21d4217b1f0f70561e18fc6.png#pic_center)
STM32入门开发操作记录(一)——新建工程
目录 一、课程准备1. 课程资料2. 配件清单3. 根目录 二、环境搭建三、新建工程1. 载入器件支持包2. 添加模块3. ST配置4. 外观设置5. 主函数文件 一、课程准备 1. 课程资料 本记录操作流程参考自b站视频BV1th411z7snSTM32入门教程-2023版 细致讲解 中文字幕,课程资…...
![](https://i-blog.csdnimg.cn/direct/2a3a566b24ec47ad89315736e0fa8914.png)
QT实现自定义带有提示信息的透明环形进度条
1. 概述 做界面开发的童鞋可能都会遇到这样的需求,就是有一些界面点击了之后比较耗时的操作,需要界面给出一个环形进度条的进度反馈信息. 如何来实现这样的需求呢,话不多说,上效果 透明进度条 2. 代码实现 waitfeedbackprogressba…...
![](https://www.ngui.cc/images/no-images.jpg)
金币程序题
昨天,小孩问了我一个python编程竞赛题,我看了一下题目,是一个数列编程的问题,我在想,小学五年级的学生能搞得懂吗?反正我家小孩是没有搞懂,不知道别人家的小孩能不能搞明白。所以我花了一点时间…...
![](https://i-blog.csdnimg.cn/direct/0595404e0cad4f66a7cdbf0b95da5346.png)
《Windows API每日一练》9.13资源-鼠标位图和字符串
鼠标指针位图(Mouse Cursor Bitmap)是用于表示鼠标指针外观的图像。在 Windows 窗口编程中,可以使用自定义的鼠标指针位图来改变鼠标的外观,并提供更加个性化的用户体验。 ■以下是一些与鼠标指针位图相关的要点: ●…...
![](https://i-blog.csdnimg.cn/direct/c43783402e424db38c03f78ac9b98978.png)
【保姆级教程】CenterNet的目标检测、3D检测、关键点检测使用教程
一、代码下载 仓库地址:https://github.com/xingyizhou/CenterNet?tab=readme-ov-file 二、目标检测 2.1 下载预训练权重 下载预训练权重ctdet_coco_dla_2x.pth放到models文件夹下 下载链接:https://drive.google.com/file/d/18Q3fzzAsha_3Qid6mn4jcIFPeOGUaj1d/edit …...
![](https://www.ngui.cc/images/no-images.jpg)
thinkphp:数据库复合查询-OR的使用
完整代码 $data[info] db::table(po_headers_all)->alias(ph) //设置wip_jobs_all的别名->join([vendors > ve], ph.vendor_codeve.vendor_code)->field(ph.po_num,ph.status,ph.vendor_code,ve.vendor_name,ph.po_all_amount,ph.note,ph.order_date,ph.need_dat…...
![](https://img-blog.csdnimg.cn/img_convert/47f5487596d49329c7e124001084b194.png)
医疗网站建设公司/关键词优化快速排名
随着时代和科技的快速发展和进步,智能手机已成为日常生活中的一件必需品。而今的智能手机除了外观设计、性价比,最重要的还有处理器和系统。目前主要的系统还是安卓,以及苹果的iOS,而手机在使用一段时间后,都会收到系统…...
![](/images/no-images.jpg)
iis配置网站是什么/互联网营销具体做什么
一、下列命令可以用来操纵进程任务: ps列出系统中正在运行的进程。 kill发送信号给一个或多个进程(经常用来杀死一个进程)。 jobs列出当前shell环境中已启动的任务状态,若未指定jobsid,则显示所有活动的任务状态信息&a…...
帮一个公司做网站多少钱/超级优化
目前,信息流短视频排序是基于CTR预估Wide&Deep深层模型。在Wide&Deep模型基础上做一系列相关优化,包括相关性与体感信号引入、多场景样本融合、多模态学习、树模型等,均取得不错收益。 总体上,短视频模型优化可分为两部分…...
![](/images/no-images.jpg)
建设银行锦州分行网站/江苏建站
GitHub:https://github.com/JDawnF/learning_note 一、简介 1.类比小区门禁 小区中有门禁,出入需要输入密码,但快递人员等非小区用户进入时,需要先申请小区用户授权方可进入。 授权机制如下: 第一步,门…...
![](/images/no-images.jpg)
企业网站 php/ 今日头条
本次我总结的是springmysql利用hibernate注解进行实体映射时候的一些命名规则: 1. mysql在数据库建表的时候不区分大小写,也就是对大小写不敏感; SELECT s.* FROM s_union_interfacetemplate s select s.*from s_union_interfacetemplate …...
![](http://blogsit.iteye.com/images/spinner.gif)
制作免费企业宣传视频/seo外包公司排名
1)修改开机默认壁纸 Android开机默认资源文件为:frameworks/base/core/res/res/values/config.xml 我们找到wallpaper行: <string name"default_wallpaper_component">null</string> 系统默认壁纸一般是一张静态图片&a…...