Skip to content

pmpd

pmpd is a collection of objects for Pd (Pure Data), enabling real-time simulations of physical phenomena. These objects facilitate the creation of dynamic natural systems such as bouncing balls, string oscillations, Brownian motion, chaos theory models, fluid dynamics, sand simulations, gravitational interactions and more. Additionally, pmpd allows displacements of physical entities, thus offering a completely dynamic approach of Pd computing.

Utilizing pmpd, users can model physical dynamics without the necessity of knowing the comprehensive equation of motions. Simulations require only an understanding of the movement's causality and the structure involved. pmpd supplies the foundational objects needed for such simulations and their combination allows the creation of a vast variety of dynamic systems. These object are designed to be used within Pd, a real-time graphical programming environment dedicated to audio signal processing. Pd facilitates the creation of objects, making it particularly suitable for physical modeling. The GEM library focuses on image processing and is employed in pmpd examples for visualizing the behavior of physical models. Simulations can be conducted in 1d, 2d or 3d, depending on the objects utilized:

  • mass, link and interactor objects are crafted to function cohesively.

  • pmpd, pmpd2d and pmpd3d are designed to run simulations as singular entities.

  • pmpd~, pmpd2d~ and pmpd3d~ are intended for audio synthesis applications.

Contributors

People who contribute to this project.

Objects

  • iAmbient2D The iAmbient2D object simulates ambient interactions in a 2D space, applying constant, random, and damping forces to named "masses." It also handles displacement if a mass moves outside a defined rectangular area.
  • iAmbient3D The iAmbient3D object simulates ambient interactions within a 3D space.
  • iCircle2D The iCircle2D object simulates circular interactions in 2D space, applying various forces and displacements to an interacting mass.
  • iCircle3D The iCircle3D object simulates the interaction of a named mass with a 3D circular plane.
  • iCylinder3D The iCylinder3D object simulates the interaction between a 'mass' and a 3D cylinder.
  • iLine2D The iLine2D object simulates the interaction of a named "mass" with a defined 2D line.
  • iPlane3D The iPlane3D object simulates the physical interaction between a 3D plane and a specified mass, such as a circle.
  • iSeg2D The iSeg2D object simulates the physical interaction of a mass with a 2D segment.
  • iSphere3D The iSphere3D object simulates interactions between a "mass" and a 3D spherical boundary.
  • link The link object calculates forces between two masses, simulating a physical connection with configurable rigidity and damping.
  • link2D The link2D object simulates a physical link between two masses in a 2D space.
  • link3D The link3D object simulates a physical link between two masses in a 3D environment.
  • mass The mass object simulates a physical mass, calculating its position, velocity, and applied force based on incoming forces and its defined weight.
  • mass2D The mass2D object simulates a 2D mass, calculating its position and velocity based on applied forces, weight, and damping.
  • mass3D The mass3D object simulates a mass in a 3D space, calculating its position and velocity based on applied forces, weight, damping, and boundary conditions.
  • pmpd The pmpd object in Pure Data implements a mass-spring-damper physical model.
  • pmpd2d The pmpd2d object implements a 2D mass-spring-damper physical model, designed for particle-based simulations in Pure Data.
  • pmpd2d~ The pmpd2d~ object performs 2D particle-based physical modeling for audio synthesis.
  • pmpd3d The pmpd3d object implements 3D physical models based on a mass-spring-damper system.
  • pmpd3d~ The pmpd3d~ object is a 3D particle-based physical modeling engine designed for audio synthesis.
  • pmpd~ The pmpd~ object is a 1D particle-based physical modeling external for audio synthesis in Pure Data.
  • tCircle2D The tCircle2D object determines if a 2D "mass" is within a specified circular region.
  • tCircle3D The tCircle3D object is designed for testing the 3D position of a "mass" relative to a user-defined circular region.
  • tCube3D The tCube3D object determines if a given 3D point (referred to as a "mass") is located within a user-defined 3D bounding box.
  • tCylinder3D The tCylinder3D object defines a 3D cylindrical volume and tests if a given 3D point (referred to as a "mass") is located within its boundaries.
  • tLine2D The tLine2D object defines a 2D line segment using two points and tracks the position of a "mass" relative to it.
  • tLink2D The tLink2D object calculates properties of a link connecting two masses in a 2D physical simulation.
  • tLink3D The tLink3D object in Pure Data is designed for 3D physical modeling, simulating a link between two masses.
  • tPlane3D The tPlane3D object simulates interactions involving a 3D plane.
  • tSeg2D The tSeg2D object tests the position of a "mass" relative to a defined 2D line segment.
  • tSphere3D The tSphere3D object performs a spherical test to determine if a "mass" (likely a point or object) is located within a defined 3D spherical region.
  • tSquare2D The tSquare2D object tests if a given 2D mass position falls within a defined square region.