Hessel Bosma

student Creative Technology at the University of Twente

3D Aquarium in Processing

final assingment algorithms course | June 2018

The Algorithms course in module 4 of Creative Technology is about improving our programming skills and learning some basic and often used programming algorithms. Some subjects are: physics, mass-spring-dampersystems, steering behaviors including flocking, state machines and randomizations. All but the state machine are represented in the final aquarium program. This project was in collaboration with Rezfan Pawirotaroeno.


We built an aquarium in 3D using the Processing environment for Java. The water surface is a mass-spring-damper system and reacts to the bubbles coming from the ship model and to the fish food dropped into the aquarium. The aquarium floor is made out of a randomized using two-dimensional perlin noise. The plants in the corner of the aquarium are also made with two-dimensional Perlin noise for every axis of rotation for each part with time (frame count) as one of it’s dimensions. The fish move using a steering behavior algorithm, with the small tropical fish having some flocking behavior and the goldfish seeking out fish food dropped inside the aquarium. For the code used to create the aquarium, see the GitHub repository

Military Fighter Jet in Maya

final assingment Interactive Visualisation | March 2018

Screenshot of the final render using the Arnold renderer

Interactive Visualisation was about creating 3d models of complex shapes in 3d modeling software like Autodesk Maya. For the final assignment we could choose whatever we like to model. Personally I think that military fighter jets are really cool. Their shapes are really complex, so it was a challange to recreate one in Maya. Inspiration from the F/A18 Super Hornet and the F16 Fighting Falcon, both made by Boeing.

BlueBoard

final project Smart Environments module 2 | Januari 2018

Module 2 of year one was about smart environments. We learned about different aspects and applications for smart environments. As the final assignment for the Smart Environments module we had to design a smart environment with the theme of smart cities. The project was done in groups of 5 to 7 students. I worked with Karlijn Wiggers, Wouter Couwenbergh, Rezfan Pawirotaroeno and Anand Chowdhary. We developed a smart billboard called BlueBoard.

Picture taken at the demonstration day with BlueBoard. From left to right: Rezfan Pawirotaroeno, Wouter Couwenbergh, Karlijn Wiggers, Anand Chowdhary and me

The adverts shown on the billboard changed according to interests of people nearby and other factors. People could select their preferences for adverts on our android app on their smartphone. When the smartphone was close enough to one of our billboards it automatically connected via Bluetooth and sent the user information to the billboard. BlueBoard collected all the information during an interval and at the end it chose an advert according to the user scores and other factors. General information such as weather info was overlain over the advert.

Graphite Violin

final assignment programming & physical computing module 2 | Januari 2018

The goal of module 2’s programming & physical computing course was to teach us the basics of working with the Arduino and electrical systems. I taught us about different sensors and actuators and how to use them correctly. We also learned how to transmit and receive the information from the sensors using custom protocols and how to process this information. As the final assignment for this course we had to make a musical instrument with the Arduino. This assignment was just as last modules end assignment done in groups of 2 and I worked with Rezfan Pawirotaroeno again.

picture of graphite violin Stroking the line would create a tone with a volume depending on how fast the line is rubbed.

We made a Violin from a pencil line on a piece of paper. We used a 6b graphite stick from the art store to create a really thick graphite line to act as an open resistor. To one side of this line was connected to a 5V source and the other side to the ground. Then we wrapped aluminum foil around the fingers of some spare gloves to create conductive fingers. We connected the fingers to the analogue read pins of Arduino to enable us to sense the voltage on each finger separately from 0-5V. If a finger is placed on the graphite line the analog read method in Arduino will return a value from 0 to 1023 depending on how far towards the voltage source or the ground the finger was placed. Using this we can essentially measure the location of each finger on the line. This is basically the same functionality as a potentiometer for each finger. One Arduino does not have 10 analog ports so two of them were used. Both Arduinos were interfaced with a programming written in Processing using a custom protocol to transmit the data via the USB ports to a computer. This program converted the position of the fingers on the line into a rubbing speed. This rubbing speed was the basis of our algorithm to decide the amplitude for every different tone for each finger. So rubbing the line faster resulted in a louder tone. Creating chords on our instrument was also possible by rubbing multiple fingers at the same time. Our program combined the tones of each finger to create the desired chord. While playing the instrument, a visualization of the volume of the tones over time was shown on the screen (see the picture above).

Animating Vitamin Attack by Milan Kunc

final assignment programming module 1 | October 2017

The goal of module 1’s programming course was to teach us the very basics of programming. As the final assignment, we had to animate one of Milan Kunc's artworks of our choice in the Java library Processing. This assignment was done in groups of 2, I worked with Rezfan Pawirotaroeno. We made the tank have many different animations. The tank can drive at different speeds. It can move it's turret and shoot a cannonball. All of this was controllable by the user of the program