我在工作中遇到了一个任务,我需要使用Python在几个不同的多边形中创建三角形网格。虽然多边形是凸壳的分段,但每个分段本身都是凹形的。当我尝试使用scipy.spatial.Delaunay()时,该算法似乎假设多边形是凸的,并最终在凹壳区域之外生成三角形。代码和结果图如下所示。
for i in range(len(mp)):
dtri = np.array(mp[i])
plt.scatter(dtri[:,0],dtri[:,1])
plt.plot(np.array(fdc_seg[i])[:,0],np.array(fdc_seg[i])[:,1])
我使用Delaunay三角剖分来插值在一个规则的四维网格上的一组参数上计算的函数值。有时,当一个参数值发生少量的变化,从而使它变成一个新的单纯形时,单形中的多个点会发生变化。我希望,由于我不断地改变一个参数,我会从单纯形移动到单纯形,一次只改变单形中的一个点(通常在我的代码中也是这样)。相反,请考虑以下脚本:
import numpy as np
from scipy.spatial import Delaunay
# hideous construction to get the desired 4d grid of points
# with points at [-1, -0.5, 0
我正在使用计算一组点的三维三角剖分:
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Delaunay_triangulation_3<K> CGALTriangulation;
typedef CGALTriangulation::Point Point;
// Construction from a list of points
std::list<Point> points;
points.push_front(Point(0, 0
我试图使用spatstat函数' Delaunay‘在R中生成delaunay三角剖分。但是,我查看了文档,似乎没有设置最大长度的参数。我注意到了这篇文章:How to set maximum length of triangle side in Delaunay triangulation in R?这似乎和我想做的事情是一样的,但因为我的点模式很大,所以我更喜欢一个简单而快速的解决方案。谢谢! 下面是我的代码: pts <- data.frame(readMat(paste('./TMA - Coordinates/HE_Rescaled_Coords/',
我有以下代码来创建一个圆锥体,稍后将为其应用一个位移场。在下图中,你可以看到一些大三角形画在顶部,但没有画在底部。我相信有一些内部隐藏参数告诉plot_trisurf()应该创建三角形的距离,否则它们也应该在底部创建。
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from numpy import linspace, interp, meshgrid, sin, cos, pi
numel_circum = 120
L = 38.
rb, rt