DMUG-Archiv 2001

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

RealTime3D ohne RealTime3D

Hallo,

just habe ich eine neue Eigenschaft des 4.1 FrontEnds 
heraus gefunden. Man kann sich die Cellen mit den
beweglichen 3d Objekten selber machen ohne RealTime3D`
geladen zu haben. In den Cell[]en vom Typ "Graphics"
steht n"amlich der Mathematica code des Objectes verbatim
drin. Allerdings mag die Zelle keine Automatic Optionen und
auch nicht alle Optionen. Wenn man schon ein 3d Graphik 
Object hat, stehen die Optionen im 2. Argument als Liste.
Das m"ogen die Zellen auch nicht, die wollen eine Sequence[]
von Optionen. So gehts:

(* 3d Graphik erzeugen: *)

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

(* Optionen expandieren: *)

vp = FullOptions[gg];

(* Graphik-Object kopieren und die Liste der Optionen in 
   eine Sequenz umwandeln. Ausserdem noch ein paar Optionen
   ausfiltern, da nicht alle akzepiert werden: *)

gg2 = gg;
gg2[[2]] = 
    Sequence @@ 
      Select[gg[[2]], 
        MemberQ[{Lighting, Boxed, ViewPoint, BoxRatios}, First[#]] &];

(* So, und jetzt die RealTime3D Zelle erzeugen: *)

NotebookWrite[SelectedNotebook[], Cell[BoxData[gg2], "Graphics"]]

Ich brauche ja nicht sagen, dass MathGL3d in der n"achsten
Version eine Funktion haben wird die das f"ur Objekte aus dem
MathGL3d Fenster erledigt ...
Soll ich dabei auch gleich die falsch positionierten
Lichtquellen von RealTime3D` korrigieren ?

Bis dahin viel Spass mit dem  "undocumented feature"

Gruss
  Jens


Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html