Python凸包

article/2025/7/5 11:03:27

文章目录

    • ConvexHull
    • QG
    • 三维情况
    • ConvexHull属性

ConvexHull

ConvexHullspatial中的一个类,主要功能是找到一组点的边缘,并做一个凸包。其必要的初始化参数为一个点集,点集格式为 n × m n\times m n×m维度的数组,n为点集中点的个数,m为点的维度。

from scipy.spatial import ConvexHull
import matplotlib.pyplot as plt
import numpy as nppts = np.random.rand(30, 2)
hull = ConvexHull(pts)
plt.plot(pts[:,0], pts[:,1], 'o')
for i in hull.simplices:plt.plot(pts[i, 0], pts[i, 1], 'k-')plt.show()

其中simplex为索引点的序号,绘图之后效果如下

在这里插入图片描述
ConvexHull有两个可选参数,其中,incremental为布尔型参数,当其为True时,允许添加新的点。

qhull_options的具体参数可以查看qhull,下面只演示一下QG

QG

QGn表示将第n个点视为观察点,在对点集进行凸包划分后,如果把顶点连接起来,当作一个围墙,那么观察点可以看得到的点,则标记为good,其效果如下所示

pts = np.random.rand(1000, 2)
# 添加一个观察点
pts = np.vstack([pts, np.array([[2,0.5]])])
hull = ConvexHull(pts, qhull_options='QG1000')
plt.plot(pts[:,0], pts[:,1], '.')
for i in hull.simplices:plt.plot(pts[i, 0], pts[i, 1], 'k-')for i in hull.simplices[hull.good]:plt.plot(pts[i, 0],pts[i, 1], lw=5)plt.show()

效果如图所示

在这里插入图片描述

三维情况

二维情况下的凸包,很明显是由线构成的一个封闭图形,而三维情况下的凸包,自然应该是一个三维几何体。拓展到任意维度,凸包构成的实际上是一个单形,ConvexHull中的simplices便是构成单形的点,在原点集中的索引。示例如下

pts = np.random.rand(30, 3)
hull = ConvexHull(pts)
ax = plt.subplot(projection='3d')
ax.scatter(pts[:,0], pts[:,1], pts[:,2])
for i in hull.simplices:ax.plot_trisurf(pts[i, 0], pts[i, 1], pts[i,2], alpha=0.5)plt.show()

其中alpha参数用于调整三角面的透明度,从而可以透过凸包,看到凸包内部的点。
效果如下

在这里插入图片描述

ConvexHull属性

前面已经引入了单形的概念,即凸包构成的图形便是单形。作为二维情况下的凸包,是由线段围成;三维情况下的凸包,则是由平面围成;推广到任意维度,可以表述为构成凸包的单形,由超曲面围成。由于超曲面这个概念并没有边界,所以具有顶点、边缘的凸包表面,下文中通称为单形超表面。

ConvexHull类中常用的属性如下

  • points 凸包包围的点集
  • vertices 单形顶点在点集中的索引
  • simplices 单形超表面顶点
  • neighbors 超表面相邻超表面的索引
  • equations 超曲面方程的参数

三维情况下的超曲面方程示例如下,即每个超曲面有4个参数

