Wednesday, November 19, 2014

Playing an Octave in Just Harmonics

I've always loved the way that string harmonics sound. However, I've been unable to really do anything entirely with harmonics because you can't play a full octave using only harmonics. I decided to figure out how many strings I would need to play an octave and I came to the conclusion that three was the smallest number, and the three should be tuned in a first-fourth-fifth fashion. In my example, on the guitar, I tuned my top strings to E-A-B. This lets you play an E major scale, but 2 octaves up from the low string.


I decided to go ahead and try to play a song on these harmonics, so I settled on Minuet in G by Bach (although it is no longer in G because I had to transpose it to E).


I'm considering trying to figure out a tuning where I can do 2 octaves, and I think I may only need 5 strings, but I'm not sure.
It's also worth mentioning that this octave is in just tuning, a tuning system that makes the frequencies of notes in the octave whole number ratios times the tonic frequency.

Sunday, October 19, 2014

A Grand Day Out: Visiting the Mun in Kerbal Space Program.

Awhile ago, I decided to make my standard "Mun" rocket more efficient and more realistic. I was inspired by the original Saturn V rocket. I decided that rather than simply landing on the moon and going home, my lander would undock from an orbiting module, land on the moon, come back, redock, and fly home. This made the mission much more difficult, but much more efficient since I didn't have to bring the "going home" fuel down to the lunar surface with me.


The rocket begins with 5 large fuel tanks to achieve orbit. The fuel tanks use asparagus staging, making the rocket extremely efficient.


The craft achieves a low equatorial orbit around 70 km.


After achieving orbit, the craft uses the very efficient "Poodle" engine to extend its periapsis to the Mun's altitude.


The craft's orbit intersects the Mun's sphere of influence.


Once inside the Mun's sphere of influence, I make a retrograde burn at my periapsis to circularize my orbit. In the above photo, I am about halfway through the burn.


This photo shows the completed burn.


The lander (on the right in this photo) now detaches from the orbiting module. The orbiter first transfers fuel into the lander to help with the descent and ascent from the surface.


I performed a retrograde burn with the lander to begin the descent. Notice that the lander's orbit (blue) puts it on a landing trajectory whereas the orbiter's orbit (white) remains above the surface.


When the lander neared the surface, I performed another retrograde burn. Then, I set her down in the flattest spot I could find. I sent Handas Kerman out to plant a flag, and then it was time to go back home.


Contrary to achieving orbit back on Kerbin, on the moon, I perform a gravity turn almost instantly. Also, instead of just aiming straight east, I am aiming to intersect the orbit of the orbiting module.


Here, you can see the lander's orbit before the circularization burn. I managed to bring the lander and the orbiter very close on the first time around.


Here, the lander's orbit is almost exactly the same as the orbiter, allowing them to dock.


Here, you can see the orbiter (left) about to dock with the lander (right). The lander has its lights on, so you can see the orbiter in this picture. However, everything else is very dark because the Mun is blocking the sun.

After the two redocked, I performed a standard reentry maneuver to bring the craft back to Kerbin. Along the way, I jettisoned the orbiter module and only brought home the lander.




Recording Myself Playing Guitar

I decided to record myself playing guitar recently. My step dad scheduled a time for me to meet with his sound manager, and he agreed to help me. I recorded two songs, "Bouree in E Minor" by Bach and "Paranoid Android" by Radiohead. My guitar doesn't have classical, nylon strings, so "Bouree" doesn't sound so good because you can hear my fingers squeaking on the strings as I rapidly move around the neck. Other than that though, I was very satisfied with the end result of the recordings.

I don't have much else to say, so here's a link for you to download them and listen.

A Thing I Made Up: Kelly Diagrams

In my Vector Calculus class recently, we were tasked with writing a paper detailing all rhombic tilings of the sphere with at most two distinct "types" of vertices. A "rhombic tiling of the sphere" effectively means a polyhedron made out of rhombi. I found it difficult to visualize these polyhedra because they exist in three dimensions. Drawing them didn't help much since drawing is a 2D medium. However, I came up with a new way of diagramming polyhedra: the Kelly diagram.

The Kelly diagram for a cube.
To create a Kelly diagram for any polyhedron, draw all of its faces out flat. Then, draw loops around the corners of faces that meet at a vertex. This means that, in a Kelly diagram, each vertex is represented by a loop that encloses the corners of the polygons that meet at the vertex. For example, the Kelly diagram above represents a cube. Note that there are 12 loops, and each one encloses the corners of three squares (for the outermost loop, assume that the area around the drawing is the inside). This is because there are 12 vertices on a cube, and each one has 3 squares meeting at it.

