Project Goal:
The Morphic Wrappers Revival is project setup to collect MathMorphs and related projects, convert them, if possible, to Monticello format, and make them run on 3.9. Hopefully having those projects in Monticello format will facilitate community changes.
Project History:
MathMorphs and related projects are beautiful pieces of Mathematics and Physics run in Squeak. They have been created at the University of Buenos Aires, and the original web site is at UBA . The projects basis is MorphicWrappers, other projects are FunctionPlotters, LinearAlgebra, MetricSpaces, PhysicsMorphs, Fibonacci and others. For details see the above page. There used to be a Wiki page for MorphicWrappers, but it is no longer available (crashed?). There is a MathMorphs site that is now missing the sar: here.
In May, 2006 Lic. Edgar J. De Cleene suggested on squeak-dev to collect necessary changesets, make them run in latest Squeak, and save them for future in a community effort. He collected most of the changesets needed and put together functional 3.9 changesets, I started converting them to Monticello. Please see details of each MCZ file for history of it's creation. There are 2 Monticello Projects so far, more will be converted in the future.
Documentation:
MorphicWrappers provide underlying architecture for the rest of the MathMorphs. A guide to Morphic Wrappers is in Mark Guzdial's Blue Squeak Book.
To run something interestingly graphical, install FunctionPlotters and see examples below.
More documentation and notes (third link has obligatory screenshots):
UBA
Installation:
Simply yellow-click on the Release and click "install". this will install following Packages:
MorphicWrappers.mcz
Test Functions/FunctionPlotters:
Type into workspace:
XYPlotter example1 plot asMorph openInWorld XYPlotter example2 plot asMorph openInWorld XYPlotter example3 plot asMorph openInWorld XYPlotter example4 plot asMorph openInWorld XYPlotter example5 plot asMorph openInWorld XYPlotter example6 plot asMorph openInWorld ThetaRhoPlotter example1 plot asMorph openInWorld ThetaRhoPlotter example2 plot asMorph openInWorld ThetaRhoPlotter example3 plot asMorph openInWorld ThetaRhoPlotter example4 plot asMorph openInWorld ThetaRhoPlotter example5 plot asMorph openInWorld ThetaRhoPlotter example6 plot asMorph openInWorld ThetaRhoPlotter example7 plot asMorph openInWorld ThetaRhoPlotter example8 plot asMorph openInWorld " Cardioid - see Famous Curves http://www-groups.dcs.st-and.ac.uk/~history/Curves/Curves.html" "(Took me a bit to "get" that ThetaRho is 'polar coordinates' .. duh)" plotter := ThetaRhoPlotter new. plotter dotSize: 3. plotter drawSteps: 12. a := 10. cardioidFunction := Function fromBlock: [:theta | 2AMB(1 + theta cos)]. plotter addFunction: cardioidFunction. plotter domain: (ClosedInterval from: 0 to: 2 * Float pi). plotter directDrawEnable: true. plotter plot asMorph openInWorld
XYPlotter example1 plot asMorph openInWorld XYPlotter example2 plot asMorph openInWorld XYPlotter example3 plot asMorph openInWorld XYPlotter example4 plot asMorph openInWorld XYPlotter example5 plot asMorph openInWorld XYPlotter example6 plot asMorph openInWorld
ThetaRhoPlotter example1 plot asMorph openInWorld ThetaRhoPlotter example2 plot asMorph openInWorld ThetaRhoPlotter example3 plot asMorph openInWorld ThetaRhoPlotter example4 plot asMorph openInWorld ThetaRhoPlotter example5 plot asMorph openInWorld ThetaRhoPlotter example6 plot asMorph openInWorld ThetaRhoPlotter example7 plot asMorph openInWorld ThetaRhoPlotter example8 plot asMorph openInWorld
" Cardioid - see Famous Curves http://www-groups.dcs.st-and.ac.uk/~history/Curves/Curves.html" "(Took me a bit to "get" that ThetaRho is 'polar coordinates' .. duh)" plotter := ThetaRhoPlotter new. plotter dotSize: 3. plotter drawSteps: 12.
a := 10. cardioidFunction := Function fromBlock: [:theta | 2AMB(1 + theta cos)]. plotter addFunction: cardioidFunction. plotter domain: (ClosedInterval from: 0 to: 2 * Float pi).
plotter directDrawEnable: true. plotter plot asMorph openInWorld