Art from Code: Conference Project

The 3D Version of my project
The sixth version of my 2D project

Culminating in hours and hours of work and a final project I can be proud of, this is my final project.

This project began as a side scroller, that needed opposing motion. To complete that particular check-in for our Art from Code course, I, after deciding against a very complicated timeline, went with a rocketship and planets, where the rocketship would travel in one direction, and the planets in the other.

The size of the entire project was initially much more narrow, however I decided to expand the view to show more of the solar system, especially the movement of the planets.

Each version of the 2D project, which was a lot of the time I spent on this project, denoted some sort of change to the project. One version included the edition of classes for organizational purposes. Another was the change from circular motion to translations and rotation, which I’ll talk about more in a moment. While I won’t get into what each versions change was, I know that each one was a version I wanted to keep, so that I could go back and look at my progress and see how the project grew, both metaphorically and literally.

Initially, I had used circular motion to make the planets move around the sun. I included a background in the draw function, making it so that only one of each planet appeared at a time. However, after learning to use translations and rotation instead to create circular motion, I found it to be a lot easier to use, and also a lot easier to edit. Changing the circular motion to fit the needs of the piece proved to be a bit more difficult than using simple translations and rotation, which more often included whole numbers or decimals, rather than the more complicated decimals that can be involved in circular motion.

I added a few things to the 2D version before moving on to the next step. Once I saw the layers of rotation you could create using translations and rotation, I added a moon rotating around Earth, and later the two that rotate around Mars. I had also added a comet, originally made to be a shooting star but it came out looking more like a comet, that goes across the top of the project through the sky. I added a second rocketship, both of them having little aliens sitting atop them, like a little squadron of them. Finally, I added a loop of lines made up to look like stars, to fill in the blank space behind the planets.

Once I started to make really good progress with the 2D versions of the project, the idea of using 3D presented itself. Angela provided a wonderful tutorial on how to make a solar system in 3D. The tutorial itself was a bit different than the code I was used to, a bit more complicated, and the end result was also different than what I was trying to achieve. So I watched the tutorial and coded along with it. After that, I infused that code with my own to create a 3D version of my piece, where the planets and the sun are 3D objects. The tutorial also used wraps on the planets (a real image of the planets that wraps around the spheres), which I thought was a great idea, and I also used those on my planets. I also added a background image of real stars, to match the realistic look that the planets had, as opposed to the loop I had used before, which just didn’t match the look I was going for due to the disorganized look of them. I wanted the project to look more polished.

The final change I made was changing the speeds of the planets in the 3D version. At first, I really liked the faster speed, because then it was clear that the planets were moving at different speeds and you could watch it go round and round. However, with the 3D version, there is so much detail that you miss when it goes fast, so I slowed it way down. Now, you can see the beautiful detail of the planets.

I think my favorite part about this whole project is the ways it has and can still evolve. A large project like this can almost never be called finished, you just have to decide when you’re done. I could easily go back to this piece and add different things, like asteroids for example, into the piece. That’s been the fun part about coding for me, is just messing around and adding things, watching and seeing what makes it more dynamic. While I am calling the project done for now, I could definitely come back to this piece some day and add more. And I think that’s wonderful.

Author: Sydney Peritz