make vector generation more intuitive
workaround zooming issues

Using persp3d instead of surface3d
allows RGL to do the compression of the graph into a cube.
This can be undone passing aspect="iso" to persp3d.

Another option would be to truncate the data, e.g by doing
  realsurf[realsurf >  2*pi | realsurf < -2*pi] <- NA
(or 2*pi and -2*pi instead of NA).
The downside is that using NA makes the plot get jagged edges,
and using 2*pi/-2*pi places caps in the surface
(where the holes should be).

The jagged edges aren't that bad theoretically,
since they kind of indicate that the function continues
upwards or downwards. But they're ugly.

Perhaps using a color scale based on the z value
ranging from opaque to transparent
would make the graph visually pleasing,
while keeping an isometric perspective
and thus showing the true shape of the function
(including hinting that it continues beyond the
boundaries, instead of stopping abruptly at them).
This answer may provide a way to do so:
http://stackoverflow.com/q/17258787/
increase resolution of plot

This naturally makes the plot it slower to render,
but by forgoing the transparency, the rendering performance
can be kept at reasonable levels.
extend README with more details