Guten Abend, ich habe nun eine Frage: ich möchte gerne auf dem Bildschirm auch Sector zeichnen, gestrichen und als Bogen. Wie wäre das am besten zu machen? Es gibt schon Funktionen: Punkt, Linien (horisontal, vertikal und willkürlich), Viereck gefüllt und nicht, Kreis gefüllt und nicht. Ich möchte eine Funktion, die als Eingang die Argumente hat: Zentrum (x,y), Radius, Anfangs- und Endwinkel. Kreisfunktionen passen dafür kaum, da die nach dem Prinzip x^2*y^2=r^2 gebaut sind und Ausgangspünkte sind 0°, 90°, 180° und 270° des Kreises - diese Winkel sind aber nicht unbedingt in einem Sector präsent. Ich möchte aber gerne so etwas wie Folge von Pünkten von a und bis zu b haben. Diese Funktionen werden nur selten gebraucht, deshalb ist Geschwindigkeit nicht so wichtig. Danke für Tipps im voraus.
Maxim B. schrieb: > Kreisfunktionen passen dafür kaum, da die nach dem Prinzip x^2*y^2=r^2 > gebaut sind ... Und was gefällt dir daran bis auf das "*" nicht? Wenn du deinen Sektor durch einen Radius charakterisieren willst, ergibt sich doch genau ein Kreissektor, für den gilt x²+y²=r².
Javanola schrieb: > http://www.java2s.com/Tutorial/Java/0261__2D-Graphics/FillArc.htm Hoffentlich gibt es für den µC des TO eine Java RTE
Wolfgang schrieb: > Wenn du deinen Sektor durch einen Radius charakterisieren willst, ergibt > sich doch genau ein Kreissektor, für den gilt x²+y²=r². Für mich bleibt aber unklar, wie ich Grad 0...359 in x und y umwandele. Aufgrung der Strictur von Bildschirm finde ich praktisch, y (horisontal) in +-1 Schritten zu nehmen und x (vertikal) davon zu berechnen. Aber ich kann nicht so einfach Grad, die in einem Kreis liegen, auf eine Fläche zu spiegeln, ohne komplizierte float-Funktionen zu nehmen. Aber ich vermute, man kann doch ohne float alles berechnen, die Frage ist nur wie. Wolfgang schrieb: > Hoffentlich gibt es für den µC des TO eine Java RTE Bitte keine Java und C++. Mir geht es darum, Algorithmus zu verstehen. Fertige vorcompilierte Libs gibt es in Netz wie Sand im Meer. Ich bin aber kein Arduino-Fan, ich mag es immer gut zu sehen, was und wie genau gemacht wird.
Mit sin/cos x und y für den Start und Zielwinkel berechnen, und dann mit x²+y²=r² (Fallunterscheidung) die dazwischen liegenden Pixel auffüllen. Du brauchst ja wahrscheinlich nur die Punkte für ganze Werte für x/y
ab schrieb: > Mit sin/cos x und y für den Start und Zielwinkel berechnen Gibt es Funktionen für sin und cos, die mit ganzzähligen Argumenten arbeiten? Die gewöhnliche Funktionen brauchen ja double/float. ab schrieb: > Du brauchst ja wahrscheinlich nur die Punkte für ganze Werte für x/y Ich denke, für u8 u16 nutzen und rechte Byte am Ende abrunden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.