Forum: Mikrocontroller und Digitale Elektronik Rasterdarstellung von Linien


von Ignis Aureus (Gast)


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

von Norbert (Gast)


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

von mikki merten (Gast)


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.

von Rudolf Sosnowsky (Gast)


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

von Ignis Aureus (Gast)


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

von Norbert (Gast)


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

von mikki merten (Gast)


Lesenswert?

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

von Rudolf Sosnowsky (Gast)


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

von mikki merten (Gast)


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.

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.