Forum: Mikrocontroller und Digitale Elektronik Funktionen plotten (Grafik LCD)


von HannesK (Gast)


Lesenswert?

Moin Moin ins Forum!

Meine Hoffnung bezüglich der Möglichkeit des direkten plottens von 
Funktionen auf einem Grafik-LCD (jeglicher Machart) schwinden nach 
längerer Suche hier im Forum immer weiter.

Im einfachsten Falle geht es in die Richtung f(x)=x^2... etc.

Kann mich da jemand aufbauen und vll. möglichkeiten oder Denkansätze 
aufzeigen? :-) Grundsätzlich überhaupt möglich?

Hannes

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Du benötigst eine Funktion zum Zeichnen von Linien. Dann gehst du die 
Funktion in einer Schleife durch, zeichnest eine Linie vom letzten 
Funktionswert bis zum aktuellen. Natürlich musst du bei jedem durchlauf 
den alten wert speichern, damit du ihn im nächsten durchlauf verwenden 
kannst. Ggf musst du vorher noch die Funktionswerte skalieren, damit sie 
aufs LCD passen.
Bresenham ist ein stichwort nach dem du suchen kannst, falls du keine 
Linienzeichenfunktion hast.

von ABu (Gast)


Lesenswert?

Ist die Kunktion fest oder soll die vom User eingegeben werden können?

Wenn diese fest ist dann hat Hauke Radtki das schon ganz gut 
beschrieben.

Wenn die Funktion vom User kommen soll (Taschenrechner mäsig) wird's 
schwierig. Dein Programm muss dann mämlich quasi fähig sein Programmcode 
zu interpretieren. Hier hilft viell. das Konzept wie die JAVA VM 
aufgebaut ist.

Grüße
A_Bu

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Naja, man muss nicht direkt eine VM basteln ... In der codesammlung gibt 
es glaub ich 2 Expression Parser, damit kannst du mathematische Formeln 
einlesen und ausrechnen lassen.

von HannesK (Gast)


Lesenswert?

Erstmal vielen Dank für die bisherigen Antworten.

Um es entwas zu spezifizieren (@ABu): Die Funktion ist nicht fest, 
sondern veränderlich.

In welcher Sprache wird sowas am einfachsten zu realisieren sein? C, 
Asm?
Jetzt die hoffentlich nicht allzu disqualifizierende Frage: Geht das 
auch mit Bascom oder hat man da gar keine Chancen?

Hannes

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Ich würde das vermutlich so machen:  LCD Routinen in ASM schreiben, und 
den rest in C. Ausdrücke zu parsen macht in assembler nicht wirklich 
spass, und diese auszurechnen ist auch nicht gerade das gelbe vom Ei.

von Olaf (Gast)


Lesenswert?


> Um es entwas zu spezifizieren (@ABu): Die Funktion ist nicht fest,
> sondern veränderlich.

man flex
man bison

> In welcher Sprache wird sowas am einfachsten zu realisieren sein? C,
> Asm?

Obige Generatoren erzeugen C. Aber ich habe leichte Bedenken das das 
Ergebnis noch zu einem Mega8 oder vergleichbares passt.

Aber natuerlich kannst du auch alles selber von Hand in der 
Programmiersprache deiner Wahl schreiben. Wenn du gut bist ist das 
Ergebnis sicher effizienter. :-) Es gab jedenfalls schon vor 20Jahren 
Taschenrechner die das konnten.

Ausserdem ich das sicherlich eine Aufgabe an der du wachsen kannst. :-P

Olaf

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.