Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
2d Karte in 3d darstellen, ASP.NET
progi123
myCSharp.de - Member

Avatar #avatar-3317.gif


Dabei seit:
Beiträge: 71
Herkunft: Süddeutschland

Themenstarter:

2d Karte in 3d darstellen, ASP.NET

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3.170
Herkunft: Trier -> München

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
progi123
myCSharp.de - Member

Avatar #avatar-3317.gif


Dabei seit:
Beiträge: 71
Herkunft: Süddeutschland

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3.170
Herkunft: Trier -> München

beantworten | zitieren | melden

Hallo,
Zitat
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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von MarsStein am .
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1.433
Herkunft: Schweiz

beantworten | zitieren | melden

Zitat
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
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3.170
Herkunft: Trier -> München

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
progi123
myCSharp.de - Member

Avatar #avatar-3317.gif


Dabei seit:
Beiträge: 71
Herkunft: Süddeutschland

Themenstarter:

beantworten | zitieren | melden

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

Beispiel
Tutorial
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1.433
Herkunft: Schweiz

beantworten | zitieren | melden

@MarsStein
Ich bin mal drauf gestossen, als ich mit dem DeepZoomComposer rumgespielt und gesehen habe, dass man auch ein Seadragon Bild generieren kann.
Zitat
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
private Nachricht | Beiträge des Benutzers