Kelly diagrams were a very useful visualization tool in my paper. Using this new form of diagram, I was able to prove the non-existence of the rhombic octadecahedron. If you want to read my full paper, you can download it here. The file is an open document text (.odt) so you may have to download Openoffice to view it.

Sunday, September 7, 2014

Making a Jacob's Ladder Better

Around a year ago, my friend, Max Justicz, was graduating high school and headed off to MIT. As a parting gift, he gave me his 12000 volt neon sign transformer. It's been sitting in my closet since then, so I decided to finally put it to good use and make a Jacob's Ladder.


This was definitely cool, but it needed some improvement. Also a little over a year ago, my former robotics coach left our school to live in Connecticut with his wife. He let me keep his 12V air compressor, and for the longest time, I've been searching for a project to use it in. I realized that I could probably use the compressor to make the Jacob's Ladder spark upwards even faster by using the compressor to pump air along the wires in the direction of the arc's movement. This was the result:


As you can see, this was totally awesome. It ended up making something that looks almost like a plasma sword. This project was definitely worth the small amount of effort it took to create it. Overall, it's one of the coolest things I've built.

Thursday, September 4, 2014

Kerbal Space Program: Building a Low Orbit Fueling Station

For awhile, I wanted a way to practically apply my docking skills (that is, having one spacecraft attach to another in space). I used a little bit of the Infernal Robotics mod, but not much. I started off by sending up two base modules and docking them.

Two of these were attached at the front (the end with less docking ports)
After attaching the base modules, I sent up two large fuel tanks attached to one ship. I docked the first tank, then separated the second one, and then docked the second one.

Docking the first of the two orange tanks while the second is still attached. 

The completed station, with both fuel tanks docked. 
The station was complete. It had nearly full fuel tanks, solar panels for electricity, and six docking ports for refueling ships and future additions.

Kerbal Space Program: To Eve (Venus)!

For my next interplanetary mission, I decided to send my Laythe craft to Eve, the KSP equivalent of Venus. This mission was a bit different than my previous missions because, unlike the previous two, my target planet is closer to the sun that Kerbin. this means I had to do my Hohmann transfer in reverse.

As I descended toward the planet, however, I realized that I forgot to account for the composition of the air: Eve's thick, purple atmosphere contains no oxygen. This means that the air breathing jet engine that worked on Laythe would not work here. As a result, I had to rely on luck and try to glide myself to the nearest land.


However, I managed to make it to an island just before I hit the ground.


I deployed my parachutes, and I was able to add Eve to my list of visited celestial bodies!


Kerbal Space Program: To Laythe!

     After the success of my mission to Duna (Mars), I decided to build another rocket. This time, however, I would head for the Joolian System. In Kerbal Space Program, Jool is the equivalent to Jupiter. Laythe is the closest of Jool's five moons, but it is unique in that it has liquid oceans and an oxygen rich atmosphere. This means that air-breathing jet engines will work in its atmosphere. Knowing this, I decided to redesign my rover to be more of a small airplane:


This design had an air intake on its front end and a jet engine on its back, so I couldn't simply stick it on top of a rocket. Instead, I had to sandwich it between two rockets. You can see the rover at the top of this rocket between the two thin, tall fuel tanks:


Notice also the fuel tanks mounted radially around the bottom. Fuel flows from the top tanks and down the chain until it flows into the engine. When a tank runs out, it is ejected with small "separtron" solid boosters. I call this "skeleton staging" due to the fuel tanks' resemblance to a rib cage. I came up with this idea because I wanted a way to eject fuel tanks without ejecting the engines attached to them. It began as a bit of an exercise in absurdity, but it ended up working quite nicely.

I once again used nuclear engines to get a transfer after I had achieved Kerbin orbit. After a lot of time warp, I finally encountered Laythe. Here, you can see Jool (right), Laythe (left), and my craft (middle). You may need to adjust your brightness to see my ship, as I was taking a picture of it from the dark side.


Here's a shot of Laythe in the sun:


Upon entering the atmosphere, I managed to glide the craft for awhile before I throttled up the jet engine. After starting the burn, I did a steady cruise to the nearest island.



Also worth mentioning: Laythe is tidally locked to Jool. This means that the same side of Laythe always faces Jool, just like the same side of the Moon always faces Earth. I managed to get this shot of Jool in the sky as I was flying:


After cruising to an island, I landed the rover with a parachute. Unfortunately, I popped both my back tires upon landing. I could still move around though, and I could even take off again without too much trouble.


That was the end of my mission to Laythe. Next, I sent the same craft to Eve, the KSP equivalent of Venus.

Kerbal Space Program: To Duna (Mars)!

     When going back through some of my old projects, it occurred to me that I should share my Kerbal Space Program missions. KSP is a video game / flight simulator where the player creates rockets and flies them to various locations around the solar system. My first interplanetary mission was a rocket to Duna, the KSP equivalent of Mars. I managed to build a powerful rocket to get a rover into low orbit, and then I used the highly efficient Nuclear Engine to intercept the planet.

Here you can see my orbit (orange) as I leave Kerbin to intercept Duna. This is a form of Hohmann transfer. I chose this over a bi-elliptic transfer because it's faster and easier.


After a few months of in-game time, I'm able to see Duna and its moon, Ike, in the distance.


As I got closer, I started to get a sense of the scale of things:


I managed to catch this beautiful view just before my descent into the atmosphere:


I used a parachute to slow the descent of the rover. However, since the atmosphere is considerably thinner on Duna, the parachute alone wasn't enough to land the craft. To slow the rover in its final stages of descent, I used a skycrane similar to the one used by the curiosity rover. Here is the landed craft with the skycrane still attached:


Here is the rover with the skycrane jettisoned:


That was the end of my Duna/Mars mission. The rover functioned well and I managed to explore quite a bit of the Martian landscape. This mission set the stage for me for future interplanetary missions, like my mission to Laythe.

Tuesday, August 12, 2014

Creating a 2D Fractal Landscape Generator in Python

     I've been fascinated with fractals for a good while now, so a few months ago, I decided to create a python program to generate fractal mountains. The program works by starting a triangle with random vertices. Then, it divides the triangle into 4 smaller triangles and randomizes the locations of the new vertices.

In the program, I had to create classes for both the nodes (vertices) and the connections between the nodes. I had to give the nodes attributes for both their Cartesian coordinates (location in the image) and their barycentric coordinates (location in the overall triangle). Then, I had to create a roughness parameter (to define how much the nodes would be randomized) and an iterations parameter to define how many times the program would repeat. Then, I made a "for" loop to run through each triangle of connections, create new nodes for the midpoints, connect them up with new edges, and randomize them. Here's some of the results:

Iterations = 6, roughness parameter = 0.2

Iterations = 5, roughness parameter = 0.2
Iterations = 6, roughness parameter = 0.25

Iterations = 5, roughness parameter = 0

You can have a look at the code here.

Cosplay for DragonCon: Corvo Attano

     For DragonCon 2013, I decided that I wanted to cosplay Corvo Attano from the game Dishonored



     I started on the mask by hammering cinefoil onto a prop skull, then cutting the result in half.


Then, I held the two halves together by gluing them to a bunch of speampunk-looking objects. I used washers for the right eyepiece and an doorknob cover for the left one. The jawpieces were held on with glue and copper wire, and I added some extra brass pieces just for decoration.

My Mask

My Mask
Corvo's Mask
     The result certainly wasn't perfect, but I felt it stayed pretty loyal to the real thing. For the Jacket, I bought a black trenchcoat from the thrift store and used acrylic gold paint to add the trim. I added an assortment of belts and other accessories to add to the authenticity, and purchased some boots from the thrift store to complete the getup.




However, a Corvo cosplay wouldn't be complete without his retractable sword. It just so happens that Amazon sells extendable swords for Tai Chi training. This sword is awesome, and for around 13 bucks, it's  a great toy to have. After wielding my new sword, I was all set to head off to DragonCon. 






Testing Different Grain Geometries for Solid Rocket Boosters

     Back in February, my friend and I decided to see if we could measure a difference between different grain geometries in small solid rocket boosters. Grain geometry refers to the shape of the hole running down the center of the fuel: the hole changes shape as the fuel burns, resulting in a different thrust pattern depending on the shape of the hole. We tested 2 different grain geometries: a circular hole and a cross-shaped hole.







     We made some SRBs from PVC tubes and fueled them with a potassium nitrate - sugar mix (we found out later that using PVC for rockets is a terrible idea: if it explodes and shatters, the pieces of PVC lodged into your skin will not show up on a x-ray). We attached the boosters to a force sensor to collect thrust data.

     Our tests for the circular grain geometry both failed spectacularly:


   



    However, our test for the cross-shaped geometry went beautifully:


     In fact, in the data, you can clearly see two peaks in thrust:


     This thrust pattern is due to the changing surface area of the hole: as the fuel begins to burn, the cross begins to morph into a circle, reducing the surface area and the overall thrust. As it continues to burn, the circle expands, increasing the surface area, resulting in a second peak.

     Overall, this project was a great learning experience and a great excuse to explode things. If you choose to try this yourself, be safe, and don't use PVC like we did.