Vorwort zu Cinderella.2.0
Ich bin vielleicht nicht immer perfekt, aber ich bin immer ich!
Gefunden auf einem T-Shirt
Es sind siebeneinhalb Jahre vergangen, seit die erste Version von Cinderella 1998 veröffentlicht wurde, und das Projekt durchlief mehrere Metamorphosen, die wir selbst nicht vorhersehen konnten. Jetzt sind wir der Meinung, dass genug neue Aspekte und Funktionen hinzugekommen sind, um eine neue Hauptversion zu rechtfertigen: Cinderella.2.
Die Programmierung von Cinderella erwies sich gewissermaßen als eine Art „Geschichte ohne Ende" und es gibt immer noch ein Feature mehr, das hinzugefügt werden sollte, oder ein anderes, das verbessert werden könnte (oder nicht selten debuggt werden muss). So mag die aktuelle Version in allen Aspekten nicht perfekt sein, aber sie hat so viele wesentlich neue Funktionen, dass es schade wäre, sie nicht zu veröffentlichen und zu sehen, was die Menschen damit machen.
Also, was erwartet Sie von der neuen Version? Zunächst ist die offensichtlichste Änderung, dass Cinderella nicht mehr „nur" ein Geometrieprogramm ist (obwohl der Geometrieteil erheblich verbessert wurde). Die vorliegende Version besteht aus drei Hauptteilen: Cinderella – die Geometry-Engine, CindyScript – eine funktionale Programmiersprache, und CindyLab – eine Physik-Simulationsengine. Auf den ersten Blick können diese drei Teile fast unabhängig voneinander verwendet werden. Allerdings sind Cinderella, CindyScript und CindyLab darauf ausgelegt, Hand in Hand zu arbeiten und so viel wie möglich voneinander zu profitieren – wenn Sie sich unser neues Logo anschauen, symbolisiert dieses Logo die drei Teile, die auf verschiedene Weise miteinander interagieren. Obwohl es eine spannende Geschichte wäre, werden wir hier nicht erklären, wie wir zu diesem endgültigen Design gelangt sind, da dies zu viele Seiten in Anspruch nehmen würde. Kurz gesagt war es ein langer Prozess, angetrieben durch Forderungen und Anfragen unserer Nutzer, unseren eigenen Wunsch nach cooler Software-Szenarien, mehrere Konferenzen zu wissenschaftlicher Visualisierung und Multimedia, und nicht zuletzt mehrere Tage und Nächte, in denen wir fruchtbaren Pfaden folgten (oder manchmal Sackgassen).
Im Geometrieteil von Cinderella gibt es viele wesentliche Verbesserungen. Transformationen und Transformationsgruppen wurden hinzugefügt, es gibt viele weitere Werkzeuge zur Konstruktion von Kegelschnitten, und es ist sogar möglich, fraktale Objekte zu konstruieren. Auch die direkte Konstruktion von regelmäßigen Polygonen wurde ermöglicht. Transformationen und Transformationsgruppen erwiesen sich als großartige Hilfe für anspruchsvollere Konstruktionen, und wir ermutigen die Nutzer, diese Konzepte wirklich zu nutzen. Eines der meistgeforderten Merkmale waren „Makros". Cinderella.2 kommt jetzt mit einem Kopieren/Einfügen/Neudefinieren-Konzept, das die Wiederverwendung bereits vorhandener Konstruktionsteile erleichtert. Es ist auch möglich, Teile einer Konstruktion in einer Schaltfläche der Werkzeugleiste zu kapseln, die in anderen Konstruktionen wiederverwendet werden kann.
CindyLab bietet eine Umgebung, in der die Punkte von Cinderella-Konstruktionen zu Massen werden können, und in der Segmente wie Federn oder andere kraftgenerierende Objekte wirken können. Obwohl CindyLab nur ein Partikel-/Massen-/Kraft-Simulationsparadigma bietet, ist es ein ziemlich mächtiges Werkzeug. Wir hatten bereits viel Spaß beim Experimentieren mit Sonnensystemen mit mehreren Sonnen, seltsamen mechanischen Geräten und simulierten Billiardtischen.
Schließlich ist CindyScript eine funktionale Programmiersprache, die mit Anwendungen in der Geometrie und auch anderen Teilen der Mathematik im Sinn entworfen wurde. CindyScript entstand aus dem Wunsch, eine Art Funktionsplotter in Cinderella zu haben. Nun, wie es manchmal in der Informatik geschieht, beginnt man mit einer einfachen Lösung für eine Anforderung und stellt fest, dass mit ähnlichen Techniken viel mehr erreicht werden könnte. Ungefähr lief die Geschichte so: Wir wollen Formeln berechnen – warum verwenden wir das nicht, um die Position von Punkten zu manipulieren? – warum fügen wir nicht Kontrollstrukturen hinzu? – warum fügen wir nicht hochwertige Matrixoperationen hinzu? – ... und Listenoperationen ... und Rekursionsstrukturen ... und sogar leistungsfähigeres Funktionsplotting? So endeten wir schließlich mit einer vollwertigen, mathematisch orientierten funktionalen, Echtzeit-, hochstufigen Programmiersprache. Wir sind uns ziemlich sicher, dass wir bis jetzt nicht einmal vorstellen, was möglich ist, wenn man die Vorteile einer dynamischen Geometrieumgebung in Verbindung mit einer Programmiersprache vollständig ausnutzt. Zumindest sind wir überrascht, wie unsere Schüler, die bereits mit CindyScript arbeiten, es verwenden! Wir ermutigen alle Leser, wirklich coole und unerwartete Anwendungen mit diesem Werkzeug zu entwickeln.
Es gibt noch mehrere Glocken und Pfeifen, die nicht unter die oben genannten drei Programmteile fallen. Beispielsweise unterstützt Cinderella.2 die Erkennung von handgezeichneten Skizzen, die es möglich machen, Cinderella mit einem Stift-Tablet, einem interaktiven Whiteboard oder einem PDA zu verwenden.
Es gibt mehrere Funktionen, die es nicht in die endgültige Version geschafft haben. Die Entscheidung, ob eine Funktion in die Veröffentlichung aufgenommen wurde, wurde hauptsächlich von Stabilitätsüberlegungen bestimmt. Wir werden viele dieser Funktionen in den nächsten Monaten nacheinander hinzufügen, wann immer wir denken, dass sie angemessen funktionieren. Unter den Dingen, die kommen werden: native Unterstützung für geometrische Basen, ein Aufzeichnungstool (CINErella) für geometrische Tutorial-Filme, ein Hardware-Simulator und vieles mehr. Daher empfehlen wir, häufig zu aktualisieren.
Es ist fast unmöglich, alle Personen zu erwähnen, die durch Kommentare, Benutzerfeedback, Beta-Tests usw. bei der Fertigstellung von Cinderella.2 geholfen haben. Trotzdem möchten wir zunächst unseren Familien unseren herzlichsten Dank und unsere große Entschuldigung aussprechen. Das Fertigstellen von Cinderella hat viel unserer Freizeit in Anspruch genommen und unsere Familien haben uns als Väter und Ehemänner oft vermisst. Unzählige viele Wochenenden und Nächte wurden geopfert, um noch eine Funktion fertigzustellen oder noch einen Bug zu beheben. Wir hoffen beide, dass es in der Zukunft mehr Zeit für all die anderen Dinge gibt, die im Leben auch wichtig sind.
Wir möchten auch Dirk Materlik danken, der sich während seiner Diplomarbeit über Skizzenerkennung in das Team einbrachte und später im Matheon Visage-Projekt und neben seiner Arbeit dort half, viele kritische Designfragen zu lösen (der Inspektor würde nicht das sein, was er ist, ohne ihn). Auch ein großes Danke an Gunter Gemmel, der in einem nächtlichen Hack uns das Geschenk einer Implementierung des PSLQ-Algorithmus gab. Viele Menschen haben aktiv dazu beigetragen, indem sie mehrere Beta- und Vor-Beta-Versionen verwendeten und kommentierten. Hier sind einige von ihnen, in keiner bestimmten Reihenfolge (und eine große Entschuldigung an alle, die wir in dieser Liste vergessen haben): Hermann Vogel, Gunter Gemmel, Martin von Gagern, Peter Lebmeir, Vanessa Krummeck, Thorsten Orendt, Andreas Fest, Carola Dietrich, Wolf Dieter Heker, David Bakin, Christof Boeckler, Gerhard Bischoff, Alexander Elkins, Dan Beaton, Camille Wormser, Franz Klement.
Schließlich gibt es zwei Personen, die definitiv eine besondere Erwähnung verdienen. Eine von ihnen ist David Kramer, unser Korrektor aus Harvard. Er las sorgfältig jede einzelne Zeile, die wir für die Dokumentation schrieben, und half uns als Nichtmuttersprachler dabei, eine zumindest sprachlich verständliche Dokumentation zu erhalten. Danke David! Die zweite Person ist gewissermaßen fast ein Mitglied des Cinderella-Teams. Es ist Martin Peters, unser verantwortlicher Redakteur bei Springer Verlag. Er hatte immer ein offenes Ohr für unsere neuen Probleme, verstand immer, dass wir noch mehr Zeit brauchen, um eine Veröffentlichungsversion zu erhalten, war immer hilfreich bei der Lösungsfindung für Verlagsprobleme und war äußerst aktiv bei der Herstellung mehrerer wichtiger Kontakte. Und das Wichtigste ist, dass er uns immer die Freiheit gab, unsere eigenen Entscheidungen zu treffen, während er darauf vertraute, dass dies der beste Weg ist, um das bestmögliche Ergebnis zu erzielen. Martin, vielen Dank für deine Geduld und dein Vertrauen!
Mai 2006 Jürgen Richter-Gebert, München Ulrich Kortenkamp, Schwäbisch Gmünd
Diese Seite wurde automatisch mit KI (Claude) übersetzt und wartet noch auf Überprüfung.
→ Alle KI-übersetzten Seiten