人物?らしき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
