Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - mxtra

#1
Aber das Code-Snippet hat ja mal funktioniert. (Für ein anderes Projekt, aber gleicher Anspruch) Ich verstehe nicht warum das jetzt nicht mehr geht.

Ich denke fast, dass um die z-Achse gedreht wird, was natürlich nicht sichtbar wäre. Allerdings habe ich keine "Vertauschung" gefunden, die funktioniert.


Hiermit geht es:
public static SimpleVector geoToCart(double latitude, double longitude,double r)
{


latitude  =  latitude *0.01745329251f;
                longitude =  longitude*0.01745329251f;

float x = (float) (r * Math.cos(latitude) * Math.cos(longitude));
float y = (float) (r * Math.cos(latitude) * Math.sin(longitude));
float z = (float) (r * Math.sin(latitude));

SimpleVector ret = new SimpleVector();
ret.x =  y;
ret.y = -z;
ret.z = -x;

return ret;
}
#2
Danke, die geographische Länge wird tatsächlich korrekt übernommen, dafür wird aber die Breite ignoriert

SimpleVector vector = SunCalc.geoToCart(0,180,  18);
bringt ein richtiges Resultat,
SimpleVector vector = SunCalc.geoToCart(50,180,  18);
bringt allerdings das selbe Resultat.
#3
Ich komme irgendwie mit dem Koordinatensystem nicht ganz klar. Ich möchte geografische Koordinaten in die entsprechenden kartesischen Koordinaten umwandeln. Dafür habe ich folgenden Code geschrieben:

    public static SimpleVector geoToCart(double lat, double lon,double R)
{

                lat = lat*0.01745329251;
lon = lon*0.01745329251;

float x = (float) (R * Math.sin(lon) * Math.cos(lat));
float y = (float) (R * Math.sin(lon) * Math.sin(lat));
float z = (float) (R * Math.cos(lon));

SimpleVector ret = new SimpleVector();
ret.x = x;
ret.y = y;
ret.z = z;
return ret;
}


Aufgrund der unterschiedlichen Koordinatensysteme (?) klappt das natürlich nich nicht, aber leider kriege ich das nicht angepasst.