Veröffentlicht 28. August 200816 j Hallo, ich hoffe, ihr könnt mir helfen... :confused: In der Berufsschule sollten wir eine Analoguhr in einer Windows-Anwendung programmieren. Eine Digitaluhr im Textfeld habe ich schon programmiert. Dann habe ich die Analoguhr "gezeichnet". Nun möchte ich, dass sich die Zeiger von links nach rechts bewegen. Nur ich weiß nicht, wie das geht... Der Lehrer ist echt unmöglich, der will uns nie zeigen, wie das geht... :upps Hier folgender Code: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Analoguhr { public partial class Form1 : Form { DateTime zeit; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { zeit = DateTime.Now; } private void timer1_Tick(object sender, EventArgs e) { zeit = DateTime.Now; textBox1.Text = zeit.Hour.ToString() + ":" + zeit.Minute.ToString() + ":" + zeit.Second.ToString(); // Kreis zeichnen Graphics g = CreateGraphics(); g.DrawEllipse(Pens.Black, 100, 75, 200, 200); // Mittelpunkt zeichnen Bitmap bm = new Bitmap(500, 500); bm.SetPixel(200, 175, Color.Black); g.DrawImage(bm, 0, 0); // großer Zeiger Point P1 = new Point(200, 75); Point Mittelpunkt = new Point(200, 175); g.DrawLine(Pens.Black, Mittelpunkt, P1); // kleiner Zeiger Point P2 = new Point(280, 175); g.DrawLine(Pens.Black, Mittelpunkt, P2); // Sekundenzeiger Point P3 = new Point(150, 260); g.DrawLine(Pens.Red, Mittelpunkt, P3); } } } Für eure Hilfe bin ich sehr dankbar!
28. August 200816 j x = sinus(winkel) y = cosinus(winkel) 0 entspricht der 12 Dann einfach 360/60 * [sekunden|Minuten] * (PI/180) und du hast den Winkel. Vom Mittelpunkt nach X;Y eine Linie zeichnen und freuen weil geht.
28. August 200816 j Korrektur: x = sinus(winkel) * Radius der Uhr y = cosinus(winkel) * Radius der Uhr
28. August 200816 j Nur noch einmal als Hinweis, die Funktionen sin und cos in Java erwarten den Winkel im Bogen- und nichit im Gradmaß Phil
29. August 200816 j Nur noch einmal als Hinweis, die Funktionen sin und cos in Java erwarten den Winkel im Bogen- und nichit im Gradmaß Phil Deswegen * (Pi/180) um den Radiant auszurechnen.
29. August 200816 j Und wie findet man den Radius des gezeichneten Kreises raus? Ich meine, es gibt ja keinen Lineal, sondern nur x und y Werte und so.
29. August 200816 j g.DrawEllipse(Pens.Black, 100, 75, 200, 200); Kleiner Wink mit dem Baumstamm Phil
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.