Projects > Programming > Shapeshifter
Shapeshifter
I created an interactive 3D editor that allows users to design and manipulate one or two 3D shapes. This was inspired by my experiences using TinkerCad and Blender.
Type: desktop application
Role: full-stack development
Implementation: Python, CMU Graphics
Date: 2024

Feature Demo #1
Editing Vertex Endpoints
You can edit 3D positioning of any of the points by selecting the vertex and then adding or subtracting from the original value.

Feature Demo #2
adding shapes and sticky edges
You can add up to 2 shapes at a time, after the limit is reached, the add button is disabled. Additionally, you can activate the sticky feature to apply the position of one endpoint to another - which helps create shared faces for the next step.

Feature Demo #3
Merging faces
When the two shapes share any of their faces, the merge feature is activated. If the two shapes are merged, they behave as a single shape (with the intermediate face removed). And as a result, you can add more shapes with the add button!
Additional features showcased here are: zoom in ('+') and rotation ('w' and 's' for rotation along z-axis)







