Comment dessiner un tracé de surface sans arêtes noires dans MATLAB?
Question
Les lignes noires sont affreuses, comment puis-je m'en débarrasser? Je ne veux que les surfaces colorées.
La solution
Vous pouvez également définir les propriétés edgeColor et / ou lineStyle de l'objet de traitement de surface sur none .
>> hSurf = surf(X,Y,Z,'EdgeColor','none','LineStyle','none','FaceLighting','phong');
Autres conseils
Ceci est une solution plus générale, vous pouvez aussi changer la couleur de bord après que la surface ait été créée. Il ne repose pas sur LineStyle et FaceLighting.
a= peaks(1000);
h = surf(a)
set(h, ‘edgecolor’,'none’)
Remarque: j'ai réalisé une vidéo de 45 secondes qui montre ce problème et comment y remédier.
La commande d'ombrage est votre ami:
ombrage à plat - vous donne la surface sans lignes de maillage
shading interp - interpole les couleurs entre les patchs pour donner une finition lisse
ombrage à facettes - vous donne la surface avec des lignes de maillage noires (semblables à plat)
Je crois que shading interp
est celui que vous recherchez.