Вот файл данных с кластером трехмерных точек. Теперь мы можем сформировать BSpline
поверхность из этого.
dat=Import["C:\\Users\\Andy\\Desktop\\Foil.mat"];
surface=BSplineFunction[dat];
ParametricPlot3D[surface[x,y], {x, 0, 1}, {y, 0, 1},
MaxRecursion->4,Axes->None,Mesh->All,Boxed->False]
Теперь мы можем увидеть структуру. Но проблема в том, что я хочу сделать трехмерное тело, и эта структура фактически имеет две видимые дыры.
На следующем рисунке мы видим, что по обоим углам открыты и структура не сплошная, а фактически полая.
Итак, я нашел решение, которое, я уверен, может работать визуально, но не возвращает твердую структуру.
pic=Show[Graphics3D[
{Polygon[Table[surface[0,y],{y,0,1,0.005}]],
Polygon[Table[surface[1,y],{y,0,1,.005}]]}],
ParametricPlot3D[surface[x,y],{x,0,1},{y,0,1},
MaxRecursion-> 4,PlotPoints-> 20,
Mesh-> All],Boxed->False,Axes-> None];
GraphicsGrid [
{{ParametricPlot3D [поверхность [х, у], {х, 0,1}, {у, 0,1},
PlotPoints-> 20, Mesh-> All, в штучной упаковке-> False, топоры-> None],
Graphics3D [{Многоугольник [Таблица [Поверхность [0, у], {у, 0,1,0.005}]],
Многоугольник [Таблица [поверхность [1, у], {у, 0,1, 0,005}]]}],
ПИК}}]
Здесь идет вывод.
Теперь мы экспортируем третье изображение, где отверстия визуально закрыты как файл * .obj. Мы можем импортировать этот файл в любой редактор на основе САПР, например Meshlab . Там можно увидеть отверстия, которые будут обнаружены.
Теперь есть простой способ, чтобы мы могли сформировать сплошную структуру в Mathematica с заданными точками данных в файле Foil.mat . Я ожидаю, что некоторые опции могут быть доступны с помощью функции BSpline
для достижения этой цели. Как и следовало ожидать, я хочу иметь закрытую поверхность без отверстий.
Надеюсь, я смог объяснить мою проблему достаточно подробно. Будем ждать вашего ответа.
BR