num3ric :: blog

Algorithm + Creation + Interaction + Simulation

March 26, 2012 at 2:21am

Reblogged from morpholux
Schéma du setup de Rythmages3.12 en provenance de morpholux

Schéma du setup de Rythmages3.12 en provenance de morpholux

12:18am

Rythmages 3.12 - Nuit Blanche

Le mois dernier, en collaboration avec Louis Hébert et Jean-François Renaud, j’ai eu le plaisir de participer à la conception d’une projection interactive dans le cadre de la Nuit Blanche 2012. Le but du projet était d’ajouter un visuel réagissant en temps réel à une performance de batterie. Le batteur étant assis derrière la toile de projection, son ombre est directement liée aux effets visuels.

L’application de gestion des particules et de collisions fut réalisée à l’aide de la librairie Cinder (merci aux Barbarians, tout spécialement Andrew Bell pour cet outil extraordinaire). L’émission de particules est déclenchée par un coup de batterie (électronique). À l’inverse, les particules peuvent retomber, frapper l’ombre de la batterie et émettre des sons en fonction de leur vélocité.

Voici un cours montage de l’évènement:

December 29, 2011 at 7:54pm

Align that DNA!

One of the first algorithms we learned in Computational Biology is a basic dynamic programming sequence alignment algorithm called the Needleman-Wunsch algorithm.  A detailed explanation can be found here.

Isn’t it astonishing that sequences of nucleotides at the basis of every lifeforms on earth can be analysed using such a mathematical framework? Results from sequence alignment algorithms can reveal to us the evolutionary history of species over millions of years (see phylogenetic tree), help us unravel the complex mechanisms of the cell from DNA, to RNA, to sequences of amino acids in proteins, and ultimately highlight the causes of certain diseases.

Here’s the test result:
G G T A C _ G T _
_ G T A C A G T A

7:51pm

Real-time fluids, from 2D to 3D

fluid simulation

For our third assignment in (Physics-Based) Computer Animation COMP559 class with Paul Kry, we had to build a 2d fluid simulation using the standard Jos Stam stable approach.

fluid simulation pattern

Having enjoyed this project so much, I extended this assignment to a 3D version with vorticity confinement for my final project. Furthermore, I used an adaptive triangle mesh advected through the velocity field to create realistic smoke/dye effects.

Here is a very short render of the final result:

7:43pm

Design pour le Festiv’Art

Chaque année, le bucolique village de Frelighsburg héberge le temps d’une fin de semaine un festival d’art regroupant une multitude d’artistes de la région.

En 2010, on m’a invité à concevoir l’affiche et le fascicule de l’évènement. Un rôle central devait être occupé par l’oeuvre gagnante de l’année précédente, une création d’Amélie Desjardins. Pour bien la compléter, l’emploi de tons doux et d’un look rustique mais élégant a été privilégié.

poster festivart

J’ai dû rapidement dessiner un nouveau plan du village pour l’intérieur du dépliant, l’objectif étant de faciliter la localisation des artistes.

map festivart

7:31pm

I want more particles!

I created this project in the summer following the release of the Cinder C++ library. The first step was test a displacement shader to affect the position of vertices from glsl.

After a few struggles, which you can read on my forum post, I managed to animate the particles on the GPU.

Final result: one million particles on the GPU in real-time. In summary, textures were used to store the position/velocity data on which a fragment shader operates to update the positions. For this iterative update, the technique used is called FBO Ping-Pong. I also used a dummy vertex buffer object whose vertices are displaced using the position texture and the displacement shader, all of that to keep everything on the GPU.

+ Github source code

6:02pm

Vertige - McGill Visual Impact Project

processing vertige num3ric

The statement accompanying the piece:

The present work is entirely generated by an original computer program. Simple rules of linear motion, rotation and particle interaction have been implemented. They constitute the basis from which complexity arises.

            Thus, this work pursues the exploration of emergence, which is best described by Casey Reas : “Emergence refers to the generation of structures that are not directly defined or controlled. [These structures] emerge from the discreet movements of each element as it modifies itself in relation to its environment.”

            As an artist and a programmer, I thoroughly enjoy searching for unique rules giving rise to new, intricate and possibly unexpected behaviors and then manipulating its chaos to create aesthetically pleasing shapes. What is even more rewarding is the uniqueness of each and every output. I strongly believe the potential of programming as an artistic tool is immense.

The idea behind this piece is simple: what would happen if a particles could connect and rotate around each other, leaving traces of their interaction? Here’s how it works:

  1. Is there another particle close enough?
  2. If so, have it locked on and make a visible link between them.
  3. For the duration of the lock, give angular motion with the locked particle as center.
  4. Start at 1 again with a new neighbour particle.

September 29, 2011 at 1:06am

Reblogged from powertothelearner

Power to the Learner!: What Does Learning Science Look Like? →

powertothelearner:

Finally, I said that I couldn’t see how anyone could be educated by this self-propagating system in which people pass exams, and teach others to pass exams, but nobody knows anything

September 7, 2011 at 5:17pm

The underlying framework of the arrangement was solved by the algorithm, and humans used that framework to design the final result. This is, I think, a perfect example of something that I’ve believed in for a long time: we should let computers do what computers do best, and let humans do what humans do best.

— All The Names: Algorithmic Design and the 9/11 Memorial