作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Matlab 2013 版进行了 Delaunay 三角剖分。我想删除一些三角形,这意味着取消它们的连接性,例如三角形编号 760。我该如何进行此更改?当我尝试编辑连接列表时:
dt.ConnectivityList(760 , :) = [];
我收到消息:
Cannot assign values to the triangulation.
我考虑过将特定字段复制到不同的结构,但是:
a.我对结构不熟悉,所以我不知道如何正确地做。
b.复制结构后,如何获得三角形?
dt
包含 3 个字段:Points
、ConnectivityList
和 Constraints
(空字段)。
最佳答案
有关 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/
我有一个绕其 3 轴旋转的立方体,当 key[a] == true 时,它会向左旋转,就好像它正在滚动一样。将立方体向任何方向旋转 45 度,将其向后旋转 90 度,以获得继续的错觉。这将保持 3
我是一名优秀的程序员,十分优秀!