instinct
2009-12-28, 17:30:16
Ich möchte eine Textur (Verhältnis 2:1) auf eine Einheitskugel mappen. Das ist ja noch relativ einfach:
temp_point ist eine Struktur und enthält einen Punkt der Kugeloberfläche.
float azimuth = atanf(temp_point.x / temp_point.z);
float rho = acosf(temp_point.y);
u = azimuth / (2.0f * M_PI);
v = 1.0f - rho / M_PI;
Das Problem ist nun aber, dass ich auch den umgekehrten Weg gehen muss. Ich habe u und v gegeben und muss den Punkt im xyz Space dazu bestimmen, wenn die Textur auf die Kugel gemappt wurde.
Durch Umstellen der Ausgangsgleichungen komme ich auf y, aber nicht auf x und z. Denn: x := tanf(azimuth) * z
float azimuth = u * 2.0f * M_PI;
float rho = M_PI * (1.0f - v);
float y = cosf(rho);
float x = ?;
float z = ?:
Kann mir jemand bei diesem Problem weiterhelfen? Ich wäre sehr dankbar für ne Lösung.
temp_point ist eine Struktur und enthält einen Punkt der Kugeloberfläche.
float azimuth = atanf(temp_point.x / temp_point.z);
float rho = acosf(temp_point.y);
u = azimuth / (2.0f * M_PI);
v = 1.0f - rho / M_PI;
Das Problem ist nun aber, dass ich auch den umgekehrten Weg gehen muss. Ich habe u und v gegeben und muss den Punkt im xyz Space dazu bestimmen, wenn die Textur auf die Kugel gemappt wurde.
Durch Umstellen der Ausgangsgleichungen komme ich auf y, aber nicht auf x und z. Denn: x := tanf(azimuth) * z
float azimuth = u * 2.0f * M_PI;
float rho = M_PI * (1.0f - v);
float y = cosf(rho);
float x = ?;
float z = ?:
Kann mir jemand bei diesem Problem weiterhelfen? Ich wäre sehr dankbar für ne Lösung.