Dieses Daten-File beschreibt einen Neutronenstern mit Ring. Das Ganze dreht
sich in
-Schritten um sich selbst.
/* Daten-File bs */
#include "names.h"
/* Definition der Filmsequenz */
(defmovie
(loop (720 (0) (0.5)) /* definiert Parameter $1 zu 0, 0.5, ... 359.5 */
)
(set Masse 1.0)
(setname bs)
/* Kameraposition und Brennweite */
(defcamera (pos 120 0 0) (foc 2.0))
/* Definition von verschiedenen Koordinatendrehungen */
#define SternRot 100
#define Raumdrehung 300
/* Koordinaten-Transformationen def. */
(deftrafo SternRot
(rot Z 0)
)
(deftrafo Raumdrehung
(rot Y $1) /* Drehung um die in der defmovie-Anweisung definierten Winkel */
)
(deftrafo NeutronensternTrafo
(trafo SternRot) (trafo Raumdrehung)
)
(deftrafo ScheibeTrafo
(trafo Raumdrehung)
)
/* Objekt Neutronenstern def. */
(defobject Neutronenstern
(trafo NeutronensternTrafo)
(struct opaque)
(proc Karo)
)
/* Geometrie von Neutronenstern def. */
(defsolid 1 0
(trafo NeutronensternTrafo)
(prio NeutronensternPrio)
(ball 4)
(object Neutronenstern)
)
/* Objekt Scheibe def. */
(defobject Scheibe
(trafo ScheibeTrafo)
(struct opaque)
(proc Karo)
)
/* Geometrie von Scheibe def. */
(defsolid 4 0
(trafo ScheibeTrafo)
(object Scheibe)
)
/* Kinder von 4 */
(defsolid 41 4 (prio 100) (cone -0.5 1.0 12 12))
(defsolid 42 4 (prio 200) (cone -1.0 2.0 8 8) (object InvisibleObject))