Autor |
Beitrag |
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Do 13.11.14 13:44
-Hallo,
aus gegebenen Anlass, d.h. der sensationellen Landung von Philae auf dem Kometen Tschurjumow-Gerassimenko , fragt man sich vielleicht, wo sich der Komet im Verhältnis zur Erde gerade befindet.
Das kleine Programm stellt für ein eingegebenes Datum die Orte der Planeten, ausgewählter Kleinplaneten, Kometen und Planetoiden dar.
Möchte jemand das Programm um seinen Lieblingskometen oder -planetoiden erweitern , so muss er nur in der Liste (auf dem Formular) die Werte ergänzen und neu kompilieren.
Die Einträge sind:
Zitat: | Name des Objektes
Länge des Perihels in °
große Halbachse in AE
numerische Exzentrizität
letzter Durchgang im Perihel
Umlaufzeit in a
|
Allerdings wird die Bahnneigung nicht berücksichtigt.
Beste Grüße
Mathematiker
Edit 1: Die Farben ändern sich nicht mehr nachträglich.
Edit 2: Horst_Hs Verbesserungen eingebaut und Objektliste erweitert.
Edit 3: Überlauf der Jahreszahlen bei Encodedate korrigiert.
Einloggen, um Attachments anzusehen!
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Zuletzt bearbeitet von Mathematiker am Mo 17.11.14 22:21, insgesamt 4-mal bearbeitet
Für diesen Beitrag haben gedankt: Narses, Sinspin, Tastaro
|
|
Sinspin
Beiträge: 1330
Erhaltene Danke: 118
Win 10
RIO, CE, Lazarus
|
Verfasst: Do 13.11.14 16:59
Das ist ja malwieder geil, vielen Dank.
Hatte gestern schon an Dich gedacht und überlegt ob ich mal Frage wie sich die Gummiente visualisieren lässt.
€: Was aber schon bei der vorgen Version ordentlich genervt hat ist, dass sich mit jedem Objekt das ich an- oder ausknipse die Farben von allen ändern. Ich habe zwar zwei Augen, aber das heißt nicht das ich mit dem linken die ganze zeit die Karte im Auge behalte und mitbekommen wo die Bahn hinzugekommen ist. Ich blicke nach dem Anlicken zurück und wundere mich das die Dinger alle ihr Bahn geändert haben.
Ich bin sicher Du bekommst das schöner hin.
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
Für diesen Beitrag haben gedankt: Mathematiker
|
|
Tastaro
Beiträge: 414
Erhaltene Danke: 23
|
Verfasst: Do 13.11.14 17:06
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Do 13.11.14 17:20
Hallo Sinspin,
Sinspin hat folgendes geschrieben : | Das ist ja malwieder geil, vielen Dank. |
Danke für das Lob.
Sinspin hat folgendes geschrieben : | Was aber schon bei der vorgen Version ordentlich genervt hat ist, dass sich mit jedem Objekt das ich an- oder ausknipse die Farben von allen ändern. ... |
Du hast Recht, das nervt. Ich habe es geändert.
Die Farben werden jetzt aus der Nummer des Objektes in der Liste ermittelt. Damit ändert es sich nicht mehr.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Sinspin
Beiträge: 1330
Erhaltene Danke: 118
Win 10
RIO, CE, Lazarus
|
Verfasst: Do 13.11.14 17:36
Was für eine Reaktion! Noch keine 20 Minuten vergangen und schon geändert!
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
Ralf Kaiser
Hält's aus hier
Beiträge: 9
Erhaltene Danke: 3
Delphi XE2
|
Verfasst: Do 13.11.14 20:16
Hallo,
In diesem Zusammenhang:
Delphi hatte schon einmal etwas mit der Rosetta-Mission zu tn:
community.embarcader...-the-solar-system-36
Ciao,
Ralf
Für diesen Beitrag haben gedankt: Mathematiker
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Do 13.11.14 20:24
Hallo,
Danke. Das ist für mich eine völlig unerwartete Information.
Voller Vergnügen werde ich in den nächsten Tagen meinen "Lieblingen", die mir oft mit "Delphi? Och nee, warum müssen wir das machen?" kommen, dies mitteilen.
Beste Grüße
Mathematiker
Nachtrag: Ich habe einmal etwas gegoogelt.
Rosetta startete am 2.März 2004. Da gab es noch kein Delphi 2005 usw. D.h., es wurde noch Delphi 7 oder früher verwendet. Das macht es noch schöner.
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Sa 15.11.14 17:06
Hallo,
weil die CPU-Belastung unter Linux/Lazarus so hoch war, habe ich das Programm modifiziert.Es ist ja auch ursprünglich wohl von 2002.
Es werden ja die statischen Orbitalbahnen ständig neu gezeichnet, was ja nicht sein muss.
Durch die Verwendung von decodeDate geht es nur bis zum Jahr 65535 und Einstellen kann man nur von 1..9999.
Maximales deltaT = 4*365,25= 1461 Tage. Dadurch wandert die Erde extrem langsam und man kann Sedna bei 107 AE sich bewegen ansehen.
Die Belastung ist unter Windows, egal ob Lazarus oder Turbo Delphi, minimal = 0% im Taskmanager.
Gruß Horst
Einloggen, um Attachments anzusehen!
Für diesen Beitrag haben gedankt: Mathematiker
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Sa 15.11.14 17:21
Hallo Horst,
Horst_H hat folgendes geschrieben : | ... habe ich das Programm modifiziert. ... |
Und zwar deutlich verbessert. Danke. Auf die Idee, die Bahnen nur einmal zu zeichnen, hätte ich auch kommen können. Bin es aber nicht.
Horst_H hat folgendes geschrieben : | Durch die Verwendung von decodeDate geht es nur bis zum Jahr 65535 und Einstellen kann man nur von 1..9999. |
Auch das ist ein wesentliche Verbesserung. Sedna bewegt sich sonst wirklich ziemlich langsam.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mo 17.11.14 21:06
Hallo,
im ersten Beitrag habe ich die von Horst_H vorgenommenen, sehr guten Verbesserungen eingebaut und ein paar kleine Anpassungen durchgeführt.
Die Objektliste ist erweitert. Außerdem habe ich die Bahnparameter auf die aktuellen, von ssd.jpl.nasa.gov/sbdb.cgi#top angegebenen geändert.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Für diesen Beitrag haben gedankt: Horst_H
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Mo 17.11.14 21:33
Hallo,
wow ist das jetzt schnell unter Linux/wine.
Irgendwie muss man nach die Zeit in den Griff bekommen.Bei 4 Jahren/ Zeitschritt ist man schnell über die 10000 Jahrmarke hinweg und bei jeder Größenänderung gibt es Mecker, weil encodedate nur bis zum Jahr 9999 funktioniert.
Vielleicht sollte man die Jahre selbst verwalten. Date/ Datum auf Jahr 1.1.1600..31.12.2199 ( 0 geht ja nicht ) normieren, um die Schaltjahre richtig zu haben, und die Differenz zum wirklichen Jahr separat verwalten.Sozusagen 400 Jahres Segmente mit TdateTime Offset.
Gruß Horst
Für diesen Beitrag haben gedankt: Mathematiker
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mo 17.11.14 22:30
Hallo,
Horst_H hat folgendes geschrieben : | Bei 4 Jahren/ Zeitschritt ist man schnell über die 10000 Jahrmarke hinweg und bei jeder Größenänderung gibt es Mecker, weil encodedate nur bis zum Jahr 9999 funktioniert. |
Ich habe es korrigiert, in dem ich Encodedate in der Version 3 herausgenommen habe; mit einem Rückgriff auf das Julianische Datum und meiner Methode kalende1, die entsprechend der Monate korrekt das Datum ändert.
Da das Julianische Datum ebenso wie TDatetime je Tag um 1 vor- bzw. zurückzählt, bestimme ich FDatum durch Addition der Differenz von Julianischem Datum der eingebenen Zeit und dem JD von heute.
Delphi-Quelltext 1: 2: 3: 4:
| FJuldat := JulDat(FYear, FMonth, FDay); decodedate(now,_year,_month,_day); _Juldat := JulDat(_Year, _Month, _Day); FDatum := now+FJuldat-_Juldat; |
Funktioniert perfekt. Man kann sogar zu negativen Jahreszahlen zurückgehen.
Allerdings! Dies ist eine programmtechnische Lösung. Mit der Realität hat dies wenig zu tun. Zur Berechnung von Planetenpositionen, mit mehr als 100 Jahren Abweichung von heute, braucht man andere Algorithmen. Bei den Planetoiden ist es noch schlimmer. Die Kometenbahnen ändern sich oft schon nach einem Umlauf.
Aber das Programm stürzt nicht mehr ab. Das ist schon etwas.
Ich werde vielleicht das Timerintervall von 10 ms auf 20 ms hochsetzen. Mir läuft es jetzt schon fast zu schnell ab.
Über das Hinzufügen des Planetoiden Kerstin in die Objektliste hat sich meine Frau gefreut.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 18.11.14 15:11
Das Datum kann man schnell ändern mit einer TrackBar.
Beispiel:
Mit TrackBar1.Min:= -150000; // -150000 = 23.04.1489
und
TrackBar1.Max:= 150000; // 150000 = 7.9.2310
kann man 820 Jahre abdecken.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm2.FormCreate(Sender: TObject); begin TrackBar1.Min:= -150000; TrackBar1.Max:= 150000; TrackBar1.position:= TrackBar1.Max; Label1.Caption:= DateTimeToStr(now); TrackBar1Change(Self); end;
procedure TForm2.TrackBar1Change(Sender: TObject); var ext : Extended; begin ext:= StrToFloat(IntToStr(TrackBar1.Position) +',000000000'); Label3.Caption:= DateToStr(ext); Label2.Caption:= FloatToStr(ext); end; |
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Di 18.11.14 15:22
Hallo,
ich möchte nicht 3E5 mal die Taste drücken.Präzise ein Datum zu treffen fällt sehr schwer.
Die drei Edit-Felder sind für genaue Eingaben besser geeignet.Wie stelle ich den 15.08.4711 ein ?
Gruß Horst
|
|
Kawa
Beiträge: 45
Erhaltene Danke: 1
|
Verfasst: Sa 22.11.14 01:11
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Do 27.11.14 10:50
Mathematiker hat folgendes geschrieben : | werde ich in den nächsten Tagen meinen "Lieblingen", die mir oft mit "Delphi? Och nee, warum müssen wir das machen?" kommen, dies mitteilen. |
Das bedeutet vermutlich, daß Ihr Informatiklehrer in Sachsen (noch?) die Freiheit habt, die Entwicklungsumgebung selbst wählen zu dürfen, nicht wahr?
Der tendenziell-generelle Bevormundungswahn der Kultusministerialbürokratien wird aber auch diesen Zustand nicht ewig währen lassen, fürchte ich. Das Mißtrauen gegen die eigene, angestellte Klientel und die Hybris, sich selbst als die eigentlichen Problemerkenner und -löser zu halten, führt dazu.
Davon abgesehen, wären auch bei mir Delphi und Lazarus meine Wahl. Mit dem MS Visual Studio wurde ich bis heute nicht warm, nicht mal lauwarm.
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: So 14.06.15 23:31
Hallo,
aus gegebenen Anlass, Philae ist nach 7 Monaten auf dem Kometen Tschurjumow-Gerasimenko wieder erwacht,
siehe www.dlr.de/dlr/deskt...13900/#/gallery/2563
kann man sich ja in diesem kleinen Programm ansehen, wo sich der Komet und damit die Sonde im Moment befindet. Bis zum Perihel ist es nicht mehr weit.
Schön ist nur, dass die ganzen Spötter und Schwarzseher, die den Untergang der Sonde und damit die "sinnlose" Vernichtung von extrem viel Geld herbeiredeten, wahrscheinlich sogar ersehnten, nicht recht haben.
Der Supererfolg der ESA geht weiter. Und am 12.Juli folgt die nächste Sensation. Dann fliegt "New Horizons" am Pluto vorbei.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
|