2015-02-25 3 views
-1

Может ли кто-нибудь сказать мне, как создать 3D-модель поверхности, например CAD в Matlab? 1. Ввод: Ввод представляет собой набор точек с (x, y, z), где поверхность присутствует для объекта (я использую это для 3D-сканера, где мои входы (x, y, z) поверхность) 2. Точки должны отображаться как поверхность с использованием некоторой гладкой интерполяции. 3. Больше, чем создание поверхности из точек данных. Спасибо.Создание 3D-поверхности из разбросанных или точек данных

+0

'surf' является хорошим местом для но я не знаю, что вы пытаетесь спросить. Пожалуйста, см. [Ask] и попытайтесь улучшить свой вопрос, чтобы получить полезные ответы. – David

+0

Я сомневаюсь, что вы можете использовать графики, эквивалентные CAD в Matlab. Обычно САПР действительно продвинута в отношении графики. Однако, если вы хотите отобразить поверхность, используйте 'surf'. Что касается данных, если точки одинаково отбираются, я думаю, что есть обмен файлами на этом, [smooth2] (http://www.mathworks.com/matlabcentral/fileexchange/6298-smooth2). Если данные неравномерны, я не видел никаких встроенных для этого (что не означает, что они не существуют). Затем вам нужно будет начать с интерполяции, например 'interp3' или' griddata' (и если это хорошо, может быть, даже остановиться там?). – patrik

ответ

0

Для построения поверхностей вы можете использовать функцию patch. Однако вам понадобятся данные о лицах. В patch поверхность состоит из полигонов, которая задается с использованием 3-х точечной, которая является информацией о лицах. 1

0

Так как кажется, как вы будете ввод дискретных точек, расположенных на поверхности объекта, сначала нужно создать Невыпуклый Polygon на основе данных с использованием boundary функции Matlab в.

https://www.mathworks.com/help/matlab/ref/boundary.html

Вы можете использовать функцию trimesh, чтобы создать рисунок

Этот вопрос показывает, входные данные и то, что было получено с использованием этого метода: How do I create a 3D polygon/mesh over data points?

Смежные вопросы