I tiene un conjunto de datos que describe una nube de puntos de un cilindro 3D (xx,yy,zz,C
): Interpolar superficie del cilindro 3D en Matlab
y me gustaría hacer una gráfica de superficie a partir de este conjunto de datos, similar a esta
con el fin de hacer esto pensé que podría interpolar mis datos dispersos que utilizan TriScatteredInterp
sobre una rejilla regular y luego trazar usando surf
:
F = TriScatteredInterp(xx,yy,zz);
max_x = max(xx); min_x = min(xx);
max_y = max(yy); min_y = min(yy);
max_z = max(zz); min_z = min(zz);
xi = min_x:abs(stepSize):max_x;
yi = min_y:abs(stepSize):max_y;
zi = min_z:abs(stepSize):max_z;
[qx,qy] = meshgrid(xi,yi);
qz = F(qx,qy);
F = TriScatteredInterp(xx,yy,C);
qc = F(qx,qy);
figure
surf(qx,qy,qz,qc);
axis image
Esto funciona muy bien para los objetos convexos y cóncavos, pero termina en esto para el cilindro:
¿Puede alguien ayudarme en cuanto a cómo lograr una parcela más agradable?
Lo siento, pero eso no es lo que busco. En lugar de instalar un cilindro nuevo, me gustaría trazar una superficie basada en la nube de puntos medida. Intenté con la triangulación antes, pero esto no me produce los resultados correctos, ya que muchos de mis puntos de datos ya no aparecen en el mapa. –