| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Oct 2004
Beiträge: 65
| DEM Höhendaten in Flash
Hallo, Ich sitze noch immer an meinem Radar Simulator. Habe soweit eigentlich alles fertig. Kurze Einleitung: Das Programm ist ein Addon für das online Spiel LockOnModernAirCombat . In diesem Flugsimulator werden die Positionen der einzelnen online fliegenden Flugzeuge über eine ziemlich unbekannte Script Sprache (LUA) exportiert. Die Positionen schicke ich dann mit anderen informationen zusammen als String an einen JavaServer und und der macht mir dann die XML Socket für meine Grafische Umsetzung der Flugzeug Position, Höhe und Geschindigkeit in meinem Flash Radarprogramm. Es wird also realtime gezeigt wer gerade wo und wie fliegt.Anschauen kann man sich das ganze ein paar Stunden am Tag (leider nicht immer online) unter: http://www.virtual-jabog32.de/atc/ATC_85.swf Screenies: ![]() ![]() ![]() ![]() ![]() ![]() Soweit so gut. War auch ziemlich kompliziert. http://www.polymoon.org/tobi/privat/...enChecknix.jpg http://www.polymoon.org/tobi/privat/...reenChecks.jpg Ein wichtiges Element fehlt mir jedoch noch. Ich möchte auf dem Terrain auf dem das ganze stattfindet realistische Radar Berechnungen erstellen. D.h. Wenn ein Radar gegen einen Berg Strahlt, sieht er natürlich dahinter nichts... Dafür habe ich mir einige Höhenkarten des Terrains heruntergeladen und in einem 3d Programm auf verschiedenen Höhen (Querschnitte) den Radarschatten, von der jeweiligen Position der Radar Station aus gesehen, berechnet. Das sieht dann ungefähr so aus ![]() ![]() ![]() ![]() Dieses ganze System hat sich allerdings für mich als nicht besonders effizeint erwiesen, zumal ich für mobile Radarstationen jeweils 10 Bilder rendern, vektorisieren, in Flash laden und dort als hittest mit shape flag definieren müsste, eigentlich unmöglich... WAS ICH GERNE HINKRIEGEN WÜRDE... (freu mich schon auf eure hilfe) Ich will auf der Höhenkarte vom Standpunkt des Radars zum Standpunkt der flugzeuge eine Linie ziehen welche als farbe(n) grauwerte ansteigend von Ausgangshöhe bis Zielhöhe (weiss = hoch, schwarz = tief) hat. Wird an einer Stelle der Grauwert der Linie durch den Grauwert der Höhenkarte übertroffen, bedeutet es dass der Radarkontakt nicht besteht. Eine linie ziehen ist kein Problem mit. MovieClip.moveTo MovieClip.lineTo Aber ob ich mit: MovieClip.lineStyle MovieClip.beginFill usw. die entsprechende Schattierung hinkriege weiss ich schonmal nicht. Und dann in einem loop an der Linie Pixel für Pixel entlang und Helligkeit des entspechenden Pixels auf der Höhenkarte mit dem entsprechendem Pixel der Linie zu vergleichen stell ich mir auch nicht so leicht vor... Also wenn einer von euch mir folgen kann, die Zeit hat und mir helfen will, wäre ich sehr sehr dankbar. MFG zillion42 edit: Ich bräuchte ein array der Höhenkarte... Bild Pixel für Pixel auslesen notfalls als loadvar EDIT2: DEN WALD VOR LAUTER BÄUMEN NICHT GESEHEN... Habe jetzt eine ASCII Datei der Höhendaten... Und werde versuchen das alles ohen Farben dafür mehr mathe zu machen... Kann mir einer sagen ob eine 64 MB loadvars in flash möglich ist... Geändert von zillion42 (22-08-2005 um 04:05 Uhr) |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Oct 2004
Beiträge: 65
|
Danke für die schnelle antwort... Ja das ist schon ziemlich viel für flash, aber mit ein wenig glück klappts... Leider handelt es sich hierbei aber nicht um irgendeine Landschaft sondern um eine ganz bestimmte zwischen der Ukraine und Russland am Schwarzen Meer. Wenn du mir vielleicht einen Tip geben kannst wie ich 786789 Zeilen mit jeweils 3 Spalten von 8 Stellingen Floats besser verwalten kann als mit Arrays wäre ich auch schon weiter... Ausserdem brauch ich ein wenig vector mathe um zwischen zwei Punkten alle pixelkoordinaten festzustellen und dann an meinem Raster die nächsten daran anliegenden Punkte zu erörtern. MFG Zillion |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Oct 2004
Beiträge: 65
|
mhh... ziemlich müde und morgen arbeiten... jedenfalls kann ich mir meine 3/4 millionen Zeilen in die Haare schmieren. Vielleicht kann mir einer von euch ja mit myXML.load(url) ein wenig Hoffnung machen... Die Ausgangs Datei ist momentan 23.3 MB als ASCII in folgendem format: 472500.0 5032500.0 101 472500.0 5034000.0 72 472500.0 5035500.0 47 472500.0 5037000.0 44 472500.0 5038500.0 28 472500.0 5107500.0 4 472500.0 5109000.0 7 472500.0 5110500.0 13 und das dann eben 786789 Zeilen lang... Habe es mit dem load from File im AS Fenster pop up probiert als array data = new Array("418000.0","5128000.0","-2", "418000.0","5128500.0","-1", "418000.0","5129000.0","-3", "418000.0","5129500.0","-1", "418000.0","5130000.0","-2", "418000.0","5130500.0","-1", "418000.0","5131000.0","-1", "418000.0","5131500.0","0", etc da copy/paste immer sofort zu Fehler in der Anwendung geführt hat, aber das laden ist dann nach ca 1h auch abgeraucht. Wenn unbedingt nötig kann ich die Höhendaten sonst auch weiter runter interpolieren was natürlich ein immer unpräziseres Ergebnis bedeutet. Am liebsten hätte ich die vollen 598 MB von der NASA. Das bisher unerwähnte Konkurenz Produkt (c++) kommt zB. mit einer 3 MB grossen Höhendatei (glaube als geotiff, ASCII ist natürlich grösser) aus. Das wären dann ca. 120000 Zeilen. vielen Dank im vorraus zillion Geändert von zillion42 (22-08-2005 um 04:07 Uhr) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Oct 2004
Beiträge: 65
|
Na dann nochmal zwei klar gestellte Fragen: 1. Wie kann ich am besten mit solchen Datenmengen in Flash umgehen ohne mich dabei mit php und MySQL auseinadersetzen zu müssen. 2. Wenn die 3 mal 3/4 Millionen Einträge zuviel sind, wie hoch ist das Maximum ? freue mich natürlich immer über Vorschläge zillion |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Oct 2004
Beiträge: 65
|
hgseib ich schätze ja deinen guten rat, wenn er denn kommt... Aber dein "Optimismus" ist echt umwerfend... Ist doch fast fertig, ich brauch ja nur noch ein bissl Höhenkarten implementieren und dafür eben eure hilfe. Wenn du die WGS84 zu UTM Formel gesehen hättest oder die die Kurs Trigonometrie hätte es dir wahrscheinlich auch schon gereicht. Und bevor ich jetzt zu weit gehe frag ich nun nochmal alle anderen die Erfahrung mit grossen Datenmengen haben... 1. Wie gross können Datenbanken als Array maximal nach eurer geschätzten Erfahrung ? 2. Wie sonst am besten ? (objekt, xml-objekt oder MySQL und php) 3. Wer hat den graham scan algorithmus in AS ? nochmals danke Zillion |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Oct 2004
Beiträge: 65
|
Ich habe die Höhenkarte integriert... ![]() www.virtual-jabog32.de/atc/ATC_100.swf Eine Frage habe ich zu LineTo und extremen zoomstufen... die LineTo's zappeln immer so... Kann mir einer sagen ob ich das ändern kann ? |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Oct 2004
Beiträge: 65
|
Wenns einen interessiert... Damals hatte ich die Höhendaten als Array im Quelltext, das ging auch, nur nich so performant. Das sah dann so aus, dass ich ein regelmässiges Array hatte, in welchem alle 522 Zeilen ein neues UTM Easting (270 m Raster) begann und das Array selbst bestand nur aus Höhen Integers. Wenn ich eine bestimmte Koordinate nachschauen wollte habe ich mir zuerst berechnet welche Zeile das im Array ist und dann die Höhe aus dem Array gezogen. PHP-Code: PHP-Code: Inzwischen habe ich ein 2880x1666 pixel grosses DEM Bild in welchem ich per getPixel() aus ROT,GRÜN,BLAU einen Hue errechne und diesen in eine Höhe umsetze. Das DEM Bild hat dafür einen Regenbogen Verlauf (HSV-Shader, Microdem, GlobalMapper etc.) PHP-Code: PHP-Code: Geändert von zillion42 (28-05-2006 um 19:39 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |