Está en la página 1de 16

Sistemas de simulacin fsica y sistemas complejos :

Relevamiento de herramientas de software y hardware para la generacin de


imagen lineal o interactiva
Autor: Tarcisio Lucas Pirotta
Proyecto de investigacin El Arte Generativo en las Artes Multimediales Director Carmelo Saitta
IUNA / Artes Multimediales Yatay 843 Ciudad Autnoma de Buenos Aires tel : 4862.8209

tarcisiopirotta@hotmail.com

Palabras clave
Simulacin, fsica, software, libreras, partculas

Introduccin
El presente trabajo es un relevamiento de herramientas de software, algoritmos y hardware,
desarrolladas recientemente para generacin de sistemas de simulacin fsica y sistemas complejos
aplicados a la generacin de imagen, tanto para producciones lineales o interactivas en tiempo real.
Los algoritmos de colisin y simulacin fsica han logrado tal nivel de optimizacin que permitieron su
aplicacin en simulaciones de tiempo real no solo en el campo cientfico, comercial o del
entretenimiento (basicamente orientado al el desarrollo de video juegos), sino que tambien han
expandido sus posibilidades a computadoras personales permitiendo generar entre otras cosas
aplicaciones artsticas interactivas.
Desde entonces, la simulacin fsica dej de ser una tecnologa reservada para grandes compaas
con un gran capital financiero. Ahora desarrolladores, acadmicos, programadores y estudiantes
pueden aprender y explorar con esta tecnologa, en especial gracias a la aparicin de varios Physics
engines1 a modo de libreras de cdigo abierto, principal objeto de anlisis de este trabajo.

Sistemas de simulacin fsica y sistemas complejos

Comenzaremos haciendo referencia a algunos conceptos relevantes, como ser los sistemas
complejos y los sistemas de simulacin.
Un Sistema Complejo est compuesto por varias partes interconectadas o entrelazadas cuyos
vnculos crean informacin adicional no visible antes por el observador. Como resultado de las
interacciones entre elementos, surgen propiedades nuevas que no pueden explicarse a partir de las
propiedades de los elementos aislados. Dichas propiedades se denominan propiedades emergentes.
Con respecto a los sistemas de simulacin fsica podemos decir que son modelos que tratan de
simular, reproducir y representar el comportamiento que tienen los objetos en la realidad acuerdo a
las leyes fsicas que nos rigen.
Las simulaciones se ejecutan de forma cclica, calculando el estado de los cuerpos durante intervalos
discretos de tiempo. Los pasos de una simulacin fsica interactiva son estos:
1- Calculo de sumatoria de fuerzas iniciales: gravedad, torques, y otras fuerzas inducidas por
controladores.
2- Con estas fuerzas se estiman las trayectorias que estos cuerpos realizarn en el siguiente intervalo
de tiempo integrando las ecuaciones de movimiento newtonianas.
1

motor fsico en ingles, es una expresin empleada en informtica para referirse a un software capaz de realizar
simulaciones de ciertos sistemas fsicos como la dinmica del cuerpo rgido, el movimiento de un fluido y la elasticidad. Se
emplean sobre todo en la industria de los videojuegos.

3- Se calculan los punto de contacto entre las superficies de los modelos de colisin mediante
intersecciones geomtricas. Se aplican algoritmos avanzados que permiten determinar el punto y el
vector de tangencia que separa dos objetos de superficie convexa. Los objetos cncavos se
representan como un conjunto de objetos convexos.
Estos algoritmos de colisin detectan tambin la distancia y eje de separacin entre cuerpos lo que
permite estimar el tiempo de colisin dadas las trayectorias estimadas en el paso anterior. Con el dato
de tiempo estimado de colisin cada cuerpo reajusta su posicin evitando atravesar como un
fantasma un muro por efecto de un desplazamiento grande durante un intervalo de tiempo.

1.1

Antecedentes

1.1.1 Video juegos


