mesh
Sintaxis
Descripción
Ejemplos
Lea y grafique los datos de triangulación del STL de membrana L. Puedes usar esto para comparar con el mapa de distancia firmado.
triL = stlread("L-Membrane.stl"); trisurf(triL) title("L-Membrane STL") [az,el] = view; axis equal

Cree un campo de distancia firmado 3-D vacío (SDF) y cargue los datos de la nube de puntos para la membrana L desde un archivo MAT. El archivo MAT contiene datos de la nube de puntos y el origen del sensor asociado con cada dato de la nube de puntos.
sdm3D = signedDistanceMap3D(Resolution=50);
load LMembranePC.matInserte cada nube de puntos en el campo de distancia firmado y muestre la SDF 3-D actualizada.
for i = 1:size(ptcloud,1) insertPointCloud(sdm3D,origin(i,:),ptcloud{i}); show(sdm3D,Colorbar="on"); view(az,el) axis equal drawnow pause(.25) end title(["3-D SDF of L-Membrane"])

Obtenga todos los vóxeles activos en el SDF 3-D.
vox = activeVoxels(sdm3D)
vox = struct with fields:
ID: 1
Centers: [49889×3 double]
Distances: [49889×1 double]
Sizes: [49889×1 double]
Para fines demostrativos, utilice un desplazamiento xyz aleatorio desde los centros de los vóxeles de los primeros tres vóxeles como puntos de consulta. Luego obtenga la distancia y la pendiente utilizando esos puntos de consulta.
querypts = vox.Centers(1:3,:) + 0.1*rand(3,3); d = distance(sdm3D,querypts)
d = 3×1
0.0379
-0.0447
0.0600
g = gradient(sdm3D,querypts)
g = 3×3
0.1924 1.5773 -1.4002
0.1689 1.6524 -0.8267
-0.0715 -0.2335 0.3677
Genere una malla a partir del campo de distancia firmado en 3D.
[vertices,faces] = mesh(sdm3D)
vertices = 18860×3
-0.0100 0.0068 0.1500
-0.0300 0.0059 0.1500
-0.0100 0.0100 0.1610
-0.0300 0.0100 0.1565
0.0100 0.0047 0.1500
-0.0100 -0.0100 0.1409
0.0100 -0.0100 0.1421
0.0100 0.0025 0.1700
-0.0010 0.0100 0.1700
0.0100 0.0094 0.1900
0.0089 0.0100 0.1900
0.0100 0.0100 0.1909
-0.0100 0.0187 0.1700
-0.0300 0.0259 0.1700
-0.0100 0.0552 0.1500
⋮
faces = 37094×3
2 1 3
4 2 3
7 1 6
5 1 7
9 3 1
9 1 8
8 1 5
8 10 11
9 8 11
10 12 11
3 14 4
13 14 3
15 16 17
16 18 17
9 13 3
⋮
Visualizar los datos de la malla.
meshTri = triangulation(faces,vertices); trisurf(meshTri) axis equal title("Mesh from 3-D SDF")

Si es necesario, puede utilizar estos datos de malla para crear una malla de colisión utilizando V-HACD. Consulte collisionVHACD (Robotics System Toolbox) para obtener más información.
Argumentos de entrada
Mapa de distancia firmado en 3D, especificado como un objeto signedDistanceMap3D.
Argumentos de salida
Vértices de malla de isosuperficie generados, devueltos como una matriz V por 3. Cada fila representa una posición xyz.
Caras de malla de isosuperficie generadas, devueltas como una matriz F por 3. Cada fila es una cara triangular formada por tres vértices. Cada elemento es un índice que corresponde a un vértice en el argumento vertices.
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Historial de versiones
Introducido en R2024b
Consulte también
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)