3D-Karte unserer Milchstraße

Bernhard

Registriertes Mitglied
Also ich bin kein großer Fan davon Daten direkt in das Programm hart zu kodieren.
Ich eigentlich auch nicht, aber der Zweck (Geschwindigkeit beim Laden) würde bei mir in diesem Fall die Mittel durchaus rechtfertigen. Aber keine Sorge. Ich will das nicht erzwingen und momentan liegt der zugehörige Code quasi auch nur als Kommentar vor.

Unser Install liegt momentan bei 10 MBytes mit hyg.csv, das ist denke ich noch absolut vertretbar:)
Das Thema hyg.csv sehe ich schon etwas verbissener. Bei Cartes Du Ciel gehört zur Minimalausstattung bereits der Hip-Katalog. Da fühle ich mich bei einer Präsentation des hyg.csv in der Öffentlichkeit irgendwie nackt. Wenn man die Sternkarte maximal vergrößert sieht man auch recht deutlich den Unterschied. D.h. jeder Amateurastronom mit relativ einfachen optischen Hilfsmitteln wird über den hyg.csv doch eher ein wenig lächeln.
Viele Grüße, Bernhard
 

pmvstrm

Registriertes Mitglied
Hört sich spannend an. Klingt aber auch nach Aufgaben, die auf verschiedene Arten gelöst werden können.

Ja wie immer. Bevor es OpenMP gab musste man wirklich alles auf die harte Tour selbst machen.OpenMP ist halt der erste,
ernst zu nehmende Ansatz die Herrausforderungen der Parallelprogrammierung anzugehen. Sogar der MS Visual C/C++
Compiler unterstützt OpenMP Version 2.0 (aktuell ist 3.1), der Gnu GCC unterstützt OpenMP sowieso. Aber der derzeit
fortschrittlichste C/C++ ist wohl der Intel 12 C/C++ Compiler der sich in Visual Studio 2008/2010 reinklingt.Allerdings
übernimmt Intel dann wiederum keine Gewähr ob die Kompilate dann auf AMD Prozessoren laufen. Am besten bleiben
wir bei OpenMP, das kann man ja ganz einfach mit <omp.h> einbinden.

Und dann kann man mit pragma makros arbeiten z.B so:

int main(int argc, char* argv[])
{
#pragma omp parallel
printf("Hallo Welt!\n");

return 0;
}

