Peanut Software FAQ

Quelle: http://math.exeter.edu/rparris/faq.html

1. Werden eure Programme auf Windows 7 (Vista, XP, ME, 2K, 98, 95) laufen?

Ja, ich entwickle sie auf meinem Heim-PC, der mit Windows XP läuft, und ich teste sie auf einem Laptop, der mit Vista läuft. Die Programme laufen auch hier in der Schule in einem NT-Netzwerk. Wenn Operationssysteme komplizierter werden, können allerdings raffinierte Probleme auftauchen.

2. Gibt es Macintosh- oder Linuxversionen dieser Programme?

Ich wünschte, es wäre so, aber nein. Es gibt allerdings Möglichkeiten. Ein Mac-User berichtet von Erfolgen, indem er ein Package mit dem Namen „Crossover“ benutzt. Ein anderer befürwortet „Wine“ und hat ein Tutorial für seine Klassenkameraden geschrieben (wenn du diesem Weg folgst, wirst du wahrscheinlich die default fonts neu definieren müssen). Ein anderer User lässt Winplot laufen, indem er Ubuntu Linux benutzt, und hat Anweisungen für die geschrieben, die dasselbe tun wollen. Bei meinen ersten Programmierversuchen (als College-Student) arbeitete ich mit Fortran auf IBM-Hardware. Zwanzig Jahre später, als die Zeit kam, mir meinen eigenen PC zu kaufen, blieb ich bei der IBM-Plattform – größtenteils, weil ich es mag, wenn Designprogramme das tun, was ich möchte, und ich würde sehr ermutigt, IBM zu programmieren. Außerdem mochte ich das Gefühl und das Aussehen des originalen Mac nicht.

3. Wieso zeichnet Winplot keine dicken gepunkteten und gestrichelten Linien?

Der altertümliche Compiler, den ich zur Entwicklung meiner Programme nutze, bietet leider nicht die Option, gepunktete oder gestrichelte Linien zu verfetten. Für die Darstellung auf dem Bildschirm muss der User kreativ werden und einen Weg finden, auch ohne zurechtzukommen. Wenn es allerdings darum geht, Diagramme in Dokumente einzubetten, gibt es eine Lösung: exportiere das Diagramm in ein EPS-File. Obwohl der Bildschirm keine fette gepunktete Linie anzeigen wird, wird das EPS-File es doch tun, und dieses File kann mit beinahe absoluter Sicherheit in einen Word-Prozessor importiert werden.

4. Warum lässt mich Winplot (Wingeom etc) bei einem Zeichenfenster nicht die Größe ändern?

Windows XP besitzt eine Funktion namens „Zeige Fensterinhalt während des Draggings“. Dies ist eine schlechte Idee, besonders für Windows, das (relativ) viel Zeit braucht, um Inhalte zu zeichnen, und es kann Abstürze verursachen. Es ist einfach, diese Funktion auszuschalten; öffne einfach die Control Panel|Display|Appearance|Effects – Dialogbox, entferne das entsprechende Häkchen, dann klicke OK und Apply (Anpassen). Obwohl Windows Vista nicht erlaubt, dass die Funktion ausgeschaltet wird, scheint es nicht so, als ob dies irgendwelche Probleme verursacht. In jedem Fall können meine Zeichenfenster in der Größe sicher geändert werden, indem die File|Image Size-Funktion benutzt wird.

5. Wenn das Diagramm-Fenster angepasst wird, warum verschwinden dann implizit definierte Graphen oder erscheinen in Fragmenten?

Solche Beispiele werden mit einer speziellen Methode gezeichnet, die einen Ankerpunkt (gefunden in zufälliger Suche) festlegt, und zwar an jeder verbundenen Komponente des Graphen (eine komplette Dartsellung könnte aus verschiedenen Komponenten bestehen).

Wenn die Ansicht angepasst wird (etwa beim Reinzoomen), kann es passieren, dass ein Ankerpunkt nicht länger sichtbar ist, und dass die dazugehörige Komponente verschwindet. Kurven, die den Ansichtsrahmen verlassen, werden normalerweise am Rand abgeschnitten. Weil das Programm auch diese Schnittpunkte sichert, können sie auffällig werden, sobald die Ansicht wieder geändeert wird (etwa beim herauszoomen). Wenn der Punkt im „View“-Menü „Implicit redraw“ angeklickt wird, wird jedes Ändern des Fensters das Programm zurück in den Suchmodus versetzen (was eine erneute Kalkulation von Anker und Schnittpunkten herbeiführt), und implizite Graphen sollten ganz normal refreshen.

6. Warum zeichnet 3D Winplot keine implizit definierten Oberflächen?

