J'ai un ensemble de données qui décrit un nuage de points d'un cylindre 3D (xx,yy,zz,C
): surface Interpolate du cylindre 3D dans Matlab
et je voudrais faire une parcelle de surface de cet ensemble de données, similaire à ce
pour ce faire, je pensais que je pouvais interpoler mes données dispersées à l'aide TriScatteredInterp
sur une grille régulière puis tracer à l'aide 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
Cela fonctionne très bien pour les objets convexes et concaves, mais se termine dans ce pour le cylindre:
Quelqu'un peut-il me aider à la façon d'atteindre une plus belle parcelle?
Je suis désolé mais ce n'est pas tout à fait ce que je suis après. Plutôt que d'installer un nouveau cylindre, je voudrais tracer une surface basée sur le nuage de points mesuré. J'ai essayé avec la triangulation auparavant mais cela ne produit pas tout à fait les bons résultats pour moi car beaucoup de mes points de données ne sont plus présents sur la carte. –