Rasterdarstellung von Linien

Gast #15778
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
Gast #15779
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
Gast #15780
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.
Gast #15781
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
Gast #15782
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
Gast #15785
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
Gast #15786
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.