Das tut es, aber (im Gegensatz zu den implizierten Kurven in 2D) nicht automatisch. Das Programm bedarf einer Anleitung. Nachdem die Gleichung steht, ist der User aufgefordert, Koordinaten für eine Box bereitzustellen, die die Oberfläche beinhaltet. Nachdem dies getan wurde, muss der User den „Levels“-Button im Inventar drücken. Für weitere Details, lies den Equa|Help-Text.

7. Warum öffnet Winplot (Wingeom etc) keine Datei, wenn ich das Icon doppelklicke?

Windows erlaubt inzwischen Punkte in Folder-Namen. Der altertümliche Compiler, den ich für meine Programme benutze, versteht solch unerwartete Punkte im Pfadnamen als Error, den früher einmal waren sie Errors. Die Lösung besteht darin, es zu vermeiden, Peanut-Files in Folder mit Namen wie „peanut.wplot“ zu packen

8. Wird Winplot (oder Wingeom) Pfeile an das Ende von Linien (insbesondere Achsen) und andere Graphen zeichnen?

Pfeile, die Richtungen anzeigen, sind routinemäßig verfügbar; spezifische Strahlen, Vektoren und die positiven Richtungsanzeigen einer Koordinatenachse oder einer parametrisch definierten Kurve. Der kreative User wird Mittel und Wege finden, Pfeile auch an anderen Orten zu platzieren. Weil es nicht einfach für Winplot ist, selbst zu entscheiden, wo ein Graph endet – gegeben die Tatsache, dass manche Kurven das Fenster verlassen und dann zurückkommen – sind Pfeile am Ende von Kurven normalerweise problematisch. Sie sind jedoch verfügbar für Kurven mit restricted Domains, zum Beispiel.

9. Kann Winplot gepunktete Kurven zeichnen?

Anders als Linien und Segmente, nein. Nichtlineare Graphen werden typischerweise gezeichnet, indem hunderte von Punkten markiert und verbunden werden. Selbst wenn der Stift „gepünktelt“ wäre, ginge der Effekt verloren, weil die Segmente so kurz sind. Um eine Kurve von der anderen zu unterscheiden, reichen meiner Erfahrung nach verschiedene Strichstärken und Farben aus.

10. Sind die Programme wirklich kostenlos?

Ja. Ich ersuche nur darum, dass sie nicht verkauft werden. Ich hätte lieber Freunde als Geld. Was ich mag, ist, Ideen für Verbesserungen zu bekommen und natürlich schätze ich es, Bugs gemeldet zu bekommen.

11. Warum stürzt Winplot (Wingeom etc) ab (oder tut verrückte Dinge), wenn ich ein 2D-Graphen-Fenster öffne?

Es kann natürlich ein Bug im Programm sein (bitte sag mir das), doch der Grund ist üblicherweise eine beschädigte Initializations-Datei. Die meisten Fenster kreieren diese Ini-Files, wenn sie geschlossen werden, und sichern damit User-Einstellungen wie Hintergrundfarbe, Fenstergröße und Platzierung, Schriftartwahl und so weiter. Wenn das Programm aus irgendeinem Grunde abstürzt, kann das Ini-File kaputte Informationen zurückbehalten, die vom Programm gefunden werden, sobald du das nächste mal dieses Fenster öffnest. Das Resultat ist Chaos. Die offensichtliche abhilfe besteht darin, die beschädigte Datei zu finden und aus der Windows-Directory zu löschen. Genaugenommen ist es einfacher, das beschädigte Fenster zu öffnen, nachdem das Mainmenu-Item „Using defaults“ gecheckt wurde. Dies weist das Programm an, das Ini-File zu ignorieren, falls es eines gibt. Sobald das Fenster sicher geschlossen wurde, wird sein Ini-File wieder gesund.

12. Gibt es eine Version von Winplot (Wingeom etc) in Deutsch (Polnisch, Dänisch etc)?

Wenn nicht, kannst du eine machen. Alles, was gebraucht wird, ist die Geduld und Zeit, die Resource- und Help-Files durchzuarbeiten und sie in die gewünschte Sprache zu übersetzen. Es sind reine Textdateien, die in den Programmcode eingefügt werden. Du brauchst nicht zu wissen, wie man programmiert. Die existierenden fremdsprachlichen Versionen meiner Programme wurden auf diese Weise von Freiwilligen hergestellt. Wenn du dies ebenfalls gern machen möchtest, lass es mich einfach wissen – meine E-Mail-Adresse steht in der Help|About-Dialog-Box.

13. Warum stellt Winplot die cube-root [Würfel-Wurzel]-Funktion nicht graphisch dar?

