Veröffentlicht 4. Juni 200817 j Hallo ich habe ein denke ich mal mathematisches Problem. C++ Borland Builder 2007 Ich zeichne einen Halbkreis mit Canvas->Pie und das soll als Temperaturanzeige gelten wenns zu warm is geht der Zeiger nach Rechts wenns zu kalt ist nach links ansonsten steht er dementsprechend senkrecht nach oben =) Nun ich hab das Probelm das ich nicht weiß wie die Pixel auf der Kreisbahn zu berechnen sind. Wenn ich einen Kreis hab und die Temperatur ist genau optimal dann sind die Koordinaten Canvas->LineTo(X-Koordinate = Mittelpunkt, Y-Koordinate = Radius) Nun wie bekomme ich aber die Koordinaten wenn die Temperatur zwischen zu heiß und optimal liegt. ? Dann ändert sich ja x und y wert dementsprechen. Ich hoffe ich hab mich nicht zu unverständlich ausgedrückt. Ich brauche praktisch Den x und Y Weert für eine bestimmte GradZahl auf dem Kreisradius. Danke alex
4. Juni 200817 j Autor Ein bisschen hat mir das weitergeholfen. aber der x-Wert stimmt nicht. y-Wert najaa kann euch mal mein rechenbeispiel geben Wert in Grad umrechnen 180° weil ich nur nen halben Kreis habe. Multiplikator = 180°/ DifferenzvonMaxnachMin; Ergebnis = (Wert - Minimum) * Multiplikator; int x,y; x = (X-MittelpunktKreis) + ((Radius) * cos(Ergebnis)); y = (Y-Mittelpunktkreis) + ((Radius) * sin(Ergebnis)); Iwie klappts nicht alex
4. Juni 200817 j Autor Achso Danke =) dann nützt es mir nichts Ich brauche ja die Koordinaten eines Punktes auf dem Kreisbogen. Und die kenn ich nicht. Also kenn ich auch kein Bogenmaß.
4. Juni 200817 j Ich brauche ja die Koordinaten eines Punktes auf dem Kreisbogen. Und die kenn ich nicht. Also kenn ich auch kein Bogenmaß. Bogenmaß ist eine "Einheit" für Winkel, genau wie Grad. Das kannst du einfach umrechnen, mit dem Faktor Pi/180.
4. Juni 200817 j Alternativ könntest du auch einfach bei senkrecht nach oben vom Winkel 0° ausgehen und dann pro °C Abweichung x Grad nach links/rechts gehen und in der Richtung einen Vektor zeichnen. Dann hast du in einem den Zeiger der Anzeige auch schon. Oder halt damit die Koordinaten berechnen und dann jeweils den Radius kleiner werden lassen.
11. Juni 200817 j Autor Noch eine Frage. Das mit dem berechnen funktioniert wunderbar. sofern der Winkel 180° beträgt. Was ist aber wenn ich jetzt Sowas wie eine Art Tacho zeichne und das Maximum nicht bei 0° und das Minimum nicht bei 180° liegen sondern bei z.B 10° und 170° wie stelle ich dann die Berechnungen an? Danke Alex
11. Juni 200817 j wie stelle ich dann die Berechnungen an? Dann rechnest du zuerst deine Werte in diesen Bereich um. Alles weitere bleibt gleich. Winkel = (Wert - MinWert)/(MaxWert - MinWert) * (MaxWinkel - MinWinkel) + MinWinkel
12. Juni 200817 j Autor Jetzt ärger ich mich das ich da nicht selber drauf gekommen bin. Danke für die Hilfe. funktioniert perfekt alex
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.