Digital Marionette

Passive Rider Animation

copyright 2023 Michael Lastufka

Marionette style control points in external source's coordinates:

  • All measurements are in inches and degrees.
  • Frame coords x="+fore -back" y="+left -right" z="+up - down"

    Hand/Feet Target points provided by external source:

    handL, handR, footL, footR

    Posture provided by external source:

    cm: Center of mass point (between spine and hips)
    spineAxis: Spine Axis vector or unit vector passing through cm

    Controls:

    Shoulder and hip rotation: spinS, spinH

    Main module:

    Rider(handL, handR, footL, footR, cm, spineAxis, spinS, spinH)

    Support modules:

    JointedAppendage(bodyAttachment, medialLen, distalLen, freeEnd, splay, label="Appendage", orient)
    CylinderSpan(origin, endPt, radius)

    Support functions:

    ShoulderSocket(side, spinS, tiltAxis, tiltAng)
    JointPos(bodyAttachment, medialLen, distalLen, freeEnd, splay, orient)
    RotateAroundAxis(pt, axis, angle)
    CircleInsect2D(r1,x1,y1,r2,x2,y2,tailSign)
    Transpose(A)

    Examples: (View-Animate in Open SCAD using FPS and Steps commented in files)

    1. Rider.scad - Self contained "Dance" animation.
    2. BoxTrot.scad - Solid Box model for Rider to move.
    3. TrikkeAni.scad - Articulated model of a Trikke T8 body powered carving vehicle for Rider to ride.