Das tut es, aber du musst die Gleichung als y = Wurzel(3,x) eingeben. (Siehe dafür die Library-Help-File). Weil Ausdrücke wie x^(1/3) mit Hilfe von Logarithmen berechnet werden, müssen negative Werte von  x abgewiesen werden.

14. Um Sinuskurven graphisch darzustellen, ist es möglich, Winplot in den „Degree [Grad]-Modus“ zu setzen und eine bestimmte Skala auf der x-Achse zu markieren?

Das Problem ist, dass es in Wirklichkeit zwei Sinus-Funktionen sind: eine, die 1.00 produziert, wenn du es zum numerischen Input 90 applizierst, und eine andere, die 0.8940 produzierst, wenn du es zum numerischen Input 90 applizierst. Es ist unglücklich, dass beide Funktionen mit demselben Namen (sin) benannt sind. Dies erweckt den Eindruck, es sei die Zahl 90, die ihren Wert verändert. In Winplot bezieht sich „sin“ immer auf die Version des Radiant-Modus’, und Ausdrücke wie „sin(x deg)“ und “sin(t deg)” sind derzeit der einzig sichere Weg, die Gradmodus-Version zu erhalten.

Eines meiner Ziele, als ich Winplot schrieb, war, einen Grapher zu haben, der viele Varianten von Graphen darzustellen (inklusive parametrischen, polaren und impliziten) – gleichzeitig auf einem einzelnen Blatt Graphen-Papier. Damit dies funktioniert, ist es grundlegend, dass die Achsen nicht von Labels oder Modi eingeschränkt werden. Wenn beispielsweise der Graph eines Kreises, der parametrisch als x = cos(t), y = sin(t) definiert ist, wird er verletzlich, falls es den Achsen (und Funktionen) erlaubt wäre, sich plötzlich zu ändern. Die Existenz inversiver Funktionen wie arcsin verkomplizieren die Sache weiterhin, da spezielle Markierungen auf der y-Achse notwendig wären.

15. Wusstest du, dass Winplot „int“ nicht korrekt graphisch darstellt?

Obgleich es noch keine komplette Übereinkunft ist, ist es allgemein üblich geworden, „floor“ anstelle von „int“ zu benutzen, was auch Winplot tut. Dies erlaubt es, „int“ für den integren Teil einer Zahl zu benutzen. Darüber kannst du hier und hier mehr lesen

16. In welcher Sprache sind deine Programme geschrieben?

Die alte Windows 3.1-Version wurde in Pascal geschrieben. Die Windows 95/98/2K/ME/XP/Vista/7-Versionen sind in C++ geschrieben.

17. Ist der Quellcode verfügbar?

Nein. Ich freue mich, mit jedem über die Lösungen, die ich für verschiedene Programmierprobleme gefunden habe, zu reden, und sogar Stücke des Codes zu teilen, aber ich möchte keine kompletten Programme veröffentlichen. Es mag der Tag kommen, an dem ich die Kontrolle abgeben möchte, aber zum jetzigen Zeitpunkt möchte ich die Entwicklung der Programme im Auge behalten. Ein anderer Punkt ist, dass mein Code schwierig nachzuvollziehen ist, und meine Dokumentation ist wahrscheinlich nicht annähernd auf Industrie-Standard. Der Code ist außerdem umfangreich – mehr als 1 MB Text für Winplot, beispielsweise. In anderen Worten bezweifle ich, dass jemand viel davon lernen könnte.

18. Gibt es ein Installations-Programm?

Nein. Außer Dateierweiterungen zu registrieren, gäbe es für ein solches Programm nicht viel zu tun. Um zu lernen, Dateierweiterungen zu registrieren (sodass du eine Datei öffnest, indem du sein Icon doppelklickst), klick hier.

19. Was arbeitest du?

Ich bin Mathelehrer an der Highschool. Programmieren ist nur ein Hobby, das außer Kontrolle geraten ist. Von meinen Schülern Mitte der 1980er ermutigt, schrieb ich ein paar MS-DOS-Programme, um die Schufterei bei den Hausaufgaben zu erleichtern, die ich für sie korrigierte. Ich war außerdem fasziniert, als ich einen Kollegen hörte, der den originalen „Geometry Supposer“ beschrieb, und versuchte, ein Programm zu schreiben, das geometrische Konstruktionen durchführen und Diagramme für Klassearbeiten ausdrucken konnte. Dann begann ich, diese Programme mit Lehrern anderer Schulen zu teilen. Den Rest kannst du dir vorstellen.

20. Wo kommt „Peanut“ her?

Die ersten drei Buchstaben sind ein Akronym für die Schule, an der ich arbeite (Phillips Exeter Academy, in Exeter, NH).

Comments are closed.