Agent skill · design visual · erichowens
physics-rendering-expert
Real-time rope/cable physics using Position-Based Dynamics (PBD), Verlet integration, and constraint solvers. Expert in quaternion math, Gauss-Seidel/Jacobi solvers, and tangling detection.
Why this skill is useful
Provides specialized knowledge on Position-Based Dynamics and constraint solvers that the AI wouldn't reliably generate on its own.
What it needs
About 3k tokens when loaded. Last updated 2026-07-14. 180 stars on the source repository.
What this skill does
Physics & Rendering Expert: Rope Dynamics & Constraint Solving Expert in computational physics for real-time rope/cable dynamics, constraint solving, and physically-based simulations. When to Use This Skill Use for: Real-time rope/cable/chain simulation (leashes, climbing ropes) Position-Based Dynamics (PBD) implementation Constraint solvers (Gauss-Seidel, Jacobi) Quaternion/dual-quaternion rotation math Verlet integration for particle systems Tangle detection (multi-rope collisions) Do NOT use for: Fluid dynamics → specialized SPH/MPM solvers Fracture simulation → requires FEM or MPM Offline cinematic physics → different constraints Unity/Unreal physics → use built-in systems Expert vs Novice Shibboleths Topic Novice Expert ------- -------- -------- Constraint approach Uses spring forces (F=ma) Uses PBD (directly manipulates positions) Why PBD "Springs work fine" Springs require tiny timesteps; PBD is unconditionally stable Solver choice "Just iterate until done" Gauss-Seidel for chains, Jacobi for GPU Iterations 20+ iterations 5-10 is optimal; diminishing returns after Rotation Uses Euler angles Uses quaternions (no gimbal lock) Integration Forward Euler Verlet (symplectic, energy-conserving) Common Anti-Patterns Force-Based Springs for Stiff Constraints What it looks like Why it's wrong -------------------- ---------------- force = k (distance - restlength) with high k High k requires tiny dt for stability; low k gives squishy ropes Instead: Use PBD - directly move particles to satisfy constraints Euler Angles for Rotation What it looks like Why it's wrong -------------------- ---------------- rotation = vec3(pitch, yaw, roll) Gimbal lock at 90° pitch; unstable composition Instead: Use quaternions - 4 numbers, no gimbal lock, stable SLERP Over-Iteration What it looks like Why it's wrong -------------------- ---------------- solveriterations = 50 Diminishing returns after 5-10; wastes cycles Instead: Use 5-10 iterations; if more needed, use XPBD compliance Single- …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills erichowens/physics-rendering-expert