The BioDigital Human Particle System

Tarek Sherif

Lead Graphics Engineer, BioDigital

Background

  • We frequently want to visualize
    • Fluid motion
    • Molecular interactions
    • Drug effects

Before the Particle System

  • Particles would be rendered as low-res spheres
  • Each particle would be manually animated by an artist
Asthma Inhaler

Particle System

  • These effects can be efficiently rendered with a particle simulation
    • Draw points
    • Fine-grained simulation components to apply forces/constraints
Nephron Activity

Architecture

  • Particles are separate arrays of properties
    • Position
    • Velocity
    • Color
    • Age

Architecture

  • Particles updated each frame by components
    • Creators: Initialize a property
    • Updater: Update a property each frame
    • Constraint: Ensure a property remains within bounds

Current Component List

  • Creators
    • cube-position, directional-velocity, point-position, sphere-position, cylinder-position, lifetime, random-velocity
  • Updaters
    • age-color-blend, brownian-motion, cylindrical-force, friction, gravity, path, radial-force, sprite-animation, uniform-force
  • Constraints
    • lifetime-kill, lifetime-stop, path-kill, path-radius, path-stop, shape-bounce, shape-kill, shape-stop
  • Shapes
    • cube, cylinder, plane, sphere

Architecture

  • Each component has a minimal function in the sim
  • Allows artists to combine them in expressive ways

Applications

  • Initially limited to basic processes and ambient effects
Ambient Particles
EPO Production

Applications

  • Additional features rolled out over time
    • Textures
    • Component parameter animations
Flame and Smoke
Lipid Bilayer
Blood Cell Sprites

Thanks!