Sector zeichnen, wie?

OP #6461411
Lesenswert?

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.
Gast #6461418
Lesenswert?

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².
OP #6461448
Lesenswert?

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.
Gast #6461474
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren