如何创建卷的表面?

15的观点(30天)
Teerapong Poltue
Teerapong Poltue 2021年6月7日
评论道: darova 2021年6月9日
我有这两个从等值面绘制表面,因此我有所有这些表面的坐标。我要填写两个表面之间创建一个三维实体部分。我怎么能这样做呢?

答案(1)

darova
darova 2021年6月7日
你的对象看起来对称。尝试手动创建表面
p1 =等值面();
p2 =等值面();
v1 = p1.vertices;
v2 = p2.vertices;
ix1 v1 = (: 3) > (max (v1 (:, 3)) -0.05);% z coord边界
ix2 = v2 (:, 3) > (max (v2 (:, 3)) -0.05);% z coord边界
(t1, r1) = cart2pol (v1 (: 1), (2):,);%第一轮廓中提取数据
(t2, r2) = cart2pol (v2 (: 1), v2 (:, 2));%第二轮廓中提取数据
ind1 = (t1)进行排序;%点逆时针的顺序
ind2 = (t2)进行排序;%点逆时针的顺序
%不同大小的数据。插入数据大小相同
r22 = interp1 (t2, r2, t1);%有两个轮廓与第二个相同的大小
x1 = v1 (: 1);
日元= v1 (:, 2);
z1 = v1 (:, 3);
(x2, y2) = pol2cart (t1, r22);%第二轮廓
z2 = z1;
%为表面创建数据
X = (x1 (:) x2 (:));
Y = (y1 (:) y2 (:));
Z = (z1 (:) z2 (:));
冲浪(X, Y, Z)
6个评论
darova
darova 2021年6月9日
也许调查 alphaShape

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的