Подтвердить что ты не робот

Как нарисовать участок поверхности без черных краев в MATLAB?

Черные линии ужасны, как я могу избавиться от них? Я хочу только цветные поверхности.

4b9b3361

Ответ 1

Другим вариантом является установка свойств edgeColor и/или lineStyle объекта handle поверхности.

>> hSurf = surf(X,Y,Z,'EdgeColor','none','LineStyle','none','FaceLighting','phong');

Ответ 2

Это более общее решение, вы можете изменить edgeColor после того, как поверхность была создана. Он не полагается на LineStyle и FaceLighting.

a= peaks(1000);
h = surf(a)
set(h, ‘edgecolor’,'none’)

Примечание. Я сделал видеоролик на 45 секунд, который показывает это и как его исправить.

http://blogs.mathworks.com/videos/2008/08/13/matlab-basics-setting-edge-color-for-large-surface-plots/

Ответ 3

Команда затенения - ваш друг:

затенение плоское - дает вам поверхность без сетчатых линий

shading interp - интерполирует цвета между патчами, чтобы обеспечить гладкое завершение

затенение граненое - дает вам поверхность с черными линиями сетки (аналогично плоской)

Ответ 4

Я считаю, что shading interp - это тот, который вы ищете.