El principal antecedente de estos sistemas de simulacin son los video juegos. La Fsica en los
juegos ha sido fundamental desde los inicios de la industria en los aos 70s. Desde el clsico Pong
hasta los complejos simuladores de vuelo usados por la Fuerza Area de los Estados Unidos. Sin
embargo, aunque la Fsica en los primeros juegos cumpla un papel fundamental, su aplicacin fue
muy limitada debido a la falta de hardware capaz de realizar extensos clculos numricos en tiempo
real.
Por lo general la gran mayora de juegos de arcade limitaban su funcionamiento a simulaciones
discretas de autmatas finitos simplificados. La secuencia de ejecucin de las acciones de los
agentes inteligentes se realizaban por turnos, y el dinamismo era casi nulo.
Algunos Juegos como Pacman y Mario Bros podan ofrecer la ilusin de dinamismo implementando
simples rutinas de movimiento lineal.
En este tipo de juegos los carros son representados internamente en el programa como simples
celdas que se desplazan en una gran matriz; esta matriz se visualizaba en el juego como la pista
prediseada que el usuario tendra que atravesar evitando los obstculos (celdas ocupadas). En la
pantalla estas celdas cobraban vida como imgenes pinceladas del escenario. Para hallar colisiones
entre el carro del jugador y el escenario se verificaba de forma discreta si el carro se encuentra en la
celda ocupada por otro carro o por un rbol. Aqu, la fsica de newton nada tena que ver: la
aceleracin se basaba en la rapidez a la cual se desplaza la celda del carro entre las filas de la
matriz, pero ante los ojos del jugador daba la ilusin de que se desplazaba a gran velocidad por una
autopista en las playas de Miami.
Solo hasta el final de los 80s una serie de juegos de carros de PC revolucionaron la simulacin fisica
en tiempo real: La serie Test Drive, y el titulo ms famoso de esta fu Stunt Racer para MS-DOS y
Amiga. Solo hasta la aparicin de este juego las ecuaciones de Newton al fin salieron la luz a traves
del monitor del computador. Este juego ha dado las bases para otros titulos de consolas como Need
For Speed, Nascar y Daytona Racer.
Posteriormente se establecieron las bases del algoritmo fundamental de toda simulacin fsica, el cual
consiste en lo siguientes principios:

Los objetos estn compuestos de un Modelo de Colisiones el cual representa la superficie


geomtrica de este, y el Modelo de Cuerpo Rgido el cual define las propiedades dinmicas
de este tales como posicin, orientacin , velocidad, aceleracin, masa y distribucin de
inercia (usado en la dinmica de rotaciones).

Los objetos pueden interactuar entre si aplicndose fuerzas entre ellos, ya sea por colisiones
elsticas o por ests enlazados mediante alguna articulacin (bisagras, eslabones, resortes).

1.1.2 Arte
Podramos considerar a Karl Sims ( http://www.karlsims.com
) como principal antecedente del
desarrollo de estas tcnicas de simulacin aplicadas al campo artstico, en este caso aplicado a la
generacin efectos visuales. Este artista digital e investigador cientfico desarroll una serie de
trabajos en el campo de la simulacin de sistemas complejos y modelos evolutivos. Como resultado

de sus investigaciones fundo GenArts, una importante empresa de software dedicada a la creacin de
efectos visuales.
Entre sus trabajos interactivos podemos mencionar a Galpagos(1997) y Genetic Images (1993) y
entre sus desarrollos de animacin computada lineal no interactiva se destacan Evolved Virtual
Creatures (1994) y Liquid Selves (1992) y Panspermia (1990).

figura 1: Evolved Virtual Creatures y Panspermia | http://www.karlsims.com

