Repository navigation
Add hyper_reduced_projective_dynamics_basis (Brandt et al. 2018); release 0.1.10 - #13
Merged
Merged
Conversation
Sparse skinning subspace of Hyper-Reduced Projective Dynamics (Brandt, Eisemann, Hildebrandt, SIGGRAPH 2018): farthest-point samples in geodesic distance, compactly supported Wendland radial weights of that distance normalised to a partition of unity, one affine frame per sample assembled with lbs_jacobian(sparse=True). Geometry-only counterpart of sparse_meshless_methods_basis; reuses the compliance graph with a unit material for the geodesic distances and sampling. Tests: shapes, partition of unity, compact support, material independence, sample dominance, support scaling, dense/sparse agreement, patch test, seed and distance outputs. Bumps the version to 0.1.10 with a changelog entry. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UGZcwqzGYGz9YtjzzdLtBX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the sparse skinning subspace of Hyper-Reduced Projective Dynamics (Brandt, Eisemann, Hildebrandt, SIGGRAPH 2018) as
hyper_reduced_projective_dynamics_basis, and bumps the version to 0.1.10.What it builds
n_samplessample vertices by farthest-point sampling in the geodesic (mesh-edge) distance.(1 - x)^4 (4x + 1), with support radiussupport_scaletimes the sampling's covering distance (the farthest any vertex lies from its nearest sample), so every vertex is covered and neighbouring supports overlap.lbs_jacobian(sparse=True).Returns
(W, B, samples)and optionally the sample-to-vertex distances. The geodesic distances and sampling reusecompliance_graph/compliance_node_samplingwith a unit material, so the function is the geometry-only counterpart ofsparse_meshless_methods_basis; the paper's constraint-projection subspace is the same construction on constraint centres.Tests
tests/test_hyper_reduced_projective_dynamics_basis.py: shapes, partition of unity and non-negativity, compact support, independence from the material, each sample dominated by its own weight, support scaling widens supports while keeping coverage, sparseBequals the denselbs_jacobian, affine patch test, seed and distance outputs. Full suite: 641 passed, 5 skipped (optional deps).Tutorial
Tutorial 026 in simkit-tutorials gains a section that builds this basis on the tentacle, visualises its samples and weights, and adds it as a fifth space to the sag, convergence and swing comparisons (it behaves like the uniform skinning eigenmodes: sparse, but geometry-only).
Release
pyproject.tomlis at 0.1.10 andCHANGELOG.mdhas the 0.1.10 section. After merging, push thev0.1.10tag onmainto publish to PyPI (tag pushes are blocked from the Claude session, as with v0.1.9).🤖 Generated with Claude Code
https://claude.ai/code/session_01UGZcwqzGYGz9YtjzzdLtBX
Generated by Claude Code