IM Star Constellation database


I have always been wondering about the name behind The Big Dipper and The Little Dipper and why we still use these names even after thousands of years. Given the infinite number of stars in the sky, we should be able to make infinite star constellations. So I was interested in seeing how many different constellations people would draw in 2 hours in the same set of  120 stars. The number of stars was chosen based on the aesthetics of the “sky” design and the chance of two stars clashing with each other. Overall, I obtained 43 different star constellations from 43 different people.

Google Drive folder with all constellations (for confidentiality purposes, the image names are in ascending order and does not reveal person’s netID. Two constellations have been deleted upon request from the authors): here

Continue reading “IM Star Constellation database”

Homework due December 4, 2017

Figure 1. Intended layout

Figure 2. Example of drawing a star constellation


We all learnt about the Polaris in school and knew that Big Dipper is near from Small dipper, which includes Polaris. We might have even seen the star constellation that “corresponds” to our horoscope. But isn’t it silly how we only learn about the star constellations by the names and shapes that the first astrologists gave them? What if we could each draw and name our own constellation? How many different constellations can people see and create with the same sky and the same set of stars? These are the questions I wondered about when I was brainstorming ideas for the final project, which gave me inspiration to create skies full of stars, where people could be creative and make their own star constellation.

I will create a set of approximately hundred stars located on the screen, with different sizes. The audience can pick one of the stars and draw a line between that and another star. The code is built such that upon clicking on the last selected star, you can select another star and continue drawing the constellation to allow for greater imagination.

The audience will use a custom-made trackpad with a joystick and 3 buttons – start/select, undo, and finished, as well as a keyboard which will then be used to input the constellation’s name. Ideally, I expect to create a database with different star constellations and their names, but it depends on the progress of the project until the show.

List of parts I’ll need:

A joystick or two potentiometers, 3 buttons, a screen, and a keyboard. Additionally, a laser-cut box will be needed.

Topics to learn:

I need to learn how to create a database, and how to make sure that users can input their name and constellation name. Michael mentioned that the command is similar to print(), but I am yet to learn more about it.

I also need to update my knowledge on classes and objects to ensure that I can draw multiple lines (for now, it only works for 1 line at a time + 1 line that comes from moving mouse).

Most difficult parts:

  1. Currently trying to make multiple lines, instead of just 1 line at a time. It worked for only 5 dots that were manually typed, but doesn’t work when I try to make it into global commands without numbers.
  2. Making different screens for different stages of the game.
  3. Creating the database.

Final project proposal due November 29

I have been thinking for a while about my potential final project, and the reason I posted it late is because I am still unsure what to do. The worst thing is that even though I am uploading this post late, I still have not come up with anything.

The two ideas that I had, were:

  1. A room with lightbulbs that would light up if a person stands underneath them. There would be a screen in front of them with very dim star constellations which can be seen from the UAE during November. When standing in a certain spot, they would see a corresponding star constellation becoming brighter on a screen in front of them. However this idea requires too much space and lights take up quite a lot of work with not that exciting effect on the audience.
  2. I had seen DIY hologram videos that you can make a prism, put it on an iPad to see a seemingly 3D video. So my next idea was to create a box with an iPad and the prism in it, where people could see different components of the Solar system rotating around their axis. To switch between different components, I’d make a map/2d model that shows the position of each planet in the Solar system. To make it more educational, I was thinking of a voiceover that would briefly tell about each planet and the Sun. However, this idea in the end might be too simple and I would like there to be more interaction and a “deeper” conversation between the installation and audience than just pressing buttons. Additionally, while this could be a cool project to teach children about planets, I am not too sure that people would have the patience to listen about each planet at an exhibition.

When I think about space, I imagine dark night and stars, which is why I liked my first idea, though the resources are a big part of why I don’t see it working out. I’ve been thinking about how I could scale it down, but that’s when I ran into making it too simple (such as, the 2nd idea).

Furthermore, I somehow keep seeing a blanket with LEDs to represent the night sky, so maybe the audience could control them through a touchscreen? Also, looking at different installations, I noticed that the magnitude of different projects was increased by placing mirrors around, to make the space seem much larger, as shown in the picture below.


