Skip to content

Demos

NovaPhy includes a comprehensive set of demos using Polyscope for 3D visualization.

Rigid Body

Demo Description Physics
demo_pyramid_ball.py 4-3-2-1 pyramid with sphere projectile; --solver {semi_implicit,featherstone,xpbd} Free body / Featherstone / XPBD
demo_friction_ramp.py Boxes on 30-degree ramp, different friction Coulomb friction
demo_wall_break.py 5x5 wall hit by sphere Dynamic collision
demo_dominoes.py 20 dominoes chain reaction Angular impulse
demo_unified_collision.py Gallery of all collision pairs SAT narrowphase
demo_pyramids_numerous.py Stress test: many pyramids Sequential Impulse
xpbd/demo_xpbd_stack.py Supported wall stack XPBD constraints
xpbd/demo_xpbd_weld.py Welded bodies XPBD weld constraint

Articulated Body (Featherstone)

Demo Description Physics
multibody_demo/demo_newtons_cradle_pendulum.py Newton's cradle with hinge suspension Revolute joints + contacts
multibody_demo/demo_rope.py 15-link chain released from horizontal Multi-joint chain
multibody_demo/demo_wrecking_ball.py Chain pendulum smashing a box tower Joint + rigid contacts
multibody_demo/demo_seesaw.py Box dropped onto revolute seesaw Joint + impact
multibody_demo/demo_motor_arm.py Motor-driven arm sweeping boxes Torque-level PD
multibody_demo/demo_100_robots_multibody.py Quadruped grid via Featherstone Floating base + PGS
demo_100_robots.py Quadruped grid via XPBD SolverXPBD

Robotics & Control

Demo Description Physics
demoSim_ppo_inverted_pendulum.py PPO control of a single revolute pendulum Forward dynamics + RL
demo_ik_arm.py Damped-least-squares IK Analytical Jacobian
demo_basic_urdf.py URDF loading smoke test URDF parser
demo_robot_sim_pipeline.py URDF to USD full pipeline with torque control Featherstone + export
demo_sensors.py Sensor system demo Sensor readings

Fluid

Demo Description Physics
demo_dam_break.py Rectangular fluid block collapses PBF solver
demo_fluid_box.py ~8000 particles sloshing in a moving box PBF + domain bounds
demo_ball_in_water.py Ball dropping into water Rigid-fluid coupling (Akinci)
demo_fluid_coupling.py Boxes and spheres splashing into water PBF + Akinci + rigid collision

IPC

Demo Description Physics
demo_ipc_stack.py Box stacking with guaranteed no-penetration IPC via libuipc (CUDA)

VBD / AVBD

Demo Description Physics
demo_vbd_contacts_gui.py Rigid contacts AVBD primal-dual + Coulomb friction
demo_vbd_joint_gui.py Joints between bodies AVBD augmented-Lagrangian joints
demo_vbd_spring_gui.py Springs between bodies AVBD compliant springs
demo_vbd_lunar_rover.py Lunar rover simulation AVBD contacts + joints

Profiling

Demo Description
demo_performance_monitor.py Performance monitoring with --scene {rigid,fluid}

Running Demos

# Install visualization dependency
pip install polyscope

# Run any demo
python demos/demo_pyramid_ball.py

# Some demos accept solver selection
python demos/demo_pyramid_ball.py --solver featherstone

# Profiling demo with options
python demos/demo_performance_monitor.py --scene rigid --measured-steps 120