geloescht_FISI-Powergirl Geschrieben 28. August 2008 Geschrieben 28. August 2008 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!
TDM Geschrieben 28. August 2008 Geschrieben 28. August 2008 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.
geloescht_FISI-Powergirl Geschrieben 28. August 2008 Autor Geschrieben 28. August 2008 Danke!!! Werd ich mal ausprobieren!!
TDM Geschrieben 28. August 2008 Geschrieben 28. August 2008 Korrektur: x = sinus(winkel) * Radius der Uhr y = cosinus(winkel) * Radius der Uhr
geloescht_FISI-Powergirl Geschrieben 28. August 2008 Autor Geschrieben 28. August 2008 Danke, werd ich mal am Wochenende ausprobieren!
flashpixx Geschrieben 28. August 2008 Geschrieben 28. August 2008 Nur noch einmal als Hinweis, die Funktionen sin und cos in Java erwarten den Winkel im Bogen- und nichit im Gradmaß Phil
TDM Geschrieben 29. August 2008 Geschrieben 29. August 2008 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.
geloescht_FISI-Powergirl Geschrieben 29. August 2008 Autor Geschrieben 29. August 2008 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.
flashpixx Geschrieben 29. August 2008 Geschrieben 29. August 2008 g.DrawEllipse(Pens.Black, 100, 75, 200, 200); Kleiner Wink mit dem Baumstamm Phil
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden