Zurück   Flashforum > Software > 3D

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-09-2009, 16:23   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Beiträge: 507
Längen und Breitengrade als Koordinaten verwenden

Hallo,

ich möchte einen Körper in Papervision mit Hilfe der Längen und Breitengrade auf eine Kugel positionieren. Dabei bin ich auf folgende Formel gestoßen:


x = r sin θ cos φ
y = r sin θ sin φ
z = r cos θ

where r is the radius; θ is theta, or the latitude; and φ is phi, or the longitude.


In meinem Beispiel habe ich folgende Variablen bereits definiert:

PHP-Code:
var radius:Number 500;
var 
latitude:Number 53.5494149;
var 
longitude:Number 9.9623374
Wie kann ich nun die oben beschriebenen Formel anwenden, dass
ich gültige x,y und z Werte erhalte?
intercorni ist offline   Mit Zitat antworten
Alt 04-09-2009, 14:27   #2 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 548
Die Formel sollte umgesetzt etwa so aussehen:
ActionScript:
  1. var x:Number=radius*Math.sin(latitude/180*Math.PI)*Math.cos(longitude/180*Math.PI);
  2. var y:Number=radius*Math.sin(latitude/180*Math.PI)*Math.sin(longitude/180*Math.PI);
  3. var z:Number=radius*Math.cos(latitude/180*Math.PI);
Allerdings nicht getestet ob sie stimmt bzw. ob z.B. y/z im Vergleich zum Papervision-Koordinatensystem vertauscht sind etc...

Außerdem bekommst du so nur die Position eines Objekts, nicht die Ausrichtung. Damit ein Objekt auf der Erdoberfläche "richtig steht" würde ich eher etwa so vorgehen:

ActionScript:
  1. meinObjekt.transform=new Matrix3D();//Ausrichtung zurücksetzen
  2. meinObjekt.yaw(longitude);//Rücken in Richtung Längenragd ausrichten
  3. meinObjekt.pitch(latitude);//Rücken in Richtung Breitengrad ausrichten
  4. meinObjekt.moveBackward(radius);// auf Kugeloberfläche bewegen, Objekt schaut in Richtung Erdmittelpunkt
  5. meinObjekt.pitch(-90);// Objekt aufrichten
  6.  

(nicht getestet, ob die Richtungen mit der Norm übereinstimmen)

Geändert von joeydee (04-09-2009 um 14:30 Uhr)
joeydee ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele