alphaShape
Создайте 3-D геометрию с помощью alphaShape MATLAB
функция. Во-первых, создайте alphaShape
объект блока с цилиндрическим отверстием. Затем импортируйте геометрию в модель PDE из alphaShape
контур.
Создайте 2-D сетку сетки.
[xg,yg] = meshgrid(-3:0.25:3); xg = xg(:); yg = yg(:);
Создайте единичный диск. Удалите все сетчатые точки ячеек, которые попадают внутрь единичного диска, и включите точки единичного диска.
t = (pi/24:pi/24:2*pi)'; x = cos(t); y = sin(t); circShp = alphaShape(x,y,2); in = inShape(circShp,xg,yg); xg = [xg(~in); cos(t)]; yg = [yg(~in); sin(t)];
Создайте 3-D копии остальных точек сетки с z
-координаты в диапазоне от 0 до 1. Объедините точки в alphaShape
объект.
zg = ones(numel(xg),1); xg = repmat(xg,5,1); yg = repmat(yg,5,1); zg = zg*(0:.25:1); zg = zg(:); shp = alphaShape(xg,yg,zg);
Получите поверхностный mesh alphaShape
объект.
[elements,nodes] = boundaryFacets(shp);
Поместите данные в правильную форму для geometryFromMesh
.
nodes = nodes'; elements = elements';
Создайте модель УЧП и импортируйте поверхностный mesh.
model = createpde(); geometryFromMesh(model,nodes,elements);
Просмотрите геометрию и номера граней.
pdegplot(model,'FaceLabels','on','FaceAlpha',0.5)
Чтобы использовать геометрию в анализе, создайте mesh объема.
generateMesh(model);