I’ve been looking for some good simulations of spring-mass networks with customizable parameters. Those I find are usually fairly simple, with uniform masses and springs, each connected at right angles to adjacent masses (i.e. six connections from each face in a cube setting, which is the most complex simulation I could find). I would like to explore the dynamics of a less uniform system, i.e. the effect of a large mass with many connections to smaller masses, how those smaller masses respond if they are more interconnected, etc. So I was wondering if anyone has some suggestions for a good simulation tool that they may have stumbled upon during some coursework or similar? I am in particular interested in the visual representation of the time evolution of such a system, so some kind of tool that generates an animation would be ideal.

Is my best bet perhaps to use the physics engine of e.g. the Godot game engine (Jolt physics) or whatever solver is used in Blender?

  • Scratch@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 days ago

    Starting with an established engine is a good idea.

    I’ve written something akin to what you’re looking for from scratch and it’s a project unto itself.

    Honestly I would start 2d. 3d more than doubles the complexity.

    I’ve been out of the loop for a good long while, but Box2d would be my first port of call. (They also recently launched Box3d, so maybe the interaction would be familiar once you’ve finished with 2d)

    • cyberwolfie@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      2 days ago

      I’ve written something akin to what you’re looking for from scratch and it’s a project unto itself.

      Hehe yeah, I would want to avoid sinking into that hole for this purpose. It’s been a while since I’ve been doing any kind of math or physics of that kind, so it would require a lot of re-reading old text books for me to be able to build anything to begin with.

      Honestly I would start 2d. 3d more than doubles the complexity.

      Yes, that does also make sense for my use case, so I will start there, thanks :)