Particle System in openFrameworks

Español

Como proyecto final para el Taller de OpenFrameworks de Patricio Gonzalez Vivo (CC San Martin, 2013),  programé un simple Sistema de Partículas que simula Confetti..!!

OpenFrameWorks es un framework de C++ para programar visuales e interactividad.

La aplicación Confetti tiene todas propiedades básicas de un sistema de partículas, como ser:

  • Vectores de Posición, Velocidad, Aceleración, y Amortiguación.
  • Vector de Gravedad.
  • Emisor con Fuerza y Cono de Divergencia controlada por el Usuario.
  • Colores, y más Colores!!!!
  • Simulación de Viento simple (Fuerza, Turbulencia y varios Vectores).

El usuario puede disparar Confetti al espacio virtual. Para esto, debe dibujar un Gizmo de Emisión mientras arrastra el mouse. Puede hacer esto cuantas veces quiera. Cuando ya esta satisfecho, puede repetir la acción, pero esta vez con el botón secundario del mouse apretado. Esto no dispara confetti, sino que crea un Gizmo similar al anterior, pero para el Viento, que suavemente transporta las particulas fuera de la pantalla. Dependiendo de cómo salen de la pantalla, la aplicación se comunica con otra computadora que esta ejecutando un Sintetizador de Sonido, para crear un sonidito especial para cada partícula.

La aplicación salió muy linda visualmente, asi que “El Museo del Juguete”, en San Isidro, Buenos Aires, me invitó, junto con otros programadores con proyectos similares, a exponer en un show tecnológico para niños. Entre ellos se encontraban Patricio Gonzalez Vivo, Jorge Crowe, Juan Pablo MacDougall y Mario Alejandro Alzamora.

Una experiencia muy alegre, especialmente experimentando las reacciones y el nivel de participación que tenian los niños, con algo tan simple pero visualmente sorprendente como esto…!!

Gracias a Patricio Gonzalez Vivo, y Daniela Pelegrinelli (La Directora del Museo).

Codeado en openFrameworks.


 

English

As the final project for Patricio Gonzalez Vivo’s openFrameworks WorkShop (CC San Martin, 2013), I coded a simple particle system to simulate confetti bursts..!!

openFrameworks is a C++ framework for programming visuals and interactivity.

Confetti has all the basic features of a particle system, such as:

  • Position, Velocity, Acceleration and Dampening Vectors.
  • Gravity Vector.
  • Emitter with a user controlable Strength and Divergence Cone.
  • Colors, and more colors!!
  • Simple Wind simulation (Strength, Turbulence and Directional Vectors). Also, user controlable.

The user is able to shoot confetti into de virtual air, by drawing an emitter gizmo while dragging the mouse. He can do this as many times as he wants. When he is satisfied, he can drag the mouse the same way, but with the secondary mouse button pressed. This will not shoot confetti, but create a similar Gizmo, but for the Wind, that would swiftly hover the confetti out of the screen. Depending on how they left the screen, the app communicates with another computer that is running a Sound Generator, to create a special tinkle for every particle.

The application came out pretty cute, visually, so “El Museo del Juguete” (The Toy Museum) at San Isidro, Buenos Aires invited me and other people with similar projects to show be part of a technology fancy expo for little kids. Among them, Patricio Gonzalez Vivo, Jorge Crowe, Juan Pablo MacDougall and Mario Alejandro Alzamora.

A really nice experience, especially watching the reaction and engagement the kids had with something as simple but visually surprising as this..!!

Thanx to Patricio Gonzalez Vivo, and Daniela Pelegrinelli (The Director of the museum)..!!

Coded in openFrameworks.

 


 

A ScreenCap

A Debbuging Session

 

 

Un Niño Curioso

Jugando!

 

This entry was posted in openFrameworks, Programacion - Code, Show and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>