hallo jens,
The rotation given by the Euler angles phi, theta, and psi can be decomposed into a sequence of three successive
rotations. The first by angle phi about the z axis, the second by angle theta about the x axis, and the third about the
z axis (again) by angle psi. The angle theta is restricted to the range 0 to Pi.
wie mir scheint ist eine rotation um die euler winkel nicht symetrisch bezüglich zufälliger winkel. es wird dabei 2 mal
um die z achse (x-y ebene) gedreht und nur einmal um die x achse. das erklärt wohl die zunächst bevorzugte ausbreitung
in der x-y ebene.
damit scheint es doch nicht am zufallszahlengenerator zu liegen.
grüsse robert.
-----Original Message-----
From: Jens Bredenbeck [mailto:j.bredenbeck@XXXXXXX.ch]
Sent: Monday, April 14, 2003 10:28 AM
To: dmug@XXXXXXX.ch
Subject: Rotationsdiffusion
Liebe Liste,
ich möchte eine diffusionsartige Bewegung eines Punktes auf einer
Kugeloberfläche simulieren. Dazu bin ich von einem Ausgangsvektor
un={1,0,0} gestartet und habe mit
Rotate3D[un,step*Random[]-step/2,step*Random[]-step/2,step*Random[]-step/2]
iterativ Rotationen um zufällige Eulerwinkel ausgeführt. Hier ist das
Program:
no = 1000;
step = .1;
un = {1.0, 0.0, 0.0};
vec = Table[{0, 0, 0}, {i, 1, no}];
Do[
{vec[[i]] = un,
un = Rotate3D[un, step*Random[] - step/2, step*Random[] - step/2,
step*Random[] - step/2]
},
{i, 1, no}]
SpinShow[Show[
Table[Graphics3D[{AbsoluteThickness[4], RGBColor[1, 0, 0],
Point[vec[[i]]]}, PlotRange -> {{-1, 1}, {-1, 1}, {-1, 1}},
ImageSize -> 400, ViewPoint -> {4, 2, 2}], {i, 1, no}]],
ImageSize -> 400, ViewPoint -> {4, 2, 2}];
Insbesondere für kleinere Schrittweiten step findet eine schnelle
äquatoriale "Diffusion" statt, aber eine langsame in longitudinaler
Richtung. Ist das ein numerisches Problem oder habe ich bei den Winkeln
etwas verkehrt gemacht? Für grosse Schrittweiten gibt es schnell eine
isotrope Verteilung.
Gruss,
Jens