[ascoders] Re: 3D Vector aus Winkel
- From: Andre Michelle <ascoders@xxxxxxxxxx>
- To: ascoders@xxxxxxxxxxxxx
- Date: Mon, 3 May 2004 12:08:10 +0200 (CEST)
> wenns Dir hilft, hier ist die Routine zur Berechnung der
Rotations-Matrix
> auf Basis von Quaternions aus einer Engine von mir. a und b sind Winkel.
Ich baue ja nur ungern etwas ein, was ich überhaupt nicht verstehe :o)
Allerdings reicht es mir, wenn ich weiss, die man es anwendet.
Brauche ich nicht noch die 'Matrix3x3' ?
Aus dem MM Artikel:
public function fromAxisAngle(a:Number, b:Number, c:Number, d:Number):Void
{
var ca = Math.cos(d/2); var sa = Math.sin(d/2);
var m = Math.sqrt(a*a + b*b + c*c);
$x = a/m * sa;
$y = b/m * sa;
$z = c/m * sa;
$w = ca;
}
public function concat(q:Quaternion):Void {
var w1 = $w; var x1 = $x; var y1 = $y; var z1 = $z;
var w2 = q.w; var x2 = q.x; var y2 = q.y; var z2 = q.z;
$w = w1*w2 - x1*x2 - y1*y2 - z1*z2
$x = w1*x2 + x1*w2 + y1*z2 - z1*y2
$y = w1*y2 + y1*w2 + z1*x2 - x1*z2
$z = w1*z2 + z1*w2 + x1*y2 - y1*x2
}
Mit diesen Methoden realisiert er die Rotation, ist bestimmt nicht weit von
deinem Script entfernt.
Herausbekommen habe ich durch Ausprobieren, dass a,b,c eine Achse bestimmen
und d den Winkel.
Normalerweise transliere ich alle Punkte vor die Kamera:
var tx = p.x - camera.x;
var ty = p.y - camera.y;
und mache dann meine Rotation um die (senkrechten) Achsen ( xa,ya,za), also
3(!) Winkel.
Das scheint mit den Quaternionen etwas anders zu laufen, aber die
Translation bleibt soweit ?
Wie bekomme ich denn die Rotationsachse heraus ?
--
aM
--
aM
* Diese Mitteilung wurde in coldflash.de mit dem Benutzernamen Andre Michelle
(am@xxxxxxxxxxxxxxxxxx) gepostet
------------------------------------------------------
Archiv : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------
- Follow-Ups:
- [ascoders] Re: 3D Vector aus Winkel
- From: Florian Krüsch
Other related posts:
- » [ascoders] 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- » [ascoders] Re: 3D Vector aus Winkel
- [ascoders] Re: 3D Vector aus Winkel
- From: Florian Krüsch