Golan Levin ( http://www.flong.com/ )es una artista, diseador y compositor interesado en la creacin
de dispositivos y experiencias que exploren nuevos modos de expresin audiovisual. Su trabajo se
enfoca en el diseo de sistemas para la creacin de performances tanto de sonido como imagen.
Como resultado de esto surge entre otros proyectos, Messa di Voce, una serie performances
audiovisuales en las cuales la voz, los gritos y canciones producidas por vocalistas son
materializadas en tiempo real por aplicaciones de visualizacin y simulacin interactiva
especialmente desarrolladas para la sntesis de la imagen a base de sistemas complejos.

Figura 2:Izquierda Fluid. Derecha Bounce (Jaap's Solo) | www.tmema.org/messa/messa.html

Por ultimo podemos citar a Mine Control ( www.mine-control.com ), un grupo de artistas que
empleando conocimientos adquiridos en la industria del video juego desarrolla sus propias
herramientas para producir instalaciones interactivas e introducir a los participantes en novedosas
tcnicas de interaccin que comprometen ntegramente cuerpo del usuario.
Como ejemplo de este tipo de dispositivos, es oportuno hacer referencia a "Mariposa" o Sand, dos
instalaciones que ofrecen al usuario la posibilidad de interactuar con diversos elementos virtuales a
travs de la propia sombra que proyecta el cuerpo sobre la pantalla.

Figura 3 :Izquierda Sand. Derecha Mariposa | www.mine-control.com

1.2

Libreras simulacin fsica de entornos en 2D

Estas libreras estn destinadas al la generacin de aplicaciones en 2D especialmente utilizadas en


entornos de programacin como Processing y Adobe Flash.

1.2.1 Box2D
ttp://box2d.org/
Box2D es un motor open source de simulacin fsica en 2D escrito en C++ por Erin Catto y que ha
sido utilizado en conocidos juegos como el Crayon Physics Deluxe, Rolando, Fantastic Contraption,
Incredibots, Angry Birds, Transformice y Stripe physics.
El motor se origin como parte de un tutorial de simulacin fsica para la Game Developer Conference
en marzo del 2006 y es es compatible para plataformas Nintendo DS, Wii, Android y iPhone como
tambin en la mayora de los sistemas operativos. El motor ha sido adaptado en varias libreras para
otros entornos y lenguajes de programacin, como Java, Adobe Flash y Processing.
El sistema de deteccin y resolucin de partculas consta de tres partes: un barrido incremental y
corte de fase amplia, una unidad de deteccin de colisiones continua y generador de contacto en
tiempo continuo. Estos algoritmos permiten eficientes simulaciones rpidas y con grandes pilas sin
perder colisiones o causar inestabilidad.
Dentro de las capacidades del motor, podemos mencionar las siguientes:
Colisiones:
- deteccin continua de colisiones
- deteccin simultnea de mltiples contactos
- crculos y polgonos convexos
Fsica:
- gravedad
- contacto, friccin, restitucin
- correccin de posicin desacoplada
- precisin de fuerzas de reaccin e impulso
Uno de los principales conceptos de Box2D es el de mundo (world).El mundo definido en Box2D
maneja todo dentro de la simulacin definida. Este almacena un listado de todos los objetos
presentes, as como todos sus puntos de conexin.
Al ser creado, el mundo requiere de 3 parametros:

- AABB (axis-aligned bounding box), es decir una caja que define los bordes del universo a
simular. Estoes importante, porque Box2D ignora cualquier cosas existente fuera de esa caja
- Gravedad, se debe definir un vector de gravedad, su fuerza y direccin. No tiene porque ser fija,
puede ser modificada en cualquier momento en que el programa este siendo ejecutado.
- DoSleep, este es un argumento boleano que por lo general se define siempre como verdadero,
indica al sistema que los objetos pueden dormir (sleep) cuando se les indica que descansen (rest).
Conociendo estos tres conceptos mencionados, es posible crear un mundo Box2D.

Podemos mencionar como ejemplo de la aplicacin de esta librera los siguientes proyectos:

1.2.1.1

TouchPhysics

http://www.info-design.net/multitouch/
TouchPhysics es un prototipo de software educativo para el aprendizaje de leyes fsicas
implementado sobre una mesa tangible creado por Andrea Mller y Jrgen Rhm de la Stuttgart
Media University (HdM), Stuttgart , en Alemania.
La aplicacin fue desarrollado para una pantalla Evoluce-ONE 2 integrada con GestureWorks3 en
plataforma Flash, empleando ActionScript3 y el motor fsico Box2D.

Figura 4: Touch Physics |

1.2.1.2

http://www.info-design.net/multitouch/

Crayon Physics

http://www.crayonphysics.com/
Crayon Physics es un video juego diseado por Petri Purho en 2008, y emplea como motor fsico a
Box2D. El juego es un atecedente importante en la simulacin fisica de distintos comportamientos
como la gravedad, masa y energa kinetica. Estos principios son parte esencial del juego, ya que el
mismo consiste en dibujar una serie de elementos que, segn su comportamiento fsico y la accin
que el usuario realice sobre los mismos, permitan poner en movimiento una pelota y moverla desde
su posicin original hasta un punto de llegada para poder cumplir con la meta de la escena.

Evoluce es una mesa sensible multi touch con funcin hptica y Full HD, con una resolucin de 19201080 pxeles, el
dispositivo de la pantalla permite reconocer manos, dedos y lpices como interfaces de control. http://evoluce.com

GestureWorks es una librera de cdigo abierto para captacin de gestos orientada a la creacin de aplicaciones para
pantallas tctiles con ms de 200 gestos identificados. Este motor se integra fcilmente en plataformas como Flash o Flex.
Es compatible con el protocolo TUIO permitiendo diversos modos de colectividad. www.gestureworks.com/

Figura 5: Crayon Physics

1.2.1.3

http://www.crayonphysics.com/

Limbo

http://limbogame.org/
Limbo es un jugo de platformas de origen danes, se lanz en julio del 2010 de manera exclusiva para
Xbox Live Arcade, y posteriormente para PlayStation Network and Microsoft Windows. Es una
aplicacin de recorrido en 2D que incorpora un sistema fsico diseado con Box2D, que maneja los
objetos del entorno y el personaje del jugador. Siguiendo una lnea similar al Crayon Physics, en
Limbo el jugador debe guiar al personaje para que atraviese diferentes obstaculos y debe encontrar
soluciones a diferentes problemas para poder continuar su recorrido. El juego se presenta en forma
monocromatica en blanco y negro, utilizando luces y grano de pelicula asi tambien como minimos
sonidos de ambiente paa crea una atmosfera densa, cercana al horror.Es considerado un ejemplo del
video juego como arte.

Figura 6: Capturas de Limbo Game |

http://limbogame.org/media/

La librera Box2D cuenta con varias versiones adaptadas para diferentes entornos, especialmente
Processing, dentro de las cuales podemos mencionar las siguientes:

1.2.1.4

JBox2D

http://www.jbox2d.org/
Es una versin para Java del motor Box2D creado por Erin Catto. El proyecto esta encabezado por
Daniel Murphy, alis toucansam, y fue iniciado a finales de 2007 por quixote_arg ( www.jengibre.com.ar ) y ewjordan ( http://www.ewjordan.com/ ).

1.2.1.5

Pbox2d

https://github.com/shiffman/PBox2D
Daniel Shiffman (http://www.shiffman.net/) observo que algunas librerias desarolladas para
processing, como Jbox2D por ejemplo, tenian un excelente renidmiento pero al instalarla el usuario se
encontraba con una gran coleccin de archios java, que no eran ciertamente muy accesibles para los
programadores de processing. Su objetivo fue crear una serie de ejemplos simples que, aunque no
son tan variados como los que ofrece jbox2d.org, facilitan bastante el abordaje a Box2D dentro de
processing.
De esta manera desarroll Pbox2D, una librera para Processing que bsicamente lo que realiza es
definir una serie de parmetros para creacin del mundo (world) y ofrece un facil acceso a algunas
funciones que son llamadas constrantemente, sin embargo requiere un conocimiento previo de los
objetos de Jbox2D.

Figura 7: Proyectos desarrollados por Daniel Shiffman | http://www.shiffman.net/

1.2.1.6

Box2DFlash

http://www.box2dflash.org/
Librera open source creada por Boris (http://personal.boristhebrave.com/ ) en base del motor Box2d
anteriormente mencionado, que permite ser ejecutado dentro del entorno de Flash, podramos
definirlo como una versin en actionScript3 de Box2d.

1.2.1.7

Fisica

http://www.ricardmarxer.com/fisica/
Librera creada por Ricard Marxer para el entorno de Processing a inicios del 2011. Es un simple
wrapper4 de Jbox2D que intenta hacer mucho mas fcil la creacin de modelos fsicos utilizando
objetos del motor dentro del mismo Processing
Podemos mencionar como ejemplo de esta librera una serie de atractores realizados por el autor de
la librera, donde trata de explotar el potencial intuitivo de las interacciones mas bsicas y que logran
producir a partir de procesos simples resultados interesantes y sorprendentes.

Envoltura. En programacin se denomina de esta forma a un programa que controla el acceso a un segundo programa.
Facilita el acceso y la inclusin de libreras y motores en diversas plataformas.

Figura 8: Serie de atractorres |

1.2.1.8

http://www.ricardmarxer.com/mechanical_attractors/

BoxWrap2D

http://jbox2d.nfshost.com/processing/
Es un un proyecto bastante reciente que se encuentra en una versin pre-alpha, desarrollado por
ewjordan, BoxWrap2D es una aplicacin que corre por encima de Jbox2D, permitiendo su integracin
con Processing.

1.2.2 APE
http://www.cove.org/ape/
APE (Actionscript Physics Engine) es un motor de simulacin fsica 2D gratuito de cdigo abierto
escrito en AS3 para Flash y Flex, desarrollado bajo la licencia de MIT por Alec Cove. Presenta las
siguientes caracteristicas:
Partculas circulares:
- fijas o no fijas
- de masa , elasticidad y friccin variable
Partculas rectangulares:
- rotacin
- fijas o no fijas
- de masa , elasticidad y friccin variable
Partculas toroidales:
- traccin y velocidad angular
- de masa , elasticidad y friccin variable
Resortes:
- limitaciones
- colisionables o no colisionables

figura 9: Demos | http://www.cove.org/ape/demo1.htm

1.2.3 Fisix Engine


www.fisixengine.com/
Fisix Engine es un motor de simulacin fsica en 2D diseado para Adobe Flash, que utiliza
algoritmos Verlet5. Esta escrito completamente en AS3 ( ActionScript3 ) para poder ser utilizado en en
flash player mejorando las capacidades del CPU. Aunque la plataforma de Flash es mas lenta
comparada con otras como c/c++, or java, este motor permite realizar interesantes aplicaciones 2D
con una ptima simulacin de partculas y cuerpos rgidos en tiempo real.
Como se menciono anteriormente , este motor utiliza mtodos del algoritmo Verlet debido a que son
mtodos rpidos y estables. La estructura de la librera del motor es orientada a objetos, con lo cual
cada parte funciona como un objeto independiente con tareas especficas.

Figuar 10: Capturas de Mona the Ragdoll y Bike Game | www.fisixengine.com/

1.2.4 FOAM
http://code.google.com/p/foam-as3/
FOAM es un motor fsico 2D de cuerpos rgidos escrito en ActionScript 3.0. Fue pensado como una
referencia estructural y matemtica para desarrolladores interesados en simulaciones fsicas en el
rea de los video juegos.

Figura 11: Demos |

http://drawlogic.com/2007/11/07/as3-foam-2d-physics-engine/

Mtodo ms ampliamente usado en los programas de dinmica molecular. Este algoritmo usa las posiciones y
aceleraciones al tiempo t, y las posiciones del paso previo, r(t-t) para calcular las nuevas posiciones en t+t, r(t+t).

1.3

Libreras simulacin fsica de entornos en 3D

1.3.1 Bullet Physics


http://www.bulletphysics.com
Bullet Physics es una importante librera de cdigo abierto para la deteccin de colisiones y
simulacin fsica de cuerpos rgidos en 3D que esta siendo utilizada por las principales empresas en
el rea de los video juegos. Recientemente el estudio de programacin Disney Avalanche ha lanzado
al mercado su juego Toy Story 3 para las plataformas PlayStation 3, XBox 360 y Wii, empleando para
su desarrollo Bullet physics. La librera se ha probado a si misma en otros emprendimientos de la
industria cinematogrfica como 2012 (Sony Pictures ), Megamind y Shrek ( Dreamworks ).

Figura 12: Cuadro de la pelicula Megamind |

http://wikysdiary.blogspot.com/2010/12/megamind.html

1.3.2 Momentum
http://www.exocortex.com/simulation/momentum
Momentum es una librera desarrollada por Exocortex Technologies 6, escrita y diseada por Helge
Mathee, fue pensada desde su concepcin para generar resultados en tiempo real y al mismo tiempo
mantener la flexibilidad, el control y la solidez en la simulacin que necesita el artista o usuario. La
herramienta esta basada en otra librera que ha demostrado gran solidez, la ya mencionada Bullet
Physics.
Provee soporte para los siguientes fenmenos fsicos y sus interacciones: Cuerpos rgidos y blandos,
ropa, cuerdas, restricciones y deformaciones para Diagramas de Confiabilidad de Bloques (RBD),
intereacciones, filtrado de colisiones y plasticidad.

Exocortex Technologies es una compaa tecnolgica que se especializa en el desarrollo de avanzado de software en las
reas de visualizacin y simulacin de imagen en 3D orientadas a la creacin de efectos visuales para contenidos de cine,
video juegos y aplicaciones artsticas basados en C#, C++ y .NET.

Figura 13: Ejemplos de simulaciones |

http://www.exocortex.com/simulation/momentum

1.3.3 Newton
http://www.newtondynamics.com
Desarrollada por ulio Jerez y Alain Suero, Newton Game Dynamics es una librea de cdigo abierto
para la simulacin de entornos fsicos en tiempo real. La librera ofrece manejo de escena, deteccin
de colisiones y conductas dinmicas. El motor que posee implementa algoritmos deterministas que no
estn basados en los tradicionales mtodos interactivos o LCP ( Link Control Protocol ) , pero que sin
embargo logra una estabilidad y velocidad similares a las obtenidas si se utilizaran los mtodos
mencionados. Actualmente se encuentra disponible para Windows, Linux, MAC (incluyendo iPhone y
iPod touch).
Entre los proyectos desarrollados con esta librera, podeoms mencionar los siguientes video juegos:
Disc Drivin (Pixelocity Software) y 10 Pin Shuffle (Digital Smoke) ambos para iphone, Titanic - Der
Tauchfahrt Simulator (TML-Studios) y Barrel Mania.

figura 14: Disc Drivin | http://www.pixelocitysoftware.com/

1.3.4 Solid
http://www.dtecta.com
SOLID es una librera para la deteccin de colisiones de objetos geomtricos en en 3D que permite
realizar teste de proximidad con diferentes tipos de formas, incluyendo: mallas triangulares
deformables, cajas, elipses, y poliedros convexos. La herramienta es especialmente til para la
deteccin de colisiones entre objetos que e mueven lentamente en el tiempo. El movimiento de los
objetos es controlado por la aplicacin cliente y no son afectados por Solid. Tambin se puede
emplear para la simulacin fsicas, aunque no se considera un motor fsico propiamente, delega en
otras libreras la aplicacin de las leyes fsicas.
El empleo de la herramienta es ideal en las reas de desarrollo de juegos , realidad virtual e
investigacin.

1.3.5 PhysX
http://physxinfo.com/
PhysX es un motor de simulacin fsica que funciona como aplicacin intermedia o "middleware"
diseado para llevar a cabo clculos fsicos muy complejos. Conocido anteriormente como la SDK de
NovodeX, fue originalmente diseado por AGEIA y actualmente desarrollado por Nvidia e integrado
en sus placas grficas y en consolas como la Playstation, por lo cual tambin podemos considerarlo
como un hardware. Estas placas integradas con PhysX producen una aceleracin en el proceso,
liberan a la CPU de tareas propias del renderizado de la imagen, proporcionando imgenes ms
fluidas.
Los motores fsicos de middleware permiten a los desarrolladores de animaciones y video juegos
abstraerse durante el desarrollo, ya que la herramienta proporciona funciones especializadas en
simulaciones fsicas complejas, lo cual da como resultado una alta productividad en la escritura de
cdigo. Actualmente se encuentra disponible para desarrolladores en plug-in para Autodesk 3ds Max
y Maya

figura 15: pantallas de los plug-in para 3Ds Max y Maya | http://physxinfo.com/

1.3.6 Simulink
http://www.mathworks.com/products/simulink/
Simulink motor de simulacin de alto nivel que funciona sobre el entorno de programacin Matlab 7 .
Podramos definirlo como una herramienta de simulacin de modelos o sistemas, con cierto grado de
abstraccin de los fenmenos fsicos involucrados en los mismos. Se hace hincapi en el anlisis de
sucesos, a travs de la concepcin de sistemas (cajas negras que realizan alguna operacin).
Se emplea arduamente en Ingeniera Electrnica en temas relacionados con el procesamiento digital
de seales (DSP), involucrando temas especficos de ingeniera biomdica, telecomunicaciones,
entre otros. Tambin es muy utilizado para la stintesis y procesamiento de imagen, video, y en
Ingeniera de Control y Robtica.
Una aplicacin bsica de simulink combinado con arruino, una cmara y motores servo permite
reproducir un modelo fsico conocido como Ball on Plate (bola en plato) donde una plataforma
robtica hace mover una pelota pero mantenindola siempre dentro de la misma, calculando los
ngulos de inclinacin y la duracin de los movimientos para que la pelota no caiga fuera de la
plataforma.
7

MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un software matemtico de alto nivel que ofrece
un entorno de desarrollo integrado (IDE) con un lenguaje de programacin propio (lenguaje M) y que permite realizar tareas
y clculos mas rpidamente en relacin a otros lenguajes como el C, C++ o Fortran. Est disponible para las plataformas
Unix, Windows y Apple Mac OS X. Entre sus prestaciones bsicas se hallan: la manipulacin de matrices, la
representacin de datos y funciones, la implementacin de algoritmos, la creacin de interfaces de usuario (GUI) y la
comunicacin con programas en otros lenguajes y con otros dispositivos hardware.

Figura 16: Ball on plate | http://www.youtube.com/watch?v=JwS0zQOs_oA

1.3.7 Sapphire Visual Effects


http://www.genarts.com/
El motor Sapphire es desarrollado por la empresa GenArts, fundada por el anteriormente mencionado
Karl Sims.
Es un software utilizado mundialmente por los mejores artistas y creadores para disear efectos
realmente sorprendentes. Posee un plug-in llamado ParticleIllusion especialmente diseado para el
trabajo con simulacion de particulas y sistemas complejos.

Figura 17: Visa del antes y despues de una escena aplicando Sapphire | http://www.genarts.com/

1.4

Hardware

1.4.1 Cmara Kinect


http://openkinect.org/
El lanzamiento de Kinect en noviembre del 2010 marco un hito importante en la historia de los
videojuegos y aplicaciones interactivas.
Kinect para Xbox 360, o simplemente Kinect (originalmente conocido por el nombre en clave Project
Natal), es un dispositivo, cuyo elemento central es la propia cmara Kinect, creado por Alex Kipman,
desarrollado por Microsoft para la videoconsola Xbox 360. Lo novedoso del dispositivo es que permite
a los usuarios controlar e interactuar con la consola sin necesidad de tener contacto fsico con un
controlador de videojuegos tradicional, mediante una interfaz natural de usuario que reconoce gestos,
comandos de voz, objetos e imgenes.

Resulta interesante analizar este dispositivo ya que da total libertad al usuario y es la combinacin
ideal para varias de las herramientas de simulacin anteriormente analizadas, ya que permite un
control intuitivo y real, es un complemento para que la simulacin no solo est presente en el
contenido de la aplicacin, sino tambien su control e interactividad fsica real.
Lo ms novedoso de la cmara Kinect es que incorpora unos sensores 3D, unos leds infrarojos que
proyectan una trama, que al reflejarse en algun objeto o usuario, reconstruyen una matriz
tridemencional, lo que le permite al dispositivo tener un registro en profundidad de los objetos,
ademas de una captacion optica en 2D.

Figura 18: Cmara kinect. Puntos proyectados por los leds infrarrojos para la captacin en 3D
http://www.xbox.com/es-es/kinect

El dispositivo tuvo como objetivo primordial aumentar el uso de la Xbox 360 y competir con los
sistemas Wiimote y PlayStation Move, que tambin controlan el movimiento para las consolas Wii y
PlayStation, respectivamente. Sin embargo rpidamente las potencialidades de la cmara fueron
empleadas para el desarrollo de otras aplicaciones, utilizando la cmara de manera independiente en
en diversos sistemas operativos y plataformas, como un dispositivo que excede a la consola Xbox.
OpenKinect ies una comunidad abierta de desarrolladores interesada en utilizar la asombrosa cmara
Kinect en computadoras y otros dispositivos, desarrollando libreras de cdigo abierto que permiten a
las Kinect ser usada con Windows, Linux y Mac. La tendencia impuesta por esta comunidad de
desarrolladores y programadores ha dado origen a lo que se conoce como Kinect hacking, del cual
han surgido varias librerias y aplicaciones. De estos desarrollos podemos mencionar las libreras de
cdigo abierto para Processing openkinect desarrollada por Daniel Shiffman y dLibs de Thomas
Diewald, como as tambien primeSense, un emprendimiento alternativo a la kinect.
Como ejemplos de aplicaciones orientadas al area de la creacin artstica cabe mencionar el trabajo
Kinect Graffiti&trade del artista frances Jean-Christophe Naour ( jcnaour.com/ ).
Kinect Graffiti es una herramienta de graffiti digital que utiliza la cmara "Microsoft Kinect". La idea es
utilizar la cmara Kinect para registras el movimiento que genera el graffiti. Visualizando el cuerpo y
dibujando desde diferentes ngulos en tiempo real, comprendiendo el espacio que rodea al sujeto,
deteniendo el tiempo, etc... Kinect Graffiti es una herramienta creada con bibliotecas openGL,
SimpleOpenNI, openNI y primeSense.

Figura 19: Kinect Graffiti&trade | http://jcnaour.com/#Kinect-Graffiti-

Otro ejemplo es Catalina, un video clip creado por Moullinex. Para la realizacin de este video se
utilizo la librera de Daniel Shiffman. Se realizaron algunas modificaciones a la misma para poder
obtener la data 3D y colocarla dentro del editor de imagen, en este caso el Cinema 4D y After Effects.
Figura 20: Catalina | http://www.creativeapplications.net/processing/moullinex-catalina-processingkinect/

1.5

Conclusin

Primeramente debemos aclarar que inicialmente la idea de este trabajo era ampliar el relevamiento de
estas herramientas al mbito del sonido. Si bien el empleo de la simulacin fsica para control de
movimientos e interacciones entre objetos en un entorno 3D se ha vuelto algo casi comn en relacin
a la produccin de imagen, esta idea no se ha extendido en un sentido general al mbito del sonido.
Por lo general los componentes de un sistema sonoro dinmico comprenden sonidos pre-grabados
que son ejecutados en respuesta a determinados eventos.
En el proceso de elaboracin de este trabajo no se han encontrado libreras o aplicaciones que
permitan emplear los modelos de simulacin de una manera anloga a las libreras relevadas y
anteriormente descritas para la produccin de imgenes.
Finalmente luego del recorrido realizado por las diferentes herramientas de software y hardware para
la simulacin fsica y de sistemas complejos, es posible concluir en primer lugar que el avance
tecnolgico de los ltimos aos, en especial aquellos provenientes de la industria del entretenimiento,
han favorecido el desarrollo de diversas herramientas que actualmente se encuentran fcilmente
disponibles para desarrolladores y artistas en una serie de libreras, la gran mayora de cdigo abierto
gratuito. Ests aplicaciones no requieren el elevado nivel de conocimientos en programacin que
requerira la generacin completa de algoritmos para la creacin de los modelos de simulacin, sino
que brindan una serie de modelos bsicos ya resueltos, como quien dice listo para usar.
Como segunda reflexin, podemos indicar que la implementacin de estas herramientas en el
proceso de creacin artstica es un aporte positivo, ya que pone a disposicin de los artista un
recurso ms de expresin y comunicacin, donde la tecnologa contribuye en la creacin del
contenido y del enriquecimiento esttico del discurso.

1.6

Referencias bibliogrficas

[1] http://processing.org/
[2] http://www.wikipedia.org/

[3] http://web.mit.edu/
[4] http://elybob.wordpress.com/2011/05/21/physics-engines/
[5] John Maeda (2004) Creative Code: Aesthetics + Computation,Ed. Thames & Hudson
[6] Kenny Erleben/Sporring Physics Based Animation" , Ed. Charlers River Media.
[7] Christer Ericson "Real-time collision detection" Ed. Morgan Kaufmann.
[8] Gino van den Bergen "Collision Detection in 3D environments", Ed. Elsevier.

También podría gustarte