当前位置: 首页 > 知识库问答 >
问题:

如何在python中使用库三角形的三角

梁盛
2023-03-14

当我从这些三角形中执行α形状时,我无法得到点集的边界。所以我认为我应该使用约束Delaunay三角测量。我选择三角形库来执行此操作。但麻烦的是,我不知道给函数triangle.triangulate(tri, opts=")提供什么。我把我所有的点集输入字典,但它返回我的点集。所以任何人都可以帮助我使用这个功能或另一种选择来执行轮廓检测?谢啦

共有2个答案

黄德明
2023-03-14

我不知道三角形库,但您可以使用替代方案来执行此操作。

这是一个普遍存在的问题,你可以得到一个简单的代码来解决这个问题。在算法中,这个问题也被称为凸包,scipy中有一个类可用。

代码如下,并附有注释。

#imports
from scipy.spatial import ConvexHull
import matplotlib.pyplot as plt

## Init graphics
axis = plt.gca(); axis.cla();

#Get points sample
points = np.random.rand(20, 2)

#get Convex hull instance for the points set
hull = ConvexHull(points)

#plor the points
plt.plot(points[:,0], points[:,1], 'v')

#Get and plot the boundary
for simplex in hull.simplices:
    axis.plot(points[simplex, 0], points[simplex, 1], 'r-')

结果图可以很快看到:

参考文献:

  • http://www.qhull.org/
  • https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.ConvexHull.html
  • https://gis.stackexchange.com/questions/5426/finding-boundary-co-ordinates-from-given-set-of-point-co-ordinates
燕星鹏
2023-03-14

为了我的目的,我使用了另一个图书馆:shapely。下面是如何使用它对凹面对象进行三角剖分:

from shapely.geometry import MultiPoint
from shapely.ops import triangulate
points=MultiPoint(data)
triangles = triangulate(points)
 类似资料:
  • 问题内容: 作为Python的学习经验,我正在尝试编写自己的Pascal三角形版本。我花了几个小时(因为我刚刚开始),但是我得到了以下代码: 哪个返回 但是,我不知道从这里去哪里。几个小时我一直在撞墙。我想强调,我不希望你为我做这件事;朝正确的方向推动我。作为清单,我的代码返回 谢谢。 编辑:我采取了一些好的建议,并且我完全重写了我的代码,但是现在我遇到了另一个问题。这是我的代码。 但是,我发现输

  • 本文向大家介绍python 打印直角三角形,等边三角形,菱形,正方形的代码,包括了python 打印直角三角形,等边三角形,菱形,正方形的代码的使用技巧和注意事项,需要的朋友参考一下 三角形 等腰直角三角形1 2.7 python:打印直角三角形 coding=utf-8 方式一 方式二 #打印实心等边三角形 #打印菱形 #实心正方形 #空心正方形 知识点说明: python ,end=''备注

  • 问题内容: 目标:我需要画一个直角三角形。 我收到此结果: 我想画这个形状: 我的代码是: 问题答案: 这是python 3.x版本: 注: 在 结束=“” 保证打印时没有紧跟一个新行。

  • 我们的OOP老师给我布置了一个作业。虽然我的代码看起来很好,但我仍然面临这个问题。 我必须从用户那里获取三角形顶点的坐标,并且必须判断它是否是一个r直角三角形。所以我简单地用毕达哥拉斯定理来求它,我们都知道用条件:h*h=b*b+p*p 但令人惊讶的是,这对某些特定的直角三角形不起作用。这里有一个这样的三角形: 顶点A:(x,y)=(1,3) 顶点B:(x,y)=(1,1) 顶点C:(x,y)=(

  • 本文向大家介绍Python中最大的周长三角形,包括了Python中最大的周长三角形的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个正长度的数组A,我们必须找到面积为非零的三角形的最大周长,该三角形由这些长度中的3个组成。当不可能形成任何非零区域的三角形时,则返回0。 因此,如果输入类似于[3,6,2,3],则输出将为8。 为了解决这个问题,我们将遵循以下步骤- 排序列表A a:=从A删除最

  • 根据输入的整数,我需要制作一个三角形的三角形模式。