gpt4 book ai didi

matlab - Delaunay 三角剖分 - 删除三角形

转载 作者:行者123 更新时间:2023-12-02 02:47:06 27 4
gpt4 key购买 nike

我使用 Matlab 2013 版进行了 Delaunay 三角剖分。我想删除一些三角形,这意味着取消它们的连接性,例如三角形编号 760。我该如何进行此更改?当我尝试编辑连接列表时:

dt.ConnectivityList(760 , :) = [];

我收到消息:

Cannot assign values to the triangulation.

我考虑过将特定字段复制到不同的结构,但是:

a.我对结构不熟悉,所以我不知道如何正确地做。
b.复制结构后,如何获得三角形?

dt 包含 3 个字段:PointsConnectivityListConstraints(空字段)。

最佳答案

有关 MATLAB 对象的简要说明。当您访问一个字段进行读取时,您基本上是在执行 get(obj, fieldname);。当您尝试设置字段时,您实际上是在调用 set(obj, fieldname, new_value)。对象不一定允许您执行这些操作。

三角测量对象是只读的,因此您必须复制所有字段。正如您所提到的,如果您想创建一个具有相似字段的结构,您可以执行以下操作:

dts = struct('Points', dt.Points, 'ConnectivityList', dt.ConnectivityList);

现在您可以编辑字段。

dts.ConnectivityList(760) = [];

您也许能够绘制新结构,但您将无法使用 delaunayTriangulation 类的方法。

要绘制结果,请使用 trisurf:

trisurf(dts.ConnectivityList, dts.Points);

关于matlab - Delaunay 三角剖分 - 删除三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20918061/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com