Cat Flap and Cat tkeden model with visualisation
This model was inspired by Simon Yung's LSD cat flap specification, catflapYung1994. Using ideas from this specification, I wrote my own
LSD code, catflap.lsd. This spec was then rewritten in Eden, and a visualisation constructed using Donald and Scout.
Notable features include a moving Scout window modelling the cat, sound effects using a system() call, a coloured Donald cat with various expressions, rescalable visualisation using the parameter simSize (see linkvis.e), placement of a Scout window in a Donald figure (involving some thought about the two different coordinate systems, using Mathematica), use of eager() to force the display to be updated whilst a procedure is active.
The interaction between cat and flap in the "real world" seems a complex one. For example: does the cat actually move "inside" the flap before the flap responds by moving upwards? In the "real world" this is a continuous process... but it must be discretised for the model. There is at least one problem with the current model: if the cat changes direction halfway through the flap, the flap may remain hanging in mid air. The model really should have forces acting upon the flap as observables...