Skip to content

Adding Plectonemes demo - Direct Position-Based Solver for Stiff Rods #200

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

hadar-segal-isi
Copy link

@hadar-segal-isi hadar-segal-isi commented Mar 19, 2025

What

Following this discussion, this demo is trying to reproduce the results in this video and this paper

Details and limitations

  • The rod should have self collision, but we don't want adjacent element to collide with each other. Therefor a collision pair exclusion feature was added.
  • When using direct solver when in which both edge elements are static/kinematic the constraints are not being applied. Therefor, only one edge is static and the other edge is connected to a kinematic object using a joint.
  • Since I wasn't able to to find a lock joint, I used TargetAngleMotorHingeJoint.
  • The demo supports two options for rod constraints handling, with the default option of direct solver.
  • The collision handling was very sensitive and increasing the contact stiffness made a huge difference in fidelity. It would be great if the original parameters could be shared (e.g. timeStepSize, dimension of each element, mass density, number of sub steps etc).
  • A zero mass rigid body is assumed to be static and the render mesh is never updated, so in our demo the render mesh of the kinematic object is explicitly updated.

results

KnotFormation-2025-03-19.16-06-32.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant