Eric Chu

PhD Candidate, Masschusetts Institute of Technology (MIT)

echu [AT] mit.edu

twitter // linkedin // github // scholar

Topological Sculptures

Ringsculpt - A frontend for creating interactive models of ring-based topological structures. Users can place and connect a number of primitives, such as “tunnels”, “funnels”, “twisted eights” and arbitrary loops. Currently interfaces witih Berkeley SLIDE, a language for dynamically updating OpenGL graphics, which is then used to create smooth offset subdivision surfaces.

Juncsculpt - A DSL for placing junctures and connecting edges between them. Interfaces with Berkeley SLIDE.

Motivated by the Charles Perry and the (especially lovely) Eva Hild sculptures.


RingSculpt


JuncSculpt
# Create Pos and Neg Junctures
tri0 = tri_juncture(0)
tri1 = tri_juncture(1)
pos = translate_junc(tri0, [0,0,5])
neg = translate_junc(tri1, [0,0,-5])

# Get Juncture edges
pos_edges = get_tri_junc_sweep_edges(pos)
neg_edges = get_tri_junc_sweep_edges(neg)

# Create Edge Variables for Convenience
pos_top = pos_edges['top']
pos_left = pos_edges['left']
pos_right = pos_edges['right']
neg_top = neg_edges['top']
neg_left = neg_edges['left']
neg_right = neg_edges['right']

# Create Paths
pos_top_neg_right_path = create_path(pos_top, neg_right, 0, '$pos_t_neg_r')
pos_right_neg_left_path = create_path(pos_right, neg_left, 1, '$pos_r_neg_l')
pos_left_neg_top_path = create_path(pos_left, neg_top, 2, '$pos_l_neg_t')