2D auf 3D-Kugeloberfläche < Abbildungen < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 10:09 Di 18.08.2009 | Autor: | shapoc |
Hallo zusammen,
ich beschäftige mich gerade mit der Visualisierung von Objekten im 3D-Raum. Dazu stehe ich vor folgendem Problem:
Ich habe meine Objekte alle in einer x-y-Ebene in einem Quadrat um den Ursprung angeordnet. Nun möchte ich diese Objekte bzw. deren Position/Koordinaten so transformieren, dass sie auf einer Kugeloberfläche einer Kugel im Ursprung abgebildet werden.
Ich steh einfach auf dem Schlauch, wie ich aus meinen 2D-Koordinaten die Kugeloberflächenpositionen der Objekte berechnen kann. Ziel soll sein, meine 2D-"Fläche" auf die Kugel zu "kleben". Mir ist bewusst dass dies ohne Verzerrung nicht 100% möglich ist, aber es geht mir hier generell nur um einen ungefähren Lösungsweg.
Was ich bisher habe ist leider noch nicht viel:
- Anzahl Objekte: a
- Anordnung in x-y-Ebene als Quadrat der Seitenlänge: int l=(int) [mm] \wurzel{a}
[/mm]
- Kugelradius: l/4
Ich würde mich über Tipps und eure Hilfe sehr freuen!
Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt:
http://www.onlinemathe.de/forum/2D-Koordinaten-auf-3D-Kugeloberfläche-abbilden
|
|
|
|
> Hallo zusammen,
> ich beschäftige mich gerade mit der Visualisierung von
> Objekten im 3D-Raum. Dazu stehe ich vor folgendem Problem:
>
> Ich habe meine Objekte alle in einer x-y-Ebene in einem
> Quadrat um den Ursprung angeordnet. Nun möchte ich diese
> Objekte bzw. deren Position/Koordinaten so transformieren,
> dass sie auf einer Kugeloberfläche einer Kugel im Ursprung
> abgebildet werden.
>
> Ich steh einfach auf dem Schlauch, wie ich aus meinen
> 2D-Koordinaten die Kugeloberflächenpositionen der Objekte
> berechnen kann. Ziel soll sein, meine 2D-"Fläche" auf die
> Kugel zu "kleben". Mir ist bewusst dass dies ohne
> Verzerrung nicht 100% möglich ist, aber es geht mir hier
> generell nur um einen ungefähren Lösungsweg.
>
> Was ich bisher habe ist leider noch nicht viel:
> - Anzahl Objekte: a
> - Anordnung in x-y-Ebene als Quadrat der Seitenlänge: int
> l=(int) [mm]\wurzel{a}[/mm]
> - Kugelradius: l/4
>
> Ich würde mich über Tipps und eure Hilfe sehr freuen!
>
> Ich habe diese Frage auch in folgenden Foren auf anderen
> Internetseiten gestellt:
> http://www.onlinemathe.de/forum/2D-Koordinaten-auf-3D-Kugeloberfläche-abbilden
Hallo shapoc,
Es gibt eine bekannte Methode, die ganze (unbegrenzte)
Ebene auf eine Kugeloberfläche abzubilden, die sogenannte
"stereographische Projektion".
Wenn du damit Objekte innerhalb eines Quadrates auf
die Kugeloberfläche abbildest, werden sie natürlich zum
Teil erheblich verzerrt.
Ich weiss nicht, ob du zusätzlich möchtest, dass das
Bild des Quadrates der Seitenlänge l die ganze Kugel
bedecken soll. Dazu wäre eine Abbildung nötig, welche
noch zusätzliche Verzerrungen mit sich brächte.
LG
|
|
|
|
|
> Link
Hallo,
ich habe mir gerade dein Bild angeschaut, das du ins
onlinemathe-Forum (obiger Link) gestellt hast.
Daraus entnehme ich, dass du waagrechte Linien
im Quadrat auf Breitenkreise der Kugel und senkrechte
auf Meridiane abbilden möchtest. In diesem Fall kann
dir sehr leicht geholfen werden. Bilde einfach das
Intervall -l/2 [mm] \le x\le [/mm] l/2 linear auf das Intervall
[mm] -\pi\le \phi\le \pi [/mm] ab und das Intervall -l/2 [mm] \le y\le [/mm] l/2
auf das Intervall [mm] -\pi/2\le \theta\le \pi/2:
[/mm]
[mm] $\phi:=\ 2*\pi*\frac{x}{l}$
[/mm]
[mm] $\theta:=\ \pi*\frac{y}{l}$
[/mm]
Der dem Punkt P(x,y) im Quadrat entsprechende
Kugelpunkt hat dann die Koordinaten
[mm] $\overline{x}\ [/mm] =\ [mm] R*cos(\theta)*cos(\phi)$
[/mm]
[mm] $\overline{y}\ [/mm] =\ [mm] R*cos(\theta)*sin(\phi)$ [/mm]
[mm] $\overline{z}\ [/mm] =\ [mm] R*sin(\theta)$
[/mm]
$\ (R=Kugelradius)$
Dir ist aber wohl klar, dass diese Abbildung nur
in der "Aequatorzone" der Kugel einigermassen
unverzerrt sein wird. Vielleicht solltest du deine
Urbilder auch nicht in einem Quadrat, sondern
in einem Rechteck vom Format 2:1 anordnen.
LG Al-Chw.
|
|
|
|