Revive – 2d physics engine

I promised to publish the sources of the physics engine I had shown on the flashconference in stuttgart (same engine I would had shown in paris). I did some big changes in the structure, so some things are missing (1d physics, billard example). In the current version, I tried to test on movable segments, which could be a nice feature dealing with polygons created by simple spring connections between particles. This is very alpha, but I will develope this technic further on. And I’m sorry – no comments in the code. Try to get this on your own! To many things will change, so I won’t spend time in commenting code, which definitely will be removed.

: Features

+ Dynamic Intersection Tests (very stable for fast moving objects)
+ MovableParticles
+ MovableCircles
+ MovableSegment (Test)
+ ImmovablePoint
+ ImmovableGate
+ ImmovableCircleOuter
+ ImmovableCircleOuterSegment
+ ImmovableCircleInner
+ ImmovableCircleInnerSegment
+ ImmovableBezierQuadric (assembled by circle segments)
+ ImmovableGroup
+ Spring
+ FixedSpring

(includes 5 different test scenes)

10 thoughts on “Revive – 2d physics engine”

  1. hi,
    thanks for this cutting edge work.
    Even if I still can’t understand a 10th of it, it is really great to know that such result can be achieved and how. Your job is useful to far more people than you can imagine ; for us, you are a kind of flash-angel.
    keep it up and thanks again.

  2. I ran into various import statement related bugs when trying to compile this locally. The following tweaks fixed it for me:

    + de.popforge.revive.application.Simulation.as
    line 10: had to add “import de.popforge.revive.member.MovableSegment;”

    + de.popforge.revive.application.SceneContainer.as
    line 8: had to add “import de.popforge.revive.member.Movable;”

    + scenes.Startup.as
    line 8: had to add:

    import de.popforge.revive.member.*;
    import de.popforge.revive.forces.Spring;

    + de.popforge.member.ImmoveableBezierQuadric.as
    line 16: had to add “import de.popforge.revive.geom.Vector;”

Comments are closed.