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