Skip to main content

Tesseracts

I am interested in using 3D printing to model and visualize mathematics. To explore this, I will analyze and study a tesseract. A tesseract, or hypercube, is a 4 dimensional cube. It is analogous to a cube in our 3D world. Tesseracts are challenging for 3D beings to visualize and understand. They are theoretical structures that can be understood mathematically. Tesseracts can interact with a 3D world in a way that is similar to a cube interacting with a 2D world. A 2D being cannot understand, visualize, or fully experience a cube, but as a cube rotates around, they can gain a better understanding of what the structure is like. Similarly, a rotating tesseract can help us understand what they are like.

Using math and 3D printing, I can create multiple versions of a rotating tesseract. These 3D printed tesseracts can be assembled in a stop motion animation to show what the tesseract looks like as it rotates around 4D space.

/images/itp/3d_printing/final/3d_printed_hypercube.gif

This project was inspired in part by the book Visualizing Mathematics with 3D Printing.

Read more…

MIDI Meditation

Camilla and I built a MIDI Meditation machine for our midterm project. The device is equipped with a heartbeat sensor to detect when the user's heart beats. It plays a single MIDI note in sync with the heartbeat. The main idea is to help the user become more aware of their heartbeat while meditating and possibly get needed feedback for lowering their heart-rate through meditation.

The interaction is intriguing and stimulated the curiosity of our classmates. Several people gave it a try and enjoyed the experience. I'm not a meditation practitioner but I did give it a try. My heart-rate stayed constant throughout while I became more aware of my heart beating. Hearing the same note play in sync with my heart was surreal.

A photo of the device, taken by Camilla, is below:

/images/itp/pcomp/week7/midi_meditation.jpg

Read more…

Heartbeat Detection Study

Purpose of detecting heartbeat data

Our Midi Meditation project is a physical computing device that will repeatedly play a single note in sync with the user's heartbeat. Fundamental to this is the ability to reliably detect when a user's heart is beating.

We want our device to work effectively for most or all people. This means it should play one note in sync with the user's pulse without extra notes between beats.

We had a pulse sensor suitable for an Arduino to use for this project. One approach for prototyping this is to code a heartbeat detection algorithm on an Arduino after viewing the sensor readings on the Serial monitor for a couple of people. This approach could work but would require a lot of parameter tweaking to get it "just right" with repeated user testing between parameter adjustments.

Read more…

Modeling a Tesseract

Consider a 3D printed cube. This cube will cast a different shadow onto a piece of paper when the light source moves around.

Beings living in a 2D world will experience the cube differently depending on how the shadow is cast onto their world.

Similarly, a 4D cube, or Tesseract, can also cast a shadow onto our 3D world. It is challenging to think about this because we do not directly experience the world in 4 dimensions. Nevertheless, I was able to model a tesseract using Python and Rhino. Specifically, I modeled a 4D tesseract and its perspective projection onto 3D space. This model will change as the tesseract rotates in 4D space. The projections were modeled in Rhino using the RhinoCommon SDK.

Read more…

Instructable Video: How to make a laser cut box

We completed our video teaching people how to make a laser cut box. I am quite pleased with the result.

I enjoyed our Video and Sound class a lot. I definitely got a lot more out of the experience than I thought I would. Most importantly, it has given me the confidence to actually use the video and sound equipment in the ER. Previously I was intimidated by the idea of using the cameras and afraid of breaking something. Now I see the amazing things that can be created with proper equipment and I will take the initiative to use it.

I also want to thank my fellow students, Caleb Ferguson and Yeonhee Lee. They are both talented and creative. We worked well together and I am happy to have been in a group with them. Their enthusiasm for this project means a lot.

Midterm Ideas and Serial Communication

This week we began learning about Serial communication. I knew what Serial communication was but never did the programming for it on a micro-controller or at a low level like this. This relates to other things I've done with USB peripherals I am happy to learn more about how it works. In particular, the ability to send and receive Serial messages with Python opens up a whole new world of project ideas for me.

Questions

I have some questions about Serial communication. First, what is the Serial channel doing when it is not sending a message? The voltage on the wire will be interpreted as either high or low. How does it differentiate between the absence of communication and a series of null bytes?

The second question has to do with communication errors. How important is it for the code to be robust to communication errors? How common are they? What are the programming best practices to minimize the impact of errors?

Read more…