MathGroup Archive 2007

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

Search the Archive

Re: Is RealTime3D back?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg81524] Re: Is RealTime3D back?
  • From: e m <emiliomartinserrano at yahoo.com>
  • Date: Wed, 26 Sep 2007 06:49:43 -0400 (EDT)

RealTime3D without RealTime3D
   
   To: mathgroup at smc.vnet.net
   Subject: [mg28524] RealTime3D without RealTime3D
   From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
   Date: Wed, 25 Apr 2001 01:30:28 -0400 (EDT)
   Organization: Universitaet Leipzig
   Sender: owner-wri-mathgroup at wolfram.com
   
---------------------------------
   
Hi,

 all. I just discovered a fancy feature of the 4.1 FontEnd.

If one wish to display a Graphics3D object as real time object in
the fontend one has nothing more to do than to create a graphics cell
with the true 3d graphics object instead of the PostScript code.

The Graphics3D[] object don't like Automatic settings in the options
and with to get a options sequence instead of a options list. The
following code should work on Unix and windows and explain the basic
steps

make some 3d graphics:

gg = Plot3D[Sin[x*y], {x, 0, Pi}, {y, 0, Pi}]

now we have a 3d object rendered as PostScript. To get
a RealTime3D object (without loading the RealTime3D` package)
take te list of options and paste the 3d object
verbatim into a new cell

vp = FullOptions[gg];
gg2 = gg;
(* replace the options list *)
gg2[[2]] = 
    Sequence @@ 
      Select[gg[[2]], 
        MemberQ[{Lighting, Boxed, ViewPoint, BoxRatios}, First[#]] &];

(* make the cell *)
NotebookWrite[SelectedNotebook[], Cell[BoxData[gg2], "Graphics"]]

and woops, we have a nice active movable and rotatable 3d object.

Needless to say that the next version of MathGL3d will have a
function that does it and it will correct the lighting bug in
the RealTime3D` package. :-)

Regards
  Jens




Szabolcs Horvát <szhorvat at gmail.com> escribió: e m wrote:
>         Hi,
> 
>     In the following, the last Plot3D sentence (In[29]) works 
 > fine in Matemática V5 (except if RealTime3D is loaded,
 > in which case Plot3D in -IN[29]- does not work either).

I see no In[29] in your message.

> 
>     Surprisingly, in version 6.01, the Plot3D does not
 > work either this case. It seems to mean that the implicit
 > RealTime3D final version is,  doubtlessly, part of the
 > new V6 frontend. In fact it always was part of the front end,
 > as Jan Peers Kuska pointrd out in one of his post a few years ago!
 > Nonetheless, it retains some of its cove?experimental bugs?
 > that it has been carrying over six versions: 4.0, 4.1,
 > 4.2, 5.0, 5.1 and 5.2. Definitely, RealTime3D lingers
> behind the new V6 frontend and it is not bugs-free yet.
> As per me, I do not believe Wolfram did not know about it.
> This is a bit more than annoying.

I really cannot see the connection with RealTime3D.

> 
>     Maybe I am wrong, I wish I was, so I would appreciate any 
 > help in getting all my pictures plotted and rotated.
> 
>     Let us tray, this example: 
> 
>   UtilityFunct  = .5* Log[x]+ .5* Log[y] 
>     mu  = Maximize[UtilityFunct, {x,y}]

Surely, you understand that this function does not have a maximum?

> {xmax,ymax} =Thread[ ReplaceAll[{x,y},Last[mu]]] 

Thread[] is unnecessary.

 > xmin = ymin = $MinMachineNumber
 > (* any other small number close to zero will do *)
>   ContourPlot[UtilityFunct,{x,xmin,xmax},{y,ymin, ymax}, Contours->300]

Works pefectly in Mathematica 6.

>     Plot3D[UtilityFunct,{x,xmin,xmax},{y,ymin, ymax}, BoxRatios ->{1,1,1}] 

OK, so you pointed out that graphics objects do not like unreasonably 
large  machine precision numbers.  I can invent similar, artificial 
examples for 2D graphics as well.  But does this really hinder your 
work?  Couldn't you just rescale the coordinates to a narrower range?

>     And you will see what happens.You get just nothing.
> 
> Besides, the dynamic graphics oriented features take, as arule,
> massive amounts of resources to work. I wonder if a medium or
> even small size (real) problem could be handled by a typical
> desktop with 3.6 GH processor and 2 GB RAM. I wonder if all
> this information should have been provided when the V6 was launched. 
>     Tray for example
> Plot3D[UtilityFunct,{x,1,5},{y,1,5}, BoxRatios-> {1,1,1},Mesh ->300], 
> 
>     The picture, simply, does not rotate. Again, RealTime3D is lingering behind?

Neither can it be rotated in Mathematica 5.  (Actually I can rotate the 
plot just fine, albeit a little slowly, on a computer that is much 
weaker then yours.)

But again, this is an artificial example.  Do you really need 300 mesh 
lines?  As it has been pointed out several times on this mailing list, 
in Mathematica 6, Plot3D samples the function more densely than the 
number of mesh lines (or PlotPoints), much like Plot does in Mathematica 5.

>     It sounds as if  V6 were an interim version as v3 was. Am I wrong?

If you really think that being able to plot up to 10^300 (instead of 
10^50) is much more important than all the new graphics features, then 
simply use the version 5 graphics:

<

 > It is however true that the new V6 features are really impresive.

-- 
Szabolcs




  • Prev by Date: Re: Nullcline and getting "2" values for y
  • Next by Date: Re: Re: Fitting parameters of nonlinear diff equation system
  • Previous by thread: Re: Is RealTime3D back?
  • Next by thread: mutual information of red and green channel