Re: Why are my 3D plots blue?
- To: mathgroup at smc.vnet.net
- Subject: [mg114414] Re: Why are my 3D plots blue?
- From: Joseph Gwinn <joegwinn at comcast.net>
- Date: Fri, 3 Dec 2010 05:23:34 -0500 (EST)
- References: <id7t2l$l4l$1@smc.vnet.net>
In article <id7t2l$l4l$1 at smc.vnet.net>, John Fultz <jfultz at wolfram.com>
wrote:
> On Wed, 1 Dec 2010 02:10:11 -0500 (EST), Joseph Gwinn wrote:
> > In article <id2eko$d5t$1 at smc.vnet.net>, John Fultz <jfultz at wolfram.com>
> > wrote:
> >
[snip]
> >
> >>>> The basic problem here is that the Graphics3D is being recreated over
> >>>> and over again and Mathematica is getting confused about what exactly
> >>>> should be selected. In typical examples, this kind of thing works
> >>>> fine, but your code, for reasons I haven't investigated, stresses this
> >>>> enough to expose the problem. By preventing the Graphics3D wrapper
> >>>> from being recreated, you can avoid the problem entirely.
> >>>>
> >>> OK. Sounds like it will be faster too.
> >>>
> >> Yes, but probably only marginally so.
> >>
> > One thing I have been doing is to generate 3D plots in two pieces, with
> > the unchanging background done once (with no Dynamic calls), the
> > changing stuff generated in another Graphics3D, then using Show to merge
> > things. The pattern is something like:
> >
> > staticplot==Graphics3d[<background scenery>]; (* No Dynamic stuff *)
> >
> > DynamicModule[{local vars},
> > dynamicplot==Graphics3D[Dynamic[<stuff that moves>]];
> > Show[staticplot,dynamicplot] ]
> >
> > Comments? It this complication worthwhile?
>
> Yes, this is good. Alternatively, you could have also done...
>
> Graphics3D[{<static stuff>, Dynamic[<dynamic stuff>]}]
And simpler too. This is also consistent with the advice for avoiding
blue-plot disease.
> >>> Another perhaps related effect discovered by accident is that moving
> >>> the 3D mouse while Mathematica is doing the initial evaluation of the
> >>> notebook can cause Mathematica to crash with a SEGFAULT error. This
> >>> happened a few days ago, and I allowed MacOS to send the crash report
> >>> to Apple.
> >>>
> >> This might require further investigation of the specific notebook you're
> >> working with. I suggest starting a dialog with technical support
> >> about this.
> >>
> > OK. If I can reproduce the problem. I assume that Tech Support can
> > access Mathematica crash logs sent to Apple.
>
> Not a safe assumption. I don't know as much about Apple's mechanism, but I know
> that Microsoft prevents developers from being able to correlate crash reports
> with specific users as a means of protecting privacy. I'll bet Apple does
> something similar.
I didn't think of this. Probably correct.
I don't recall if I was given the option of also sending the log
directly to the app developer.
So, a local solution is likely needed.
> > I bet the logs are under a rock somewhere on my machine somewhere as well.
I knew there must be a way. A google yielded "crashreporterd" (for
MacOS 10.4.x <intel>):
<http://developer.apple.com/library/mac/#DOCUMENTATION/Darwin/Reference/M
anPages/10.4-intel/man8/crashreporterd.8.html>
I have not read the MacOS crashdump documentation, but I bet this
captures the full memory image in a form suited to using a debugger to
perform an autopsy.
There may also be a crash logger, which captures less information. What
is reported to Apple looks like the registers and stack of all the
related threads, plus a bunch of environment data, at the moment of
death.
Thanks,
Joe Gwinn