Forum: Mikrocontroller und Digitale Elektronik Halbkreisformel verstehe ich nicht!


von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
in den Weiten des Internet habe ich angehängten Code gefunden den ich 
adaptiert habe und mit einem 8051 an einem Pollin Grafik LCD 128x64 
teste.
Ich verstehe da die Formel für den Kreis nicht. Wäre auch nicht so 
schlimm, aber mein Kreis (Ostern ist doch schon vorbei...) hat in 
X-Richtung einen kleineren Radius als in Y-Richtung. Sieht also aus wie 
eine Ellypse.
Kann einer die Formel erklären so daß ich sie anpassen kann damit der 
Kreis rund wird?
Die Funktion heisst glcd1_circle. Vielleicht ist die für ein 
240xwasweißich LCD?

Danke ,
Gruss

Thomas

von Karl H. (kbuchegg)


Lesenswert?

Thomas wrote:
> Kann einer die Formel erklären so daß ich sie anpassen kann damit der
> Kreis rund wird?

Hier findest du eine Herleitung des Kreis-Bresenham

http://www-lehre.informatik.uni-osnabrueck.de/~cg/2000/skript/3_4_Kreis.html


Wenn deine Kreise dann immer noch nicht rund sind:
Kann es sein, dass dein Display keine quadratische
Pixel hat: 100 Pixel in X Richtung sind 'länger' als
100 Pixel in y Richtung.

> Die Funktion heisst glcd1_circle. Vielleicht ist die für ein
> 240xwasweißich LCD?

Das sollte egal sein. Solange du quadratische Pixel hast.

von Karl H. (kbuchegg)


Lesenswert?

Ich hab deine Implementierung des Kreis Bresenham
mal ausprobiert. Es ergebn sich wunderbare Kreise.
Dein Problem ist daher wahrscheinlich darauf
zurückzuführen, dass die Pixel nicht quadratisch sind.

Probier mal folgendes:

Mach eine horizontale Linie mit 100 Pixel
Mach eine vertikale Linie mit 100 Pixel

Und dann vergleich, ob beide Linien gleich lang sind
(optischer Eindruck, mit Lineal nachmessen).

Du wirst wohl auf einen Bresenham für Ellipsen ausweichen
müssen.

von Thomas (Gast)


Lesenswert?

Hallo Karl Heinz,
stimmt genau. Wenn ich mir die Pixe ansehe so sind sie höher als breit, 
das kann ich mit bloßem Auge sehen. Das Problem sind also die nicht 
quadratischen Pixel. Danke für den Link, ist sehr interessant.

Thomas

von Thomas (Gast)


Lesenswert?

Habs mal ausgetestet: Wenn ich um ein Drittel in X-Richtung langziehe 
ist dre Kreis rund. Die Pixel scheinen ein Seitenverhältnis 3 zu 4 zu 
haben.
Passt !!

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
Noch kein Account? Hier anmelden.