Das ist doch kein Mist. Auch wenn der Stil nicht allzu schön ist: da ist kein fehler drin, und da kommt auch was recht schönes raus. Wie der Slater gesagt hat: auflösung ist halt ein wenig zu grob. Ich bin durch herumprobieren zum Schluss gekommen, dass es am besten ist nicht mal in 1 pixel schritten zu gehen (was auf den ersten Blick das hochauflösendste wäre) sondern gleich 4 auswertungen pro pixel zu machen. Das hat den Sinn, dass dann auch sehr stark oszillierende "fast flächenfüllende" Funktionen wie sin(1/x) einigermaßen korrekt dargestellt werden (ansonsten kriegt man überall hässliche Lücken rein).
Bei 2D frisst es ja auch (bei einfachen Funktionen) wenig performance und ist wegen O(n) sowieso irgendwie total egal, es geht immer auf Klick. Bei 3D-Plots, da muss man sich schon was einfallen lassen, aber das ist eine ganz andere Geschichte...
=> Schraub die Auflösung hoch und gut ist.
Achso, und außerdem: wozu wird das alles zwischengespeichert? Wie gesagt, wenn die Auswertung an sich nicht aufwendig ist, bzw wenn keine diskrete Daten, sondern echte Funktionsvorschriften vorliegen, dann kannst du doch direkt beim zeichnen auswerten, brauchst das alles nicht erst in Arrays zu packen. Wobei das mit Arrays für diskrete daten "wiederverwendbarer" ist. Naja, kommt drauf an was man will.