Positionen auf einer Uhr/Kreis



  • Moin,

    ich wollte einen Bildschirmschoner programmieren, auf dem
    eine "analoge" Uhr zu sehen ist, welche die aktuelle Zeit anzeigt.

    Ich wollte 12 Striche senkrecht zum Kreis zeichnen, welche einen gleichmäßigen
    Abstand haben (wie halt bei einer Uhr üblich 🙂 ).
    Die Striche für 12, 3, 6 und 9 Uhr sind leicht zu positionieren.
    Jedoch weiß ich nicht, wie ich die x/y-Position für die anderen Zeitstriche
    berechnen kann.

    Der Kreis(die Uhr) hat den Radius r und den Mittelpunkt M
    auf der x/y-Position (h|j).
    Der Bogen zwischen 12 Uhr und 3 Uhr (Winkel a = 90°) muss also
    r * (PI * a) / 180°
    lang sein.
    Also muss 1 Uhr am Ende des 1. Drittels dieser Strecke sein.
    Aber wie kann ich nun die x/y-Position dieses Punktes errechnen?
    Danke für eure Hilfe.



  • Zwischen 12 und 1 Uhr hast du einen Winkel von 30° und die 12 ist ganz oben. Also erhälst du, wenn du dir ein rechtwinkliges Dreieck mit 12, 1 und 3 zeichnest, für 1 Uhr die Koordinaten (cos30°|sin30°). Analog bei den anderen Winkeln.



  • Zwichen 12, 1 und 3 ein rechtwinkliges Dreieck?
    Tut mir leid, aber ich weiß grad nicht genau, was du damit meinst.



  • Jo, ist nicht ganz genau beschrieben, war zu faul 😉

    12 Uhr
       |     1 Uhr
       |    /|
       |30°/ | 2 Uhr
       |  /  |
       | /   |
       |/60° |
       +-----+    3 Uhr
    

    Rechts unten ist ein rechter Winkel. Links unten sind 60°, oben 30°. Die Hypotenuse hat die Länge 1. Also ist die waagerechte Seite 1 * cos60° bzw. 1 * sin30° lang, die senkrechte 1 * sin60° bzw. 1 * cos30°.



  • Um genau zu sein hat die Hypothenuse die Länge r, also sind die Koordinaten (r*cos30°|r*sin30°) 😉



  • ja, danke 😉
    Funktioniert jetzt prima!


Anmelden zum Antworten