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)

Why this project?

Ideation and Process

Things I am proud of

Some of the interface sketches I made

Why this project?

Ideation and Process

Things I am proud of

Some of the interface sketches I made

Jessica Cai

Pittsburgh, PA

Jessica Cai

Pittsburgh, PA

Create a free website with Framer, the website builder loved by startups, designers and agencies.