I really like robots 🤖
Painting, pastels, sketching - they all put colour on a 2D canvas. But we live in a 3D world, not a 2D one, so being confined to a flat canvas is inauthentic and limiting. Technology has advanced, so it's time for art to advance with it, to take the plunge from 2D to a much more colourful and real 3D. Unfortunately, 3D modelling is difficult and unintuitive. Because of the limitations of a mouse and keyboard, it's often implemented as giving 2D objects a thickness (for an example, see Solidworks). Blocking the amateur is a steep learning curve, a large time commitment and expensive software. This limits 3D modelling to use only by professionals, and blocks it from becoming a popular art form.
Imagine moving a pen in 3D, and seeing its 3D trajectory on a screen. You could draw a chair, or a tree, with absolutely no instructions beyond "press space to start or place a line, and press escape to exit from a line". Add a few colours and some basic functionality, and you've got 3D modelling that anyone can use.
First, I built a circuit containing two breadboards, an LED, 6 phototransistors and a few resistors wired to an Arduino UNO. Then, I measured the light cone of the LED, did a few back-of-the-napkin calculations and drew the enclosure on AutoCAD. I used one of the laser cutters at the makerspace to cut the enclosure out of acrylic, then spent a few hours getting all of the sensors and wires to fit in the box. Finally, I wrote a Python program that receives the light sensor data from the Arduino, triangulates the LED position and draws the figure using vpython. There is an option to export the figure as an STL (3D printable) file, which was implemented using the PyCAD library.
All of the code is available at: https://github.com/Verkhovskaya/treehacks