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
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.
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
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.
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
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.
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.