For the course VA2650 Evolutionary Graphics, besides the Context Free Art, I also look into the use of Touchdesigner as another possible choice. It comes with built-in logics for fractals, L-system and particles system. It is a graphical programming environment that looks like Isadora, Apple’s Quartz Composer or vvvv and has its origin from the 3D software Houdini.
Posters for the We All Live in the Forbidden City exhibition
Do you really want to touch me?
Here is a short documentation video on the last exhibition I did for the opening of the CVA building in Baptist University.
We All Live in the Forbidden City exhibition
I just came back from the official opening of the ‘We All Live in the Forbidden City’ exhibition in ArtisTree, Quarry Bay.
Here are some video documentation of the augmented reality display we have done for the exhibition.
This happened tonight
The presentation powerpoint.
Context Free Art – Tutorial 9
These exercises take a closer look at the colour information, hue, saturation and brightness.
startshape Bryan path Line { MOVETO {x 0 y -9} LINETO {x 0 y 9} STROKE {sat 1 b 1} } rule Bryan { 360 * {x 0.05 h 1} Line {} }
startshape Bryan path Line { MOVETO {x 0 y -9} LINETO {x 0 y 9} STROKE {h 200 sat 0 b 1} } rule Bryan { 400 * {x 0.05 sat 0.003} Line {} }
startshape Bryan path Line { MOVETO {x 0 y -9} LINETO {x 0 y 9} STROKE {h 0 sat 1 b 0} } rule Bryan { 400 * {x 0.05 b 0.003} Line {} }
startshape MyShape rule MyLine { TRIANGLE {s 0.016 1 sat 1 b 1} } rule MyShape { 360 * {r 1 h 1} MyLine {y -0.60} }
OpenCV people detection (v.2)
Here is an enhanced version of the OpenCV people detection demo program using the sample.
Context Free Art – Tutorial 8
By using the same square, we further experiment with the various options in the STROKE command.
STROKE {p miterjoin} STROKE {p roundjoin} STROKE {p beveljoin}
startshape MyShape path Shape1 { MOVETO {x -0.5 y -0.5} LINETO {x 0.5 y -0.5} LINETO {x 0.5 y 0.5} STROKE {p buttcap} } path Shape2 { MOVETO {x -0.5 y -0.5} LINETO {x 0.5 y -0.5} LINETO {x 0.5 y 0.5} STROKE {p roundcap} } path Shape3 { MOVETO {x -0.5 y -0.5} LINETO {x 0.5 y -0.5} LINETO {x 0.5 y 0.5} STROKE {p squarecap} } rule MyShape { Shape1 {x -1.5} Shape2 {x 0} Shape3 {x 1.5} }
Context Free Art – Tutorial 7
We continue the study of path command. Take a look of the closed shape, a square.
startshape MyShape path Line { MOVETO {x -0.5 y -0.5} LINETO {x 0.5 y -0.5} LINETO {x 0.5 y 0.5} LINETO {x -0.5 y 0.5} LINETO {x -0.5 y -0.5} CLOSEPOLY {} STROKE {} } rule MyShape { Line {} }
If by any chances, you type the wrong position for the last end point or there is rounding error after a sequence of calculation, you may end of with:
startshape MyShape path Line { MOVETO {x -0.5 y -0.5} LINETO {x 0.5 y -0.5} LINETO {x 0.5 y 0.5} LINETO {x -0.5 y 0.5} LINETO {x -0.45 y -0.45} CLOSEPOLY {} STROKE {} } rule MyShape { Line {} }
Note the CLOSEPOLY command will connect an extra line segment to close the shape if there is a gap between the beginning and the end points. In case we want to get rid of the error, we can use the CLOSEPOLY command with an extra parameter align.
startshape MyShape path Line { MOVETO {x -0.5 y -0.5} LINETO {x 0.5 y -0.5} LINETO {x 0.5 y 0.5} LINETO {x -0.5 y 0.5} LINETO {x -0.45 y -0.45} CLOSEPOLY {p align} STROKE {} } rule MyShape { Line {} }