Arm Hierarchy Example Code
(define (arm-base)
(separator
(scale (vec3 .75 .075 .75))
(box)
)
)
(define (bottom-segment)
(separator
(scale (vec3 .1 1 .1))
(rotate -90 (vec3 1 0 0))
(cylinder)
)
)
(define (elbow)
(separator
(scale (vec3 .1 .1 .1))
(sphere)
))
(define (upper-segment)
(separator
(scale (vec3 .075 1 .075))
(rotate -90 (vec3 1 0 0))
(cylinder)
)
)
(define (wrist)
(separator
(scale (vec3 .075 .075 .075))
(sphere)
))
(define (hand)
(separator
(scale (vec3 .075 1 .075))
(rotate -90 (vec3 1 0 0))
(cone)
)
)
(define (robot-arm elbow-angle wrist-angle)
(separator
(surface "matte")
(arm-base)
(bottom-segment)
; bottom-segment-to-elbow-translation
(translate (vec3 0 1 0))
(rotate elbow-angle z-axis)
(elbow)
(upper-segment)
; upper-segment-to-wrist-translation
(translate (vec3 0 1 0))
(rotate wrist-angle z-axis)
(wrist)
(hand)
)))
Return to joints
mrl