Me gustaría crear un trazado de la superficie 3D que abarque todos los puntos desde una nube de puntos [X,Y,Z]
. Por ejemplo, este es un gráfico de dispersión de mi nube de puntos:Matlab Delaunay Triangulación de Nube de puntos - Matriz de color
scatter3(X,Y,Z,5,C)
como se puede ver cada punto de datos tiene un valor de intensidad C
.
ahora llevo a cabo la triangulación
dt = DelaunayTri(X,Y,Z);
[tri Xb]= freeBoundary(dt);
Y consigo la superficie triangulada
figure
trisurf(tri,Xb(:,1),Xb(:,2),Xb(:,3), 'FaceColor', 'cyan', 'faceAlpha', 0.8);
Sin embargo, cuando intento para establecer el color de la superficie usando
trisurf(tri,Xb(:,1),Xb(:,2),Xb(:,3),C,'EdgeAlpha',0,'FaceColor','interp')
Recibo el mensaje de error: "Advertencia: los datos de color no están configurados para el sombreado interpolado", que se debe a que el tamaño de C
no coincide con Xb
o tri
.
¿Cómo puedo asegurarme de obtener el color correcto de la superficie interpolada?
Brillante, muchísimas gracias por su respuesta. Esto funciona maravillosamente! –
Lo siento, no sabía de eso –