Inhaltsverzeichnis -> Rotationen

Rotation von Körpern

Die folgende Animation zeigt zwei Zylinder. Ein Zylinder wurde rotiert.

Der Code hat hier folgendes Aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<X3D profile='Immersive'>
<Scene>
<Shape>
<Appearance>
<Material diffuseColor="0 1 0"/>
</Appearance>
<Cylinder height="1" radius="0.1"/>
</Shape>

<Transform rotation='1 0 0 1.57'>
<Shape>
<Appearance>
<Material diffuseColor="0 1 0"/>
</Appearance>
<Cylinder height="1" radius="0.1"/>
</Shape>
</Transform>
</Scene>
</X3D>

Es werden zwei Objekte definiert. Beim ersten Objekt handelt essich um einen gewöhnlichen Zylinder, dessen Lage unverändert bleibt. Der zweite Zylinder wird hingegen um 90 Grad rotiert. Die Anweisung rotation='1 0 0 1.57' ist folgendermaßen zu verstehen. Die ersten Zahlen 1,0,0 legeneinen Vektor fest, um den das Objekt rotiert werden soll. In diesemFall liegt der Vektor genau auf der X-Achse und ist eine Einheitlang. Die Läge spielt bei einem Rotationsvektor keine Rolle. Waszählt, ist allein die Richtung, die er anzeigt. Bei der Zahl 1,57 handelt es sich um das Bogenmaß zu einem Winkel von 90 Grad. Das Bogenmaß wird manchmal auch in der englischen Bezeichnung "Radians" angegeben

Die Formeln für die Umrechnung lauten:

Radians = Grad * Pi/180

Grad = Radians * 180/Pi

Unter dem folgenden Link finden Sie einen Rechner, mit dem Sie beide Einheiten umrechnen können:

Bogenmaß-Umrechner

Um z.B. eine Türklinke (für unser Eigenheim)) zu animieren, müssten wir unseren zweiten Zylinder nur etwas kürzen und verschieben, wie auf der folgenden Abbildung zu sehen ist:

Demo: klinke.x3d

Manchmal ist es schwierig die Rotation eines Zylinders zu ermitteln, der zwei Punkte miteinander verbinden soll. Das folgende Tool nimmt Ihnen diese Arbeit ab: x3DZylinderGenerator

nächstes Kapitel - Inhaltsverzeichnis