刚体的几何运算(Matlab)

                     

贡献者: addis

  • 本文处于草稿阶段。
图
图 1:intersect 测试结果

p1 = polyshape([0.425 0.284 0.335 0.482 0.388 0.425], ...
    [0.715 0.610 0.371 0.453 0.584 0.715]);
p2 = polyshape([0.439 0.411 0.389 0.408 0.466 0.439], ...
    [0.621 0.639 0.610 0.524 0.541 0.621]);
figure; subplot(1,2,1); plot(p1); hold on; plot(p2);
p3 = intersect(p1, p2);
subplot(1,2,1); plot(p3);
p1 的类型是 polyshapep1.VerticesN*2 尺寸的顶点坐标。一个 polyshape 可以表示多个多边形,个数为 p3.NumRegionsp3.Vertices 中用一行 [nan, nan] 隔开不同的多边形。如果 p3 是空的,那么 p3.Vertices 是空矩阵。

图
图 2:alphaShape 测试结果

[X,Y,Z] = sphere(20);
shp = alphaShape(X(:),Y(:),Z(:));
figure; subplot(1,2,1); plot(shp);
shp.Alpha = 2.5;
subplot(1,2,2); plot(shp);
inShape(shp, [1.01,0,0]); % 判断是否在内部


致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 20 元,我们一周就能脱离亏损, 并在接下来的一年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利