Das zeigt zwar wie es geht, es ist aber leider zu nichts nutze.
Sinnvoll wird es dann, wenn z.B ein Prozess eine Textdatei von oben und einer anfängt von unten zu lesen (wenn mehrere CPU's da sind
kann man die Arbeitspakete immer noch weiter auf die CPU's austeilen).

Gruß, Peter
 
Zuletzt bearbeitet:

pmvstrm

Registriertes Mitglied
Guten Morgen Bernhard,

Ich habe gesehen das Du einige Commits vorgenommen hast, kannst Du kurz sagen was Du da, schönes, neues eingebaut hast?`

ps:
Sebix. Bist Du noch beim Projekt dabei (Du hattest ja die Aufgabe mit QTLinguist übernommen wenn ich mich nicht irre?) oder bist
Du anderweitig zu stark eingebunden?

Gruß, Peter
 

Bernhard

Registriertes Mitglied
kannst Du kurz sagen was Du da, schönes, neues eingebaut hast?
Guten Morgen Peter,

am Wochenende gab es von meiner Seite nur kosmetische Änderungen. Der letzte Commit betraf eine erweiterte Kommentarzeile. Bei den Commits davor habe ich die Tabulatorreihenfolge geschönt.

Zusätzlich habe ich mal eine Face-On-3D-View auf die Milchstrasse berechnet und angesehen. Das Ergebnis war aber eher ernüchternd, weil es von der Ansicht eines Kugelsternhaufens nicht zu unterscheiden war. Von Spiralarmen und dergleichen keine Spur. Vermutlich braucht man für solche Details noch wesentlich umgangreichere Kataloge als den HIP. Bei Interesse gebe ich gerne die Einstellungen für diese Ansicht weiter.

Sebix. Bist Du noch beim Projekt dabei
Wir können jetzt auch auf UTF-8 umsteigen. Im Menüpunkt "Bearbeiten/Encoding auswählen..." kann man auch unter Windows den Zeichensatz auf UTF-8 u.a. umstellen.
Viele Grüße
 

pmvstrm

Registriertes Mitglied
@Bernhard

Ach so. Ok, dann steigen wir mal voll auf UTF8, dann sind wir auf der sicheren Seite (partiell waren wir es ja ohnehin schon).
Was meinst Du, sollten wir jetzt die Kommentare durchgängige in English hinterlegen und mit QTLinguist mal die English Spachdatei
beipacken? Mit QTLinguist kann man ja ein vorhandenes Projekt um die Mehrsprachigkeit erweitern. Vorhandene Beschreibungen
werden dann z.B Deutsch zugeordnet und wenn ein Benutzer im Datei Menü English anklickt, wird das Programm sofort auf
Englisch umgestellt.Man könnte auch beim Start ermitteln welche Sprache der Benutzer verwendet und die entsprechende
QM Datei (die alle Texte in binärer Form enthält) direkt laden.QM Dateien werden aus TS Dateien generiert die man zuvor mit
dem QTLinguist erstellt.

Gru, Peter
 

Bernhard

Registriertes Mitglied
Hallo Peter,

dann steigen wir mal voll auf UTF8, dann sind wir auf der sicheren Seite (partiell waren wir es ja ohnehin schon).
Machst Du das dann?

Was meinst Du, sollten wir jetzt die Kommentare durchgängige in English hinterlegen und mit QTLinguist mal die English Spachdatei
beipacken?
Gerne. Bei der Übersetzung der Kommentare kann ich mich beteiligen.

Mit QTLinguist kann man ja ein vorhandenes Projekt um die Mehrsprachigkeit erweitern.
Damit kenne ich mich nicht aus. Wäre nett, wenn Du das machen würdest, da ich bis zum Ende Jahres noch ziemlich vollgepackt bin mit Arbeit.
Viele Grüße
 
Zuletzt bearbeitet:

pmvstrm

Registriertes Mitglied
Ok, dann machst Du die Comments und UTF8 (wo Du kannst) und ich setze mich mit QTLinguist auseinander:)

Gruß, Peter
 

Bernhard

Registriertes Mitglied
Ok, dann machst Du die Comments und UTF8 (wo Du kannst)
Der Qt Creator kann die Konvertierung nach UTF-8 machen. Wenn mir nichts dazwischen kommt, committe ich das heute abend (sagen wir mal spätestens bis 22:00). Zu den Kommentaren sollte man am besten den gesamten Code inklusive Benamung der Klassen, Methoden usw. übersetzen, damit alles einheitlich bleibt. Das ist dann eine Aufgabe, die für mich nur noch verteilt über mehrere Tage machbar ist.
Gruß
 

pmvstrm

Registriertes Mitglied
Jo, Du kannst comitten wann Du magst. Ich hole mir ja immer die letzten Änderungen und achte beim einchecken darauf das es keine Konflikte gibt,
da gibt es eigentlich keine Probleme:) Derartige Dinge müssen ja sowieso geklärt sein, da ich denke, dass wenn wir ein internationales Projekt werden
auch mehr interessierte Entwickler erreichen die vielleicht etwas beitragen möchten.


Grüße, Peter
 

Bernhard

Registriertes Mitglied
Hi Peter,

soweit ich es gesehen habe, musste nur noch die Datei mainwindow.cpp im Zeichensatz nach utf-8 konvertiert werden. Ich habe die Konvertierung dann doch mit iconv in einer Linux-Konsole gemacht, weil der Qt Creator das nicht machen konnte.
Gruß
 

Bernhard

Registriertes Mitglied
Hallo Peter,

ich habe schon mal mit der Übersetzung des Codes angefangen und dabei auch die deutschen Dateinamen entfernt. Dieser etwas tiefergreifende Umbau des Projektes erfordert ein paar Extra-Maßnahmen, um wieder alles sauber zu bekommen. Generell dazu die folgenden Empfehlungen (auch als Dokumentation gedacht):

1.) Mit Synchronize Änderungen holen
2.) .user-Datei löschen
3.) Alle automatisch generierten Dateien löschen: ui_*.h
4.) .pro-Datei mit Qt Creator öffnen.
5.) Im Menü "Erstellen/Alles bereinigen" wählen
6.) Abschließend im Menü "Erstellen/Alles neu erstellen" wählen

Ich hoffe, dass man dann das Projekt wieder normal komplilieren kann.
Have fun...
Viele Grüße
 

pmvstrm

Registriertes Mitglied
Hi Bernhard,
Ich werde das später mal ausprobieren aber wenn es bei Dir klappt sollte es keine Probleme geben. Ich habe übrigens gerade eine kompilierte Version
auf Windows 8 Developer Preview getestet. Das Programm läuft zwar, aber wir müssen wohl die MS VC++ Redist DLL beipacken für die 64-Bit Version.

ps:
Windows 8 wird ja wohl der totale Unfug. Die wollen bei der Installation das Du deine Windows Benutzer über MSN speicherst (kann man Gott lob
aber umgehen) aber der Höhepunkt ist, dass die jetzt wollen das Du den Monitor als Touchdisplay benutzen und mit den Fingern statt der
Maus auf dem Bildschirn rumschmieren sollst:mad: Selten so etwas blödes von denen gesehen.Die .NET Freunde bekommen auch noch gleich
ihr Fett weg. Die haben eine komplett neues GUI-System eingeführt (METRO). Die Windows Programme von Visual Studio 2011 sehen damit so aus
wie die Appz auf diesen neumodischen Handy (die man dann per Touch/Finger bedienen soll). MFC habe ich unter der Rubrik C/C++ Projekt
überhaupt nicht mehr gesehen (MFC wird wohl zukünftig nicht mehr unterstützt). Naja, ist mir egal, wir schaffen ja mit QT und da kann
es uns egal sein:)

Gruß, Peter
 
Zuletzt bearbeitet:

Bernhard

Registriertes Mitglied
Hi Peter,

zu Windows 8: Wenn die Gestaltung der Fensterrahmen, Zoomeffekte, Hintergrundbilder und Spiele bei einem OS wichtiger werden als die Funktionalität hat man als Entwickler im Prinzip natürlich erst mal ausgespielt :rolleyes: .

Es gibt aber auch Erfreuliches: Unser Progrämmchen kann jetzt auch den Tycho-Katalog laden und anzeigen. Der volle Zoom "macht jetzt echt was her" :cool: . Das Design des Codes ist aber noch nicht ganz fertig, weil Sterne ohne Entfernungsangabe nicht angezeigt werden, was z.B. beim Gürtel des Orion zu einer "Auffälligkeit" führt. Ich habe nochmal zwei Dateien umbenannt (bright_stars.* -> star.*) und die zugehörige Klasse ebenfalls von CBrightStar nach CStar umbenannt und freue mich sehr über die interessante Weiterentwicklung des Programms.

Bei der Übersetzung der Kommentare fehlen (nur) noch die Slots, die Menüeinträge und die Dialoge (*.ui-Dateien).
Viele Grüße
 

pmvstrm

Registriertes Mitglied
Hallo Bernhard
Wie kann man sich denn den Tychokatalog anschauen? Ich sehe beim Programmaufruf immer nur die Daten aus hyg.csv.

Ich habe jetzt zwei Sprachdateien für Deutsch und US-English inzugefügt *.ts (Translation Sorucefile XML und *.qm (binär kompilierte Sprachedatei) Files. Die müssen immer im Arbeitsordner der Exe liegen Innerhalb des QTCreators musst Du Dich nicht drum kümmern, sie werden übers repo mit ausgecheckt, du kannst also nach wie vor auf Kompile/Run klicken und es läuft wie sonst auch.Die Entscheidung welche Sprache geladen wird, hängt von der Systemspracheinstellung. Wenn etwas fehlt oder
eine QM Dateix nicht gefunden werden kann, kommen die alten (aus dem GUI Designer) hinterlegten Einstellungen zum Vorschein. Die TS und QM Dateien
sollten unbedingt im Repo bleiben, denn diese müssen periodisch aktualisiert werden. Sobald mal wieder ein Schwung neuer Funktionen im Programm
lokalisiert werden müssen, muss man die TS Dateien aktualisieren und daraus dann die QM Files erstellen (beides geschieht mit dem QT Linguist).
Das auslesen unseres Projekts und die eigentliche Aktualisierung passiert jedoch auf der Befehlszeile mit dem lupdate Befehl.

ps:
Ich habe die uralten Setups gelöscht und ein aktuelles Setup (Stand 08.12.2012 11.30 Uhr) hochgestellt.
Am 23 werde ich dann pünktlich zu Heiligabend auch die Linux, Mac und Windows Version jeweils in 32 und 64 Bit
hochstellen.

ps2:
Ich habe gerade festgestellt, daß unter Vista und Win7 die Config.xml NICHT im Programmordner sondern woanders landet
sobald sie vom Programm erstellt wird!
Die landet dann dort:
C:\Users\pmvstrm\AppData\Local\VirtualStore\Program Files (x86)\Astronews\My3DScWin32

Aber das Programm hat damit keine Probleme und findet die Einstellungen dennoch. Muss was mit dieser Windows UAC zu
tun haben.Aber egal,so lange es läuft soll es mir recht sein.


Gruß, Peter
 
Zuletzt bearbeitet:

Bernhard

Registriertes Mitglied
Hallo Peter,

Wie kann man sich denn den Tychokatalog anschauen? Ich sehe beim Programmaufruf immer nur die Daten aus hyg.csv.

man muss dazu die Dateien hip_main.dat, bzw. tyc_main.dat vom FTP-Server der ESO (s.a. Download-Seite unseres Projekts für die Adresse) in das Arbeitsverzeichnis des Programms kopieren. Dabei ist zu beachten, dass die Debug-Version ihr Arbeitsverzeichnis im darüberliegenden Verzeichnis hat. Das Programm selbst lädt dann immer den größten Katalog. Wenn sich im Arbeitsverzeichnis also der hyg.csv und der tyc_main.dat befindet, wird der Tycho-Katalog geladen.

Ich habe die uralten Setups gelöscht und ein aktuelles Setup (Stand 08.12.2012 11.30 Uhr) hochgestellt.
Am 23 werde ich dann pünktlich zu Heiligabend auch die Linux, Mac und Windows Version jeweils in 32 und 64 Bit
hochstellen.
Prima.
 

pmvstrm

Registriertes Mitglied
Hi Bernhard,

Derzeit wird ja nur die hyg.csv im Installer mitgeliefert (sonst würde man ja gar nichts sehen) beim Programmaufruf.
Vielleicht sollten wir dem Anwender sagen, dass es noch mehr Kataloge gibt die man laden kann. Hast Du eigentlich
noch mehr Kataloge im Auge und wenn ja können die sich ändern (aktualisiert werden)?:)

Gruß, Peter
 
Zuletzt bearbeitet:

Bernhard

Registriertes Mitglied
Hallo Peter,

Vielleicht sollten wir dem Anwender sagen, dass es noch mehr Kataloge gibt die man laden kann.
das steht z.T. schon in der ReadMe, bzw. ReadMe_de-Datei. Bezüglich des Tycho-Katalogs mache ich dann noch eine Aktualisierung dieser zwei Dateien.

Hast Du eigentlich noch mehr Kataloge im Auge und wenn ja können die sich ändern (aktualisiert werden)?:)
An den Dateien hip_main.dat und tyc_main.dat wird sich nichts mehr ändern, weil das Daten von einem abgeschlossenen Projekt (HIPPARCOS) sind. Darüberhinaus gibt es noch den Hubble Guide Star Catalogue (bis 15 Magnituden) und den USNO-Katalog (bis 20 Magnituden). Diese Kataloge sollten wir aber erst dann berücksichtigen, wenn die Kartendarstellung komplett aus Cartes Du Ciel übernommen wurde.
Viele Grüße
 

Runzelrübe

Registriertes Mitglied
Was haltet ihr von dem Vorschlag, Daten aus den Katalogen in einen Prozess auszulagern, der über eine Pipe angesprochen wird? Ihr könntet x-beliebige Kataloge über Plugins zulassen, ohne den Client überhaupt anpassen zu müssen.

http://msdn.microsoft.com/en-us/lib...365574(v=VS.85).aspx#base.using_pipes_for_ipc

Key Point: Anonymous pipes provide an efficient way to redirect standard input or output to child processes on the same computer. Named pipes provide a simple programming interface for transferring data between two processes, whether they reside on the same computer or over a network. For more information, see Pipes.

Somit wärt ihr zum Einen gezwungen, die Daten, die Änderungen unterliegen, so bereitzustellen, dass sie einem festen Schema für den Client folgen. Zum Zweiten könnten Änderungen an den Daten durch den Katalogprozess selbst aktualisiert und auch andere freie Kataloge angebunden werden.
 

Bernhard

Registriertes Mitglied
Hallo Peter,

BTW: Du hast auf der Download-Seite die Datei hip_main.dat.my3dsc eingefügt. Damit haben wir den HIP-Katalog dann eventuell doppelt im Downloadbereich. Soll ich die gezippte Version rausnehmen?

Wie gefallen Dir die blauen Sternbildlinien? Bei einigen Sternbildern habe ich von Cartes Du Ciel abweichende, d.h. eigene Linien eingebaut, damit man die Sternbilder besser erkennen kann: Löwe, Großer Bär, Großer Hund, Hase.
Gruß
 
Oben