surf() plots weird black lines

Hi,
the surface plot contains weird lines that connect edges of the surface. For example the following code:
x = -3:0.1:3;
y = -3:0.1:3;
[xx,yy] = meshgrid(x,y);
zz = xx.^2 - yy.^2;
surf(xx,yy,zz);
plots this:
surprisingly when I File->Save As, those lines are gone from the output image file.
I'm using version: 8.2.0.701 (R2013b) Is this a bug? There appears to be a similar question here: http://www.mathworks.com/matlabcentral/answers/52846-surf-command-gives-false-lines
I know I can disable lines with: 'EdgeColor', none. But I want the grid because it helps me visualize.

 Respuesta aceptada

Sean de Wolski
Sean de Wolski el 23 de Jul. de 2014
Editada: Sean de Wolski el 23 de Jul. de 2014

2 votos

Most likely opengl and when you print it implicitly changes the renderer to painters. You can do this explicitly by running:
set(gcf,'Renderer','painters')
You could also try using the software version of opengl:
opengl software

1 comentario

Jason
Jason el 19 de Dic. de 2014
Editada: Jason el 19 de Dic. de 2014
Awesome. This was driving me crazy as well. Thanks!
As an FYI 'painters' really slows down the rendering 'zbuffer' seems to work as well and provides faster processing.

Iniciar sesión para comentar.

Más respuestas (2)

Joseph Cheng
Joseph Cheng el 23 de Jul. de 2014

0 votos

If you rotate the surf image does the lines disappear? I was able to run what you have in the same 8.2.0.701 (R2013b) (64 bit) and i don't have those lines.
if you check out this thread http://www.mathworks.com/matlabcentral/answers/52943-mesh-or-surf-display-problem-on-windows-7 it does sound like it may be your graphics drivers or openGL.
Donald K
Donald K el 23 de Jul. de 2014

0 votos

The lines remain when you rotate the figure.
Changing OpenGL to software mode does "fix" the issue. Although I have fairly recent NVIDIA drivers - 335.23 - and I don't get these issues with any of the OpenGL code I write. I still think it's a Matlab bug, but at least I have a workaround.
Thank you.

1 comentario

Sean de Wolski
Sean de Wolski el 23 de Jul. de 2014
The fact that opengl software fixes it points to this not being a MATLAB bug but being a bug in the drivers.

Iniciar sesión para comentar.

Categorías

Más información sobre Graphics Performance en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 23 de Jul. de 2014

Editada:

el 19 de Dic. de 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by