mhtirogla
Home
Systems
API
Pricing
About
Log in
← Back
Home
›
Systems
›
Games
physics-engine
real-time physics engine
Box2D, Jolt, PhysX
System
Techniques · 8
Primitives · 25
physics-engine
Convex hull quickhull
geometry · medium: Quickhull in 2D and 3D: robust convex hulls for collision shapes and geometry
Graph coloring
graphs · medium: Greedy/DSatur colouring for conflict-free assignment such as radio channels
Contact manifold generation
physics · medium: Build persistent contact point sets from collision normals by clipping, with feature IDs for warm starts
Continuous collision detection
physics · medium: Time-of-impact via conservative advancement or swept shapes to stop tunneling
Joint constraints
physics · medium: Hinge, ball, slider and motor constraints as Jacobian rows for impulse solvers
Sequential impulse solver
physics · medium: Iterative contact solver applying impulses one constraint at a time with accumulated clamping and warm starting; the standard solver for stacking and friction in real-time physics engines.
›
Soft constraints substepping
physics · medium: Soft constraints with spring-damper parameters plus substepping (TGS, Box2D soft step) for stable stacks
GJK and EPA
physics · low: GJK decides whether (and how far apart) two convex shapes are from their support functions alone; EPA expands its simplex into penetration depth and normal.
›
Separating axis theorem
physics · low: Convex shapes are disjoint iff some axis separates their projections; testing face normals and edge crosses gives overlap, depth and contact normal.
›
Bounding volume hierarchy
physics · low: Binary tree of nested bounding boxes; prunes overlap and ray queries to O(log n) for any size distribution, and supports cheap insert/remove for moving objects.
›
Sweep and prune
physics · low: Sort box endpoints along an axis and sweep: only intervals that overlap on that axis are tested; near-linear per frame thanks to temporal coherence.
›
Quaternion rotations
geometry · low: Unit quaternions as 3D rotations: 4 floats, cheap composition, no gimbal lock, plus the conversions, interpolation choices and numerical care needed in practice.
›
Rigid-body dynamics
physics · low: Advance one 3D rigid body per step from force and torque: semi-implicit Euler for position, an inertia tensor in the body frame, and quaternion orientation updated by the exponential map.
›
Simulation islands sleeping
physics · low: Group touching bodies into islands, solve them independently and put resting islands to sleep
Semi-implicit Euler
numerics · low: Update velocity from forces first, then position with the new velocity: explicit Euler cost, but symplectic and stable; the default game-physics integrator.
›
Ray primitive intersection
geometry · low: Ray-triangle (Moller-Trumbore, watertight), ray-AABB slab and ray-sphere tests
Union-find
graphs · low: Disjoint-set forest with union by size and path compression; merges sets and answers same-set queries in effectively constant time.
›
SIMD programming
hardware-os · low: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.
›
Spatial hashing
physics · low: Uniform grid stored in a hash table: bucket objects by cell, test only neighbouring cells; O(n) neighbour search for many similar-sized objects such as particles.
›
Exact geometric predicates
geometry · low: Robust orient and incircle tests with adaptive-precision floats (Shewchuk) or exact arithmetic
Floating-point error
numerics · low: How IEEE 754 rounding error accumulates and how to contain it: compensated (Kahan/Neumaier) and pairwise summation, error-free transformations with FMA, ULP comparisons.
›
d-ary heap
data-structures · low: Array heap with d children per node (d = 4 typical): half the binary heap's depth, siblings in one cache line, faster priority queues.
›
BFS and DFS
graphs · low: The two basic graph traversals; BFS gives hop distances and levels, DFS gives discovery/finish order for cycles, components and topological order.
›
+ 1 more techniques
+ 9 more primitives
System
Techniques · 8
Primitives · 25
physics-engine
Convex hull quickhull
geometry · medium: Quickhull in 2D and 3D: robust convex hulls for collision shapes and geometry
Graph coloring
graphs · medium: Greedy/DSatur colouring for conflict-free assignment such as radio channels
Contact manifold generation
physics · medium: Build persistent contact point sets from collision normals by clipping, with feature IDs for warm starts
Continuous collision detection
physics · medium: Time-of-impact via conservative advancement or swept shapes to stop tunneling
Joint constraints
physics · medium: Hinge, ball, slider and motor constraints as Jacobian rows for impulse solvers
Sequential impulse solver
physics · medium: Iterative contact solver applying impulses one constraint at a time with accumulated clamping and warm starting; the standard solver for stacking and friction in real-time physics engines.
›
Soft constraints substepping
physics · medium: Soft constraints with spring-damper parameters plus substepping (TGS, Box2D soft step) for stable stacks
Polygon clipping
geometry · medium: Polygon intersection/union/difference (Weiler-Atherton, Martinez) for spatial predicates
GJK and EPA
physics · low: GJK decides whether (and how far apart) two convex shapes are from their support functions alone; EPA expands its simplex into penetration depth and normal.
›
Separating axis theorem
physics · low: Convex shapes are disjoint iff some axis separates their projections; testing face normals and edge crosses gives overlap, depth and contact normal.
›
Bounding volume hierarchy
physics · low: Binary tree of nested bounding boxes; prunes overlap and ray queries to O(log n) for any size distribution, and supports cheap insert/remove for moving objects.
›
Sweep and prune
physics · low: Sort box endpoints along an axis and sweep: only intervals that overlap on that axis are tested; near-linear per frame thanks to temporal coherence.
›
Quaternion rotations
geometry · low: Unit quaternions as 3D rotations: 4 floats, cheap composition, no gimbal lock, plus the conversions, interpolation choices and numerical care needed in practice.
›
Rigid-body dynamics
physics · low: Advance one 3D rigid body per step from force and torque: semi-implicit Euler for position, an inertia tensor in the body frame, and quaternion orientation updated by the exponential map.
›
Simulation islands sleeping
physics · low: Group touching bodies into islands, solve them independently and put resting islands to sleep
Semi-implicit Euler
numerics · low: Update velocity from forces first, then position with the new velocity: explicit Euler cost, but symplectic and stable; the default game-physics integrator.
›
Ray primitive intersection
geometry · low: Ray-triangle (Moller-Trumbore, watertight), ray-AABB slab and ray-sphere tests
Union-find
graphs · low: Disjoint-set forest with union by size and path compression; merges sets and answers same-set queries in effectively constant time.
›
SIMD programming
hardware-os · low: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.
›
Spatial hashing
physics · low: Uniform grid stored in a hash table: bucket objects by cell, test only neighbouring cells; O(n) neighbour search for many similar-sized objects such as particles.
›
Exact geometric predicates
geometry · low: Robust orient and incircle tests with adaptive-precision floats (Shewchuk) or exact arithmetic
Floating-point error
numerics · low: How IEEE 754 rounding error accumulates and how to contain it: compensated (Kahan/Neumaier) and pairwise summation, error-free transformations with FMA, ULP comparisons.
›
d-ary heap
data-structures · low: Array heap with d children per node (d = 4 typical): half the binary heap's depth, siblings in one cache line, faster priority queues.
›
BFS and DFS
graphs · low: The two basic graph traversals; BFS gives hop distances and levels, DFS gives discovery/finish order for cycles, components and topological order.
›
Newton root finding
numerics · low: Linearize at the guess and jump to the tangent root; quadratic convergence near a simple root, made robust by brackets (1D) or line search.
›
Rigid-body transforms (SE(3) poses)
robotics · low: Represent, compose, invert, integrate and interpolate 3D poses as unit quaternion plus translation, with exp/log maps for small motions and uncertainty.
›
Point in polygon
geometry · low: Ray-casting/winding tests and indexed polygon lookup for reverse geocoding
Fast hash functions
data-structures · low: Non-cryptographic hashes built from 64×64→128-bit multiplies and xor-shifts; pick by key size, trust level and whether the hash is persisted.
›
Homogeneous transforms
geometry · low: 4x4 affine and projective matrices, homogeneous coordinates, view and projection, normal matrices
Fixed timestep loop
graphics · low: Fixed simulation dt with accumulator, render interpolation, spiral-of-death guard
LU and Cholesky factorization
numerics · low: Factor A = PLU (any square matrix, partial pivoting) or A = LLᵀ (SPD) once in O(n³), then solve each right-hand side in O(n²).
›
Sparse matrices (CSR)
numerics · low: Compressed sparse row stores only nonzeros as row pointers, column indices and values; SpMV streams them once, so it is memory-bandwidth bound.
›
Parallel prefix sum
search-sort · low: Work-efficient scan (Blelloch, decoupled look-back) on CPU SIMD and GPUs; stream compaction
Copy for AI
Similar systems
Share the most building blocks with this one.
robotics-sim
25 %
realtime-cloth-fluid
17 %
crash-sim
16 %