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
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
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.
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
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
@ 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
Wenn du dir das selber programmieren ersparen willst, dann versuchs mal hier http://www.lcd-module.de/deu/rs232/rs232.htm#HLG
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
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.