人物?らしき3Dモデル・その3-4。
頭と胴体に手と足をつけたパターン。
足を双方動かした場合は本当は高さを低くすべきですが、横着して、変えてません。
逆楕円錐の底面は モデルとして笑えるのでそのままにしてます。
// 模擬的な人物モデル(04b)
//  頭(球)+胴体(楕円錐)+腕(円柱)+足(円柱)

#VAR
 col = 3    ;*線色
 tall = 170   ;*身長
 head = 30   ;*頭の大きさ
 body_x1 = 50  ;*体 上X
 body_y1 = 30  ;*体 上Y
 body_x2 = 10  ;*体 下X
 body_y2 = 5  ;*体 下Y
 body_z     ;*体Z
 arm_sp = 0  ;*腕 離す間隔
 arm_sz = 15  ;*腕 太さ
 arm_l = 60  ;*腕 長さ
 arm_a11 = 0  ;*腕(+)角度1
 arm_a12 = 0  ;*腕(+)角度2
 arm_a21 = 0  ;*腕(-)角度1
 arm_a22 = 0  ;*腕(-)角度2
 leg_spx =10  ;*足 離す横間隔
 leg_spz = 2  ;*足 離す縦間隔
 leg_sz = 20  ;*足 太さ
 leg_l = 75  ;*足 長さ
 leg_a11 = 0  ;*足(+)角度1
 leg_a12 = 0  ;*足(+)角度2
 leg_a21 = 0  ;*足(-)角度1
 leg_a22 = 0  ;*足(-)角度2
 i
 w1
 w2
 w3
 w4
 w5
#DRAW
 CAL body_z = tall - head - leg_spz - leg_l
 
 PEN col
 // 頭
 CAL w1 = 0
 CAL w2 = 0
 CAL w3 = leg_l + leg_spz + body_z + head/2
 MATRIXO w1,w2,w3
 CAL w1 = head/2
 SPHERE i,SetArcSep,w1,0

 // 胴体
 CAL w1 = 0
 CAL w2 = 0
 CAL w3 = leg_l + leg_spz
 MATRIXO w1,w2,w3
 CAL w1 = body_x2/2
 CAL w2 = body_y2/2
 CAL w3 = body_x1/2
 CAL w4 = body_y1/2
 ETUBE i,SetArcSep, w1,w2,0,body_z, w3,w4,0, 0,0,1,1,0

 // 腕(X+)
 CAL w1 = body_x1/2 + arm_sp + arm_sz/2
 CAL w2 = 0
 CAL w3 = leg_l + leg_spz + body_z - arm_sz/2
 CAL w4 = arm_a12/180*PI
 CAL w5 = PI + arm_a11/180*PI
 MATRIXA w1,w2,w3,0,w4,w5
 CAL w1 = arm_sz/2
 CYLIND i,SetArcSep,w1,arm_l, 1,1,0

 // 腕(X-)
 CAL w1 =-body_x1/2 - arm_sp - arm_sz/2
 CAL w2 = 0
 CAL w3 = leg_l + leg_spz + body_z - arm_sz/2
 CAL w4 =-arm_a22/180*PI
 CAL w5 = PI + arm_a21/180*PI
 MATRIXA w1,w2,w3,0,w4,w5
 CAL w1 = arm_sz/2
 CYLIND i,SetArcSep,w1,arm_l, 1,1,0

 // 足(X+)
 CAL w1 = leg_sz/2 + leg_spx/2
 CAL w2 = 0
 CAL w3 = leg_l
 CAL w4 = leg_a12/180*PI
 CAL w5 = PI + leg_a11/180*PI
 MATRIXA w1,w2,w3,0,w4,w5
 CAL w1 = leg_sz/2
 CYLIND i,SetArcSep,w1,leg_l, 1,1,0

 // 足(X-)
 CAL w1 =-leg_sz/2 - leg_spx/2
 CAL w2 = 0
 CAL w3 = leg_l
 CAL w4 =-leg_a22/180*PI
 CAL w5 = PI + leg_a21/180*PI
 MATRIXA w1,w2,w3,0,w4,w5
 CAL w1 = leg_sz/2
 CYLIND i,SetArcSep,w1,leg_l, 1,1,0

20101103l