Magic 04 - Trick++

Magic 04 – Trick++




The magic trick started with my interest in evolutionary development and how that might be applied to a system as organized as the deck of cards. In fact, there is a long history of evolution of the deck and the suits, some born and others that went extinct. I spent an entire night starting on the Wikipedia entry and navigating through a rich landscape of values, theories, and balancing of the deck to arrive at our current French deck. While the trick started as a tale of variation’s role in evolution, it is quite possible that the story of the deck is much more interesting and incorporating only a small sense of the genetic algorithms that I was so interested will provide a more cohesive story.



Object pose tracking in OpenFrameworks.

Object pose tracking in OpenFrameworks.

I spent a few hours going through different OpenCV addons to see what is still working as well as how well they work. I thought this one,OpenFrameworks Object Tracking Library,  not maintained for 3 years or so was pretty neat, but once it was tracking an image, it was quite slow. As you can see, the still has the application running at 4fps (on a high spec laptop). It looks like the faster ones probably push a bunch of the load to the GPU, which in my opinion is pure magic :)



Some guy maintains a pretty great quick to get up and running library for processing to use OpenCV and most of its main features, so I figured why not check it out. While it is not my first time using OpenCV, it always feels like dusting off a shoe box in the closet, not quite sure what I was going to find. It made sense to get specific about what I was going to augment the trick with, so I decided to avoid tracking an object (if it is slow in OF, a C++ compiled framework, it will most likely only run slower in Java/Processing) (note: I have been really impressed by performance increases over the past 7 years, so this is less true than it used to be)

OpenCV -> NotOpenCV

After playing with various features of OpenCV, I decided to settle on a simple method, not requiring a huge library or complex strategies to achieve an augmented routine. I wanted to show the cards as living, and so I would simply use the mean brightness of the screen and a color detected to generate a population of the correct genome. In fact, to avoid failure of color detection, I let the keyboard serve as a means to decide which color I would be showing.

<source code>


Here is the chicken scratch that directed my routine. It is clear that a more defined and most likely scripted (in many parts) routine would be much stronger. There are many interesting and valuable points to make about the history of the suits in the deck, but without a script it is easy to lose footing.


4 families

Strengths and Weaknesses


Open with introduction of the 4 suits

Each of the suits stands for a value (earth, fire, wind, water)…

Cups, Bells, Clubs, Swords…

Over the years they have evolved quite a bit. In fact in 1938, there was a fifth card, the stardeck, which later went extinct.

Note the supremecy of the Spaces (standing for 1)…

Let’s see if we can look a little closer – cue augmented view…

Zoom in on one of each card, showing the population is heterogenious, let’s see if we can mix things up…


1) AR – openFramworks app, have suits leave cards and begin to reproduce

2) Video – act like zoom in on card and show DNA

3) Interactive – processing sketch senses when the card is close enough (dark enough)… acts like it is zoomed in and shows a colony of genes fighting

(note for app: Animate the suits to navigate the space)

Run through shuffling trick… (give 4 people a card to put into the population)

Reveal that the spades still live on, but that their offspring are mixed…

Zoom in to app again and reveal that the cards are no longer the same sets of genes, they all have all suits

Suits –

Fundamentally, there are three ways to divide four suits into pairs: by color, by rank and by shape resulting in six possible suit combinations.

Color is used to denote the red suits (hearts and diamonds) and the black suits (spades and clubs).

Rank is used to indicate the major (spades and hearts) versus minor (diamonds and clubs) suits.

Shape is used to denote the pointed (diamonds and spades, which visually have a sharp point uppermost) versus rounded (hearts and clubs) suits.