Portfolio

2011 - 2013

Vinjn Zhang

Overview

Vinjn Zhang is an experienced Creative Coder with expertise in:

  • Language: C++ / Java / Python / Javascript.
  • Platform: Windows / Android.
  • Framework: Processing / openFrameworks / Cinder.
  • OpenGL 3D graphics / OpenCV computer vision / Kinect interaction.
  • Augmented Reality / Multi-touch solution / Interactive LED installation.

AirScan - Laser Scanner - Multi-touch solution

AirScan is a touchless multi-touch system of CRE Imagination. The hardware device is a high-frequent laser scanner usually used in manufacturing industry. The software solution includes socket communication, data analysis and TUIO message formatting.

The realtime data is provided in (degree, distance) pairs. It is then transformed into a boundary contour and leverage OpenCV to do image processing, contour detection, object extraction. The extracted objects are regarded as TUIO cursors, which can be used to manipulate the content presentation system on other computers.

AirScan is a complicated software with multiple parameters. The configuration software supports user-friendly parameter tuning to ease the headache for system setup. ( Design agency: CRE Imagination )

Multi-touch solution - River of Dreams in Shanghai Film Museum

River of Dreams is made up of 55 multi-touch tables, which is a challenge for a robust multi-touch system. The system is based on CCV (Core Community Vision) with lots of improvements and new features.

Top-down finger tracking makes large-scale touch interaction possible. OpenCV and contour finding are leveraged to achieve it. Multi-camera streaming and multi-threaded image processing enable the software to run at high frame rate.

The user interface has been redesigned to initliaze from XML file. New background substraction algorithms are implemented to suit the lighting conditions in the musem.

Thanks to the high software quality and excellent performance, these tables have been running well and visited by tens of thousands of people. ( Design agency: CRE Imagination )

Android based OSC Remote Controllers

The introdution of Android devices provides a new opportunity to interation. The buttons and sliders send custom OSC messages to change the content of remote multi-media system.

TUIO protocol is integrated to the controller besides OSC protocol. The devices support multiple fingers simultaneously, finger coordinates will be transformed to TUIO cursors and sent to remote servers. Through this way pictures displayed by remote computers can be rotated and scaled.

In order to make the development process more smoothly, a series of Java classes have been implemented. After using the toolkit, my team members (two) can create new software without deep knowledge about Android platform. ( Design agency: CRE Imagination )

interactive installation - Faceoff in Nike FOS

Faceoff is an event of Nike made up of 10 treadmills. The software system includes the scoreboard which display the time and score of each player, the panel behind each player and the login system.

The panel is a realtime visualization system which shows the speed of each treadmill. OpenGL and openFrameworks are the techiqnues behind the particle effect. The faster the player runs, the bigger and faster the particle become.

The whole system is distributed among three computers, through system becomes more stable. The separated three softwares use network to communicate. The protocol chosen is the industry standard - OSC (open-sound-control).

The following video represents the most beautiful moments of FOS Faceoff. Don't miss the explosive particle effect on the LED panel. ( Design agency: Super Nature )

Nike - Flex Interactive LED

Nike Flex is an interactive LED installation that makes response to human movements in a small area. When there is no visitor around, it will display random animations.

The computer vision part is implemented by a sophiscated system - CamServer. It's programmed in C++ and OpenCV. When CamServer detects human movements, the positions will be sent to the visualization client.

The client is implemented in Cinder and OpenGL. The parameter panel shows lots of values to be tuned. When the values make installtion looks perfect, they will be saved to disk. ( Design agency: Super Nature )