Koordinaten auf Ebene projezieren
Ich möchte eine grafische Übersicht von GPS Satelliten realisieren.
Von den Satelliten sind Azimuth und Elevation, sprich die Grad wo der Satellit derzeit am Himmel steht bekannt. Diese sollen jetzt in einem Kreis (=Himmel) eingetragen werden. Wie kann ich die Gradpositionen in einen Koordinatensystempunkt umwandeln, so dass folgendes dargestellt werden kann? http://www.wolfgang-back.com/Bilder/...satelliten.jpg |
Re: Koordinaten auf Ebene projezieren
*die verstaubten astronomischen Kenntnisse auskram*
Reicht es nicht wenn du den Azimuth einfach linear vom Mittelpunkt weg abträgst und die Elevation linear als Winkel an diesem Mittelpuntk anträgst? Ansonsten musst du halt den Cosinus des Azimuth nehmen, der drüfter dann stimmen. |
Re: Koordinaten auf Ebene projezieren
ok und hast du vielleicht ein Beispiel dafür, wie das dann mit den Canvas Funktionen realisierbar ist?
|
Re: Koordinaten auf Ebene projezieren
Du brauchst erst mal die unit math einbinden.
Dann musst du ein Timage(oder etwas anderes auf dem du einen Canvas machen kannst erstellen) Dann musst du dir folgendes klar machen. ein punkt auf den du mit canvas zeichnest ist relativ zum Nullpunkt des Images. Allerdings ist der punkt (0|0) in der oberen linken ecke. wenn du also einen zentrierten Nullpunkt haben willst musst du jede koordinate um die hälfte der Imagebreite und um die Hälfte der Image höhe verschieben. X:=X+Image1.Width/2; Y:=Y+Image1.Width/2; ICh hab zwar keine Ahnung von Astronomie aber. Wenn du dich als Mittelpunkt haben willst brauchst du dann nicht einfach nur den winkel des satelliten relativ zu dir zu wissen und die entfernung des satelliten? Eine 3. Dimension kannst du auf einem 2D Canvas nicht einzeichnen. Du könntest die 3. Koordinate lediglich als TextOut angeben. Ähnlich beim flugzeugradar. Du siehst das object und neben dem object steht die höhe, bzw bei dir der vertiale Winkel. Gruß snow |
Re: Koordinaten auf Ebene projezieren
Die befehle für einen Kreis lauten
canvas.Ellipse(X1,Y1,X2,Y2); //X1,X2,Y1,Y2 sind die punkte des rechteckes in das die ellipse gezeichnet wird. Kreise sind Quadrate. canvas.textout(X,Y,string); Mit canvas.brush.color kannste die farbe ändern. Der rest ist Mathematik. Gruß Snow |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz