Laden...

2d Karte in 3d darstellen, ASP.NET

Erstellt von progi123 vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.009 Views
progi123 Themenstarter:in
71 Beiträge seit 2008
vor 13 Jahren
2d Karte in 3d darstellen, ASP.NET

Heyho,

ich hab eine 2d Landkarte als Bitmap und würde diese gerne in einer 3d Ansicht darstellen. Das Ziel ist ein Look and Feel wie bei Google Earth d. h. die Kamera fliegt über eine 2d Map im 45° Winkel. Wie könnte man das am besten für ASP.NET 2 realisieren?

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo,

dauzu musst Du die Karte dann entsprechend verzerren.

Da quasi für jede Orts - und Richtungsänderung das Bild neu aufgebaut werden muss, ist ASP.NET hier wohl die falsche Wahl, da jedes neue Bild erst vom Server erstellt und dann vom Client geladen werden muss.

Wenn Du das als Webanwendung willst, müsstest Du Dir eher Flash oder Silverlight anschauen, da könntest Du das Bild (Map) auch clientseitig bearbeiten - mit diesen beiden Technologien kenne ich mich aber zuwenig aus um hier weiterzuhelfen.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

progi123 Themenstarter:in
71 Beiträge seit 2008
vor 13 Jahren

Hi,

die Übertragung des Kartenmaterials ist eigentlich nicht das Problem. Je nach Bedarf können die Rohdaten auf dem Server oder Client in Bilder umgewandelt werden. Nur stellt sich für mich die Frage wie man mit einer freien Kamera auf ein 2d Bild blicken und sich darin bewegen kann. Flash wäre auch eine Alternative, bei Silverlight weiß ich nicht ob es unter Mono läuft.

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo,

Je nach Bedarf können die Rohdaten auf dem Server oder Client in Bilder umgewandelt werden

Wohl eher nicht, was den Client angeht. ASP.NET erzeugt ja nur Webseiten, und Bilder sind darin <img>-Tags. Die Bilddaten können clientseitig (im Browser) nicht einfach verändert werden.
Die Daten für jede "Kameraeinstellung" auf dem Server zu einem Bild rendern zu lassen, dauert aber viel zu lange -> eine fölüssige Bewegung halte ich dann für nicht realisierbar.
Die Bilder müssen also clientseitig bearbeitet/erzeugt werden, und das eben geht nicht mit reinem ASP.NET, daher der Verweis auf Flash bzw. Silverlight.

Unter Mono gibt es Silverlight übrigens als "Moonlight", ich weiß aber nicht in welchem Stadium es sich befindet bzw. ob es schon produktiv einsetzbar ist.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

5.657 Beiträge seit 2006
vor 13 Jahren

Rein technisch gesehen ist es einfach eine Verzerrung des Bildmaterials, das die Karte beinhaltet. Du mußt dir das so vorstellen, daß man auf eine Ebene aus einem bestimmten Winkel draufschaut, und dabei eine bestimmte Perspektivische Verzerrung hat (also am Horizont mehr Fläche sieht als direkt vor der Kamera).

Das bekommt man z.B. mit Matrizen hin, also einer TransformationsMatrix (für die Kameraposition) und einer ViewMatrix (für die perspektivische Darstellung). Schau mal im Internet nach TransformationsMatrix oder ViewMatrix. Wenn du mit Flash entwickeln willst, gibt es "3D-Engines" wie Sandy3D oder Away3D, da sind solche Sachen schon implementiert.
Christian

Weeks of programming can save you hours of planning

1.433 Beiträge seit 2006
vor 13 Jahren

Wenn Du das als Webanwendung willst, müsstest Du Dir eher Flash oder Silverlight anschauen, da könntest Du das Bild (Map) auch clientseitig bearbeiten - mit diesen beiden Technologien kenne ich mich aber zuwenig aus um hier weiterzuhelfen.

Stimmt nicht mehr ganz, vielleicht findet ihr hier noch ein paar Ergänzungen /Anregungen, das ganze AJAX-mässig zu realisieren / (zoomen etc.)

Seadragon

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo schaedld,

das ist eine interessante Seite - da wird offenbar das Bild in Einzelteile zerlegt, und diese bei Bedarf auch wiederverwendet: gefällt mir sehr gut.

Ich möchte aber nicht wissen, wie das bei 'ner langsamen Modemverbindung aussieht 😉

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

progi123 Themenstarter:in
71 Beiträge seit 2008
vor 13 Jahren

Ich hab hier eine JavaScript Komponente gefunden mit Beispiel + Tutorial. Da könnte was dran sein...

Beispiel
Tutorial

1.433 Beiträge seit 2006
vor 13 Jahren

@MarsStein
Ich bin mal drauf gestossen, als ich mit dem DeepZoomComposer rumgespielt und gesehen habe, dass man auch ein Seadragon Bild generieren kann.

Ich möchte aber nicht wissen, wie das bei 'ner langsamen Modemverbindung aussieht 😉

Dachte in DE sei 10MBit/s schon fast Standard 😃

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt