八度椭圆体网格

时间:2016-09-05 13:55:09

标签: matlab geometry octave mesh ellipse

我正在尝试构建一个由许多椭圆体组成的三角形网格。我的尝试是首先创建一个两个椭球的并集的表面,并继续在循环中使用新的椭球。 OCTAVE代码如下:

close all; clear all; clc;
[x, y, z] = ellipsoid(0, 0, 0, 1, 1, 1, 30);
[x2, y2, z2] = ellipsoid(.5, 0, 0, 3, 1, .5, 30);

x = [x; x2]; y = [y; y2]; z = [z; z2];
surf(x, y, z);
axis equal;

输出是一个同时具有椭圆体的表面。我希望表面的内部是空心的,即表面内应该没有点,它应该是封闭的。我尝试使用以下方法找到第一个椭圆体的第二个椭球的点:

idx = (x2.^2+y2.^2+z2.^2) < 1;

但由于idx无法索引x, y, z,这无济于事。

任何人都可以指导我如何创建两个椭球的联合,并从那里形成一个三角形网格?我的表面将始终是椭圆体,因此,一般的网格划分技术可能是一种过度杀伤力。

0 个答案:

没有答案