We didn’t blog about the cool classes we took last semester yet, so we are blogging about them now. This is the second semester when we decided to take 36 units, because we knew that senior fall would be busy with job applications. Looking back, it was definitely the right decision. Anyways, here are the three classes we took!
One of the big reasons we decided to take course 6 classes in the first place was just to work our way up to this class. And after taking it, we can confidently say that the struggle was very worth it! This class covers 5 main areas of computer graphics – splines, character rigging, physically based simulation, ray tracing, and real-time rendering. There is a two-week pset associated with each of these topics, and an open-ended final project where you can choose to focus on any computer graphics related topic! Every assignment was challenging but very rewarding, because it resulted in some sort of 3D art! Here are some of the things we worked on:
Splines are basically curves. For this assignment we had to write code with a lot of math, that would create splines given a set of points. The next part of the assignment was to write a function that rotated the curve around a vertical axis to a create a 3D model with rotational symmetry like a wine glass or pottery, and another function to rotate a circular spline around another spline to create 3D models that look like puffy outlines. Here are our puffy outlines of the nerdy things we like.
Character Rigging and Mesh Deformation
To create a character, first we had to write code that could create a skeleton out of spheres (for the joints) and cylinders (for the bones), given a set of points defining the location of the joints. Then, we had to hook up the joints to a user interface to get them to move with sliders. Finally, we had to create the mesh by parsing through a file that defined all the vertices, and another file that defined the contribution of motion from all the joints for each vertex. This assignment was probably one of the most challenging for us, but we got animatable characters out of it! Here is one of them.
Physically Based Simulation
This assignment was probably one of our favorites, which was actually really surprising to us because of how much physics was involved! We had to create a grid of spheres and keep track of all the forces on each sphere. To simulate the cloth, we had to connect the spheres with 3 different grids of springs, and then add gravity, drag, and a wind force. This physics actually made sense, very unlike 8.01L and 8.02, and it was really cool to see the force equations translated into the animation!
Ray tracing is a technique to render 3D scenes by shooting out rays of light from the camera that bounce around (if the materials in the scene are reflective) and keeping track of where they intersect objects. The assignment let us create some really cool results!
Non-Photorealistic Rendering or NPR is a technique in computer graphics used to render 3D models to look as thought they are 2D drawings. There are a lot different techniques out there, so for our final project, we surveyed a few of them, namely toon shading, outlines, and hatching. Toon shading is a way to get discrete bands of shading on a model, like you see in 2D animated cartoons. Outlines(not shown in the video) is exactly what it sounds like. And hatching is a way to get a model to look as though it was drawn with hatch marks. We actually did not fully implement the hatch marks technique, because it would have been very difficult and outside of the scope of the project, so it does not look as good as it did in the paper we based the implementation on. Instead, we combined the techniques we implemented in different ways. So here is a video showing toon shading, hatching, and the ways we combined them.
Overall, this class was super informative, rewarding, and worthwhile!
We had been procrastinating taking a HASS-S for sooo loongg. Every semester we would look at the listings, and would never see any HASS-S that seemed very interesting to us. But because taking at least one HASS-S is a requirement to graduate, we decided that, one way or another, we would take one during senior fall semester, since we really didn’t want to leave it for our final semester at MIT. We signed up for three, attended all three for the first week, and chose the one we liked most! But boy, oh boy, were we wrong to dread taking a HASS-S. This class was honestly one of the most fun classes we had ever taken here! And not just because the class was literally about fun, although that was a factor lol. The class focused on different forms of “fun” and “play” and their role in different cultures, which was really interesting, especially because of how engaging the professor was! On top of that, every lecture, our professor would bring in really amazing speakers to class, ranging from a comedian to an owner of a puzzle shop. Also, every lecture, a different student would present the week’s readings in a 30 minute presentation. But not a normal presentation! We had to somehow turn our presentations into games! The games people incorporated into their presentations ranged from jeopardy, poker, mancala (but us students were the stones), and even scootah hockey, a sport that is very popular in Simmon’s Hall! Scootah hockey is like ice hockey, but instead of skating on ice, you are sitting on a “scootah” (basically, a plastic board with 4 wheels) and using your feet to roll around. And yes, we did have a full on scootah hockey tournament ~during lecture time~ and ~with the professor~. That class was so much fun and definitely one of the highlights of the semester. One of the other highlights of the class was when we went to an escape room in the week we were learning about the concept of immersion in play! We went to Boxaroo, a local Boston escape room company (that actually has some MIT alumni working there!), and it was so fun! One of the reasons we went on this field trip, was to get experience doing field work and being anthropologists of play. We then used our experiences in the escape room to write our first ethnographies in the class, in preparation for our final projects. For the final project, we had to do participatory action research on a form of fun or play that you are not familiar with and write an ethnographic report on it. Allan wrote about Next Quest, a D&D group in Next House, and I wrote about Singing for Service, a community-service focused acapella group. So towards the end of the semester we were participating in D&D games and going on service outings ~for class~. And honestly, all the writing we did (for the final project, and shorter papers throughout the semester) was really enjoyable because we were writing and reflecting on games, play, and fun! Overall, it was an amazing HASS! 20/10 would recommend, and honestly any class with Graham Jones (we heard that the class he co-taught last semester, Paranormal Machines, was very good too!)
Senior fall was a really busy semester, but also one of the most fun and rewarding! We are looking forward to our 8th and final semester!!! Also, how did time move so quickly that we are about to enter our 8th and final semester 🤯
- well, we did make animations for the Social Machine’s group perviously, but that was technically a job, not a UROP. Plus, we did everything remotely that semester, so we actually only spent a total of 2 hours in the actual lab just to meet with our supervisor. back to text ↑