As I was looking at the other art installations for inspiration, I realized that I am somehow drawn to the fact that stars often seem like they are so close, yet turns out they can be thousands of light years away. (So this seems very exciting: I also stumbled upon this project, where I liked the idea that the audience had the power of determining the light and music of the space: 

But this was the very first installation that I got inspired from:

Picture due November 27, 2017


I decided to make a pixelated image where pixels appear based on their color – starting from black, to dark blues, to light blues, light colors and everything else. I used millis() to determine when pixels of each color should appear. As it goes on a loop, the pixels turn the water, sky and the tree on the side into a movement, so it looks like there’s a wind that moves the tree leaves and the water.

An adaptation could be to make the clouds and hills in the background static, and only move the tree and the water.




What does Computing mean to me?

I have always been fascinated about computers, since I first made my first painting with Paint on my dad’s bulky computer. He taught me a lot about gadgets because he used to be an engineer, however I never really got serious about programming. I was just kind of fascinated by how computers, cameras, phones work because of their hardware – how did these tiny wires, processors, etc. all together made a picture on the photographer? There was a moment in my life where I became addicted to computer, which led to hours spent on learning Photoshop, interacting with people on online forums, and also learning some very basics of HTML+CSS. So for me, computing is a big part of my past, though my knowledge in all of it was very basic (I didn’t even know what C++ is).

Once I got into college, my freshman year roommate was studying computer science and was very passionate about it. We spent a long time talking about how important programming and computers are, and I was seriously considering switching my majors because – computing is the future, right? So I decided to learn basic coding by myself, and I realized how important the software of computing is, however I am still an Economics major. At the same time, I kind of lost the track of the technological advancements, such as the latest phone specifications or what the newest personal computer can do. My dad has started to ask me for suggestions for which phone to buy, so I have done some research but it is kind of sad that for me the actual gadgets (or at least their improvements, still wondering how an Arduino redboard can do what it does) have become a smaller part of the meaning of computing in my life.

I am now in my final year and not pursuing a CS major eventually backfired at me, because my capstone is based on computing – I am programming my code, so people can sit at computers and make choices for an hour, which I will later analyze with statistical software later on. At this point, to me computing isn’t the future and neither it is the future for the society – it is the present and something I cannot live without. Except what was considered as “addiction” and a “problem” is now considered to be the “norm” – to spend hours working on the computer.

Code that wasn’t working for me from Image Processing with Pixels


Pong game with 1 player due November 6, 2017


One of my favorite games when I was little on the computer was ping pong game that I played with my dad on our PC. So I created a seemingly simple ping pong game, where the paddle is controlled with a potentiometer that changes the y position of the paddle, based on potentiometer position.

How did I do it?

It seemed like a very basic game and connecting two potentiometer shouldn’t be that difficult, but in reality it took a while to figure it out, so I decided to start off with a one-player game. I initially used the simple ball bouncing program which was one of the first programs we programed on Processing. I also used previously used code for Processing to use potentiometer (input) values to do what I wanted it to do.

The Arduino code is rather short, because all the magic happens in Processing.

Continue reading “Pong game with 1 player due November 6, 2017”

Homework due Nov 1, 2017


There were two assignments due – control a servo motor with a mouse, and turn the LED on and off with buttons on computer.

To know that the Servo and LED were attached properly, I initially used Servo sweep function and LED blink function.

The first assignment was fairly easy because it was very similar to the LED dimmer, however the second assignment took some additional thinking. The program refused to work, because of a curly bracket in the wrong place in Arduino code, which I realized after switching up everything else I could imagine.

Something that seems odd is that the buttons do not always react to being pressed, which I realized with the println().

Controlling Servo code




Turning LED on/off with buttons




Fractal invaders due October 30, 2017


For this assignment, I immediately knew I wanted to re-make the fractal invaders, a project by Jared Tarbell. Casey Reas in his talk at Eyeo in 2012 (one of our assignments), discussed Tarbell’s project and showed the audience how our eyes and minds associate symmetrical images with familiar objects (example shown below), when a non-symmetrical image reminds us of simply a blob. Suddenly we see a dress, a smiley, a house, etc.

So I created my own set of many fractal invaders, shown in the second image below, with some elements of red, to make them even more unique. I think this would be a lovely thing to print out because there is a 0% chance of printing out the same set of fractal invaders in the same order again any time soon.



How I got there

I started off by drawing it on the paper to figure out how to make it and decided to use a class at first (the initial code for a singular invader below) and then translate it later on. When the class was made, I initially wrote the code for 15 squares (out of which 10 would be translated to the opposite side), and it worked. I could not decide how to make a symmetrical opposite side without using width of the picture and how to make it into a universal code without manually writing functions for each of the squares (I had issues with locating each square properly), so I gave up and decided to start all over again after fall break.

When I returned with a fresh mind to Abu Dhabi, I looked at the initial code again and realized that it would be much easier to just use a for loop, instead of a class.

I like that the fractals are of the same size (unlike the original work, where he uses an algorithm that fills up the space). I also added red color to the invaders because it makes each invader even more unique. 

Thanks to Russell’s code, I learnt how to use a boolean to run the program only once.


Selfie and rectangles due October 16, 2017

  1. Selfie

For this assignment I got the initial inspiration from Open processing sketch to understand the Processing and potential approach to the task better. I think the most frustrating were the arcs, because it took a while to figure out the right range due to flipped Y axis in Processing. Drawing on paper and trial-and-error method turned out most effective in this case. I think the most difficult part was the hairline, because I could not make it right with the ellipses or arcs. So I have two versions for the hairline, both are shown below and there are two version in code, one of which is put as a comment.



2. 5 rectangles

I decided to look at the loop function by switching the colours of the rectangles. The final version is shown below.