ElastoLab physics code released
David Buck
david at simberon.com
Tue Sep 9 15:34:42 UTC 2003
For version 3.0 of ElastoLab, I converted all the physics code from C++
to VisualWorks Smalltalk. The only C libraries left are to interface to
DirectX 8 for playing sound and to interface to HTML help (neither apply
to the Squeak physics libraries I provided).
The code I posted is complete pure Squeak Smalltalk which should run
anywhere Squeak runs. No plugins are needed. All code is Smalltalk
andeverything is visible, nothing hidden. It includes an adaptive 4th
order Runge Kutta differential equation solver to do very stable physics
calculations. The code for particles, springs, elastics, air
resistance, and gravity are all quite straightforward and have a fairly
nice simple Smalltalk interface. If anyone wants to convert this code
to 3D, I think it would be quite trivial.
The Advanced stuff is provided for people who want to push the barriers
(so to speak). The code in this section are 2D specific. The algorithms
include dynamic constraints, and this algorithm for computing contact
forces for rigid bodies with static and dynamic friction:
http://www.pixar.com/companyinfo/research/deb/sig94.pdf
It seems to work, but it's heavy slogging to go through the code. I've
included it for completeness. It's harder to interface to, but still
not too bad. I fear that the performance may not be great on this code,
though. It's ok with few particles and barriers in VisualWorks. I
haven't done any testing on that part in Squeak. Proceed with caution.
David Buck
Simberon Inc.
www.simberon.com
> Hi dvid
>
> this is a great news (at least for my wife who is a physic teacher).
> how are you dealing with the C or C++ parts? did you port them into
> Squeak? do we need a plugin? Is it running on mac/pc?
>
> Stef
More information about the Squeak-dev
mailing list
|