mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Halbkreisformel verstehe ich nicht!


Autor: Thomas (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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/...


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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.