>>> hull.equations
array([[-0.5509472 ,  0.72386104, -0.41530999, -0.36369123],[-0.26155355,  0.16210178, -0.95147925,  0.02022163],[-0.99132368, -0.0460725 ,  0.12310441,  0.045523  ],[-0.98526526, -0.07170442,  0.15527666,  0.04749854],[-0.15900968, -0.98529789, -0.06248198,  0.13294496],# .......

http://chatgpt.dhexx.cn/article/C25KNceo.shtml

相关文章

30-凸包(Convex Hull)

文章目录 凸包(convex hull)凸包(convex hull)Graham扫描算法API使用步骤:Code效果 凸包(convex hull) 1、凸包概念; 2、API说明; 3、代码演示; convex &…

凸包(convex hull),凸包络面(convex envelope), 凸低估计量(convex underestimator), 图上方(epigraph),

凸分析中经常见到这些概念,目前这方面的中文资料似乎不太多,决定写篇博客总结一下。 文章目录 1. 凸包 convex hull2. 图上方 epigraph3. 凸低估计量 convex underestimator4. 凸包络面 convex envelope 1. 凸包 convex hull 凸包在文献中比较常见些&a…

凸包

一、引言 凸包(Convex Hull)是一个计算几何(图形学)中的概念。 在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,...Xn)的凸组合来构造…

凸包, 概念

catalog 凸包算法1 O(n * m)算法2 O(n * logN) Andrew安德鲁算法凸包模板 凸包 通常上讲 平面上有很多的点, 用一个 皮筋 圈住 这所有的点, 此时这个 皮筋, 就是 这些点的 凸包 数学上讲 性质1: 凸包上, 任何一条边 他所在的直线 即为L, 则所有的点 都在直线L 的 同一侧 比…

小白兔视频格式转换器下载

1、小白兔视频格式转换器 www.xxxbbbttt.com 上传你的视频(腾讯qlv,爱奇艺qsv、优酷kux)都可以。 2、点击转换按钮,转换好后,我们把转换的视频下载到电脑里,就可以看到视频已经是MP4格式了。

推荐一款能够将爱奇艺qsv、腾讯qlv、优酷kux完美转换成mp4的三合一全能格式转换器

爱奇艺视频、腾讯视频、优酷视频相信很多人都在使用其中的一款或者几款软件吧,这三大视频网站已经主导国内视频行业,都是购买视频版权。因此,为了保护视频版权,就将缓存视频的格式设置成专属的qsv、qlv、kux,这三种视频…

kux格式怎么转换成mp4?简单快速的视频转换技巧分享

现在生活压力越来越大,过完一天忙碌的工作回到家里开始煲剧是很多人的最爱。说到看视频,资源基本都被「三巨头」——腾讯视频、爱奇艺、优酷所覆盖,而有些朋友喜欢将视频下载下来看。可是却发现,下载的视频格式是kux、qsv、qlv,普通视频播放器根本打不开,这是怎么一回事呢…

怎么使用视频转换器把kux格式转换mp4

在周末或者平时闲暇的时间,很多人可能就是在家里看下视频吧?而且最好的方式,还是下载到本地上来观看,想要啥时候看就啥时候看,想要看哪个地方的就看哪个地方的。但是吧,有人发现了,自己下载的视…

上网成瘾改变大脑结构:语言功能受影响,让人话都说不利索

万博 发自 凹非寺量子位 | 公众号 QbitAI 经常不受控制地拿着手机或平板,漫无目的的刷微博,逛淘宝…… 如果有,那就需要注意了,这种无法自控的上网成瘾,是一种被叫做互联网使用障碍(IUD)的健康问…

数据统计分析的16个基础概念

来源:EasyShu 本文约11000字,建议阅读20分钟本文介绍了数据统计分析的16个基本概念。 一、描述统计 描述统计是通过图表或数学方法,对数据资料进行整理、分析,并对数据的分布状态、数字特征和随机变量之间关系进行估计和描述的方法…

睡眠剥夺后皮层微结构的广泛变化

大脑皮层的微观结构受到昼夜节律和睡眠剥夺的影响,但这些影响的确切基础尚不清楚。t1加权和t2加权磁共振图像之间的比率(T1w/T2w比率)与髓磷脂水平和树突密度有关,这可能为研究睡眠剥夺大脑的皮质内微观结构提供新的见解。在这里,我们检测了4…

常用的数据分析方法汇总

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 一、描述统计 描述统计是通过图表或数学方法,对数据资料进行整理、分析,并对数据的分布状态、数字特征和随机变量之间关系进行估计和描述的方法…

论文阅读:FLGCNN: A novel fully convolutional neural network for end-to-endmonaural speech enhancement

论文题目:FLGCNN: A novel fully convolutional neural network for end-to-end monaural speech enhancement with utterance-based objective functions 一种新颖的全卷积神经网络,用于具有基于话语的目标函数…

民安汇智量表科普!满意度调查量表怎么选?

满意度量表是进行满意度调查的主要工具和手段。目前的满意度量表因其适用的对象、范围和特点各异,存在着多种类型差异。每个量表都有自己的特点,没有一个量表能用于所有的客户满意度评价,哪怕是在同一期满意度调查,都会因地制宜&a…

一文介绍各种量表类型!

量表是一种测量工具,通常用来测量人们的主观态度、意见或价值观念。我们经常会在问卷中使用量表对调查对象进行测量,最常见到的就是李克特量表,关于量表还有很多的种类,这里具体介绍几种: 一. 李克特量表(…

数据分析之数据预处理、分析建模、可视化

大纲 思维导图1. 数据分析概述1.1 简介1.2 发展历程1.3 应用领域1.4 开发流程 2. 数据类型2.1 结构化与非结构化数据2.2 定性与定量数据2.3 截面数据与时间序列数据 3. 数据来源4. 数据预处理方法4.1 数据清洗4.2 数据集成4.3 数据规约4.4 数据变换 5. 数据分析模型5.1 对比分析…

amos里CFA可行性辨别结果怎么看_论文用问卷调查法,数据分析怎么做?

论文问卷数据的分析,看起来简单,好像每个人都会做。但是做起来还真的有点难度。很多初次使用问卷调查方法的人大多以为,问卷数据分析嘛,无外乎对单选题做做频率分析,看看选择不同的选项的人占比有多少。对于评分题目,看看均值是多少,不同性别,年龄段的人群均值是多少。…

『统计学』常用的数据分析方法都在这了!Part.2

阿平 | 作者 知乎 | 来源 1 相关分析 研究现象之间是否存在某种依存关系,对具体有依存关系的现象探讨相关方向及相关程度。 单相关:两个因素之间的相关关系叫单相关,即研究时只涉及一个自变量和一个因变量复相关 :三个或三个以上因…

常用数据分析方法总结

最近优化一个画像产品,用到一些数据分析方法,这里总结一下。 主要参考:https://www.jianshu.com/p/809fb2261b23 ,补充一些细节 一、描述统计 描述统计是通过图表或数学方法,对数据资料进行整理、分析,并…

阅读《Unsupervised Evaluation of Interactive Dialog with DialoGPT》

Unsupervised Evaluation of Interactive Dialog with DialoGPT 目录 Abstract 1 Introduction 2 Related Work 2.1 Automatic Dialog Evaluation 2.2 Dialog Qualities 2.3 Pre-trained Dialog Models 3 Data Collection 3.1 Turn-Level Annotation 3.2 Dialog-Level Annotati…