mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Rasterdarstellung von Linien


Autor: Ignis Aureus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich will auf einem Graphikdisplay durch Angabe zweier Koordinaten (x,y) 
die Strecke zwischen diesen beiden Punkten darstellen. Wie kann ich die 
Punkte die zwischen beiden Koordinaten liegen berechnen? Eine 
Möglichkeit die ich mir vorstellen kann ist, immer den Mittelpunkt 
zwischen zwei Punkten zu berechnen und das solange bis alle Punkte 
gefunden sind. es gibt auch noch den Bresenham Algorithmus, der aber nur 
(einfach) funktioniert wenn der Anstieg der Gerade zwischen 0 und 1 
liegt.
Kennt also einer von euch eine sinnvolle Lösung, die sich mit dem MC 
verarbeiten lässt (also keine Multiplikation oder Ähnliches)

Vielen Dank

Mfg. Ignis Aureus

Autor: Norbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Normalerweise gehört zu einem Grafikdisplay immer ein
Grafikkontroller. Dieser besitzt einfache Hochsprachenähnliche
Befehle, z.B. Linie von x1,y1 bis x2,y2.
Die Übertragung der Koordinaten lassen sich auf einfache Weise
mittels Assembler, C, Basic o.ä. zum Grafikkontroller übertragen.
Das Datenblatt des Displays / Kontrollers gibt darüber Auskunft.

Gruß Norbert

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So vor etwa 20-25 Jahren wie man noch 8080/Z80 oder 6502 einsetzte und 
Internet noch ein Fremdwort war, gab es hier seitenweise Abhandlungen 
mit komentierten Sourcen in Elektor,Byte und MC. Wenn du Glück hast sind 
diese Ausgaben noch in einigen Boblio-
theken verfügbar.

Autor: Rudolf Sosnowsky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Norbert,

berichte uns doch mal von solch einem "normalen" Controller, der die 
Linienbefehle gleich mit erledigt. Ich habe da wohl immer in der 
falschen Ecke gesucht :)

@ Ignis Aureus:
Also, alle einfache Controller für Flachdisplays haben keine 
"Intelligenz" zum Zeichen von geometrischen Konstrukten. Einige, wie 
z.B. der S1D13305 (aka SED1335) können Zeichen oder 8x8 Bit große 
Bitmaps darstellen. Um einen Controller zu finden, der selbsttätig 
zeichnet, muß man in den PC-LCD-Markt schauen. Dort kann man für hohe 
Auflösungen/Farbtiefen Hardwareunterstützung erwarten. Selbst die 
größten Controller von Epson (z.B. S1D13806) können zwar Bit Block 
Transfer, aber keine Linien zeichnen.
Google hilft Dir, Beschreibungen des Bresenham und anderer optimierter 
Algorithmen zu finden.

Gruß, Rudolf.

Rudolf Sosnowsky +++ LC Design
EPSON Technology Partner
Internet http://www.LC-Design.de

Autor: Ignis Aureus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Also ich benutze ein Display mit T6369 Controller von Toshiba, der auf 
jedenfall alles andere als intelligent ist. Das einzige was der kann ist 
ein Pixel setzen, wenn man ihn austrickst auch 8 auf einmal aber das 
wars dann.
Und ich glaube auch, das kein anderer Graphik-LCD-Controller für 
Monochromdisplays bis 240x128 solche Algorithmen integriert hat.

Ich werd jetzt wohl doch diesen Bresenham Algorithmus verwenden, auch 
wenn man dafür vorher ne 4 fache Fallunterscheidung durchführen muss.

Bin aber trotzdem noch offen für alle Vorschläge.

Mfg. Ignis Aureus

Autor: Norbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Rudolf, auch wenn es dir weh tut, die verhasste Konkurrenz(:-))

               http://www.lcd-module.de

liefert diese LCD-Grafikdisplays.
Ein Paradies für die Mensch-Maschine-Schnittstelle.
Ich selber benutze das EA-KIT 240-7 mit Touchscreen(240x128Pixel)

Gruß Norbert

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du dir das selber programmieren ersparen willst,
dann versuchs mal hier
http://www.lcd-module.de/deu/rs232/rs232.htm#HLG

Autor: Rudolf Sosnowsky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Norbert,

natürlich liefert Electronic Assembly Module, die elegant programmiert 
werden können. Nur haben auch diese Module keinen intelligenten 
Graphikcontroller, sonderen einen Microcontroller, der sich abmüht, das 
Modul intelligent erscheinen zu lassen :)
Ich wollte nur Dein "normalerweise" kommentieren; denn diese Funktion 
wird nicht vom LCD-Controller ausgeführt. Dafür ist dann der Preis des 
Gesamtsystems gegenüber der Mehrbelastung des Systemprozessors 
abzuwägen.

Gruß, Rudolf.

Rudolf Sosnowsky +++ LC Design
EPSON Technology Partner
Internet http://www.LC-Design.de

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@rudolf
Natürlich ist das kein intelligenter Grafikcontroller, sondern nur ein 
zusätzlicher Microcrontroller im 44pin PLCC. Vereinfacht die 
Konstruktion von Kleinserien oder Prototypen aber enorm und ist mit <28 
Euro auch noch preiswert, wenn man sich den Programmieraufwand sparen 
will.
Für die kleiner LCD Display gibt es z.Zt. wohl keinen intelligenten 
Controller der über 2D gewschweige denn 3D Funktion verfügt, lohnt sich 
wohl auch nicht für Halbleiterindustrie so etwas aufzulegen. Wenn ich 
aber an die grösseren Displays denke ist es dort sehr wohl der Fall, da 
man ja ich durch entsprechende Interface-Auswahl z.B. DVI oder andere 
Protokolle die Controller aus der normalen CRT Technologie nutzen kann.

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.