Может ли кто-нибудь сказать мне, как создать 3D-модель поверхности, такую как CAD, в Matlab? 1.Ввод: ввод представляет собой набор точек с (x, y, z), где поверхность присутствует для объекта (я использую это для 3D-сканера, где мои входы (x, y ,z) поверхности) 2.Точки должны отображаться как поверхность с использованием плавной интерполяции. 3. Больше похоже на генерацию поверхности из точек данных. Спасибо.
Создание 3D-поверхности из разбросанных точек или точек данных
Ответы (2)
Для построения поверхностей вы можете использовать функцию patch
. Однако вам нужна наряду с точками информация о лицах. В patch
поверхность состоит из полигонов, которые задаются с помощью 3 точек, которые являются информацией о грани. 1
person
Mera
schedule
25.02.2015
Поскольку кажется, что вы будете вводить дискретные точки, расположенные на поверхности объекта, вам сначала нужно создать невыпуклый многоугольник на основе данных, используя функцию Matlab boundary
.
https://www.mathworks.com/help/matlab/ref/boundary.html
Затем вы можете использовать функцию trimesh
для создания фигуры
Этот вопрос показывает входные данные и то, что было создано с помощью этого метода: Как создать трехмерный полигон/сетку по точкам данных?
person
Adam Ryason
schedule
01.11.2016
surf
— хорошее место для начала, но я не понимаю, о чем вы пытаетесь спросить. См. раздел Как задать вопрос и попытайтесь улучшить свой вопрос, чтобы получить полезные ответы. - person David   schedule 25.02.2015surf
. Что касается данных, если точки выбраны равномерно, я думаю, что по этому поводу происходит обмен файлами, гладкий2. Если данные неоднородны, я не видел встроенных для этого (что не означает, что их не существует). Тогда вам придется начать с интерполяции, например,interp3
илиgriddata
(и если это хорошо, может быть, даже остановиться на этом?). - person patrik   schedule 25.02.2015