MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Followup on Graphics3D rendering problem

I've been warned by others in the past that there is some serious flaw 
in Mathematica's PostScript rendering of 3D graphics, and now I'm 
running into it in a big way.

I'm making a series of, in essence, "3D bar charts" using Graphics3D and 
Show to display vertical towers (Line[]s) of varying heights rising 
vertically from different points in a base plane; and some of the towers 
just aren't there -- just don't draw -- randomly as far as I can tell.  

A given tower will be there in one plot of a sequence, missing in the 
next one (when its height has changed somewhat), reappear a few plots 
later, and so on -- typically only one such tower in a given sequence of 

This is causing me trouble big time.  Is there a workaround?  Specific 
commands or options I should avoid?

Two add'l notes:

1)  As a work-around I replaced all the thick Line[]s in the graphics 
with long skinny Cuboid[]s, and did not observe any of those to be 
randomly missing in any case I've tried to date.

2)  I also realized that certain other Line[]s in my graphic were long 
enough to extend outside the PlotRange I had set in the Show[] command.  
After I corrected this, the randomly missing Line[] problem seemed to go 
away even when using Line[]s.

That was a programming error on my part, but I think nonetheless also 
still a bug in Mathematica's rendering code:

*  PlotRange is essentially a windowing or masking command -- it's 
supposed to let you generate graphic elements that extend outside the 
plot range, then just not display them, right?  (At least it does in 
many other cases.)

*   The Line[]s that randomly disappeared were not the Line[]s that ran 
outside the plotting range, and had no direct connection to them -- and 
they only disappeared in certain plots, while the overlength Line[]s 
were present in all the plots.

  • Prev by Date: Re: Max[Min[#,b],a]&
  • Next by Date: Re: Max[Min[#,b],a]&
  • Previous by thread: Re: Work with Contexts
  • Next by thread: Extracting Terminal Value