人物?らしき3Dモデル・その4-4。
前回の「その3-4」に 手と足に肘と膝の関節を追加したパターン。これまた、足を双方動かした場合は本当は高さを低くすべきですが、横着して、変えてません。

正座〜
しかしこう考えると人間の身体って凄いな〜ってツクヅク思う
前回の「その3-4」に 手と足に肘と膝の関節を追加したパターン。これまた、足を双方動かした場合は本当は高さを低くすべきですが、横着して、変えてません。
// 模擬的な人物モデル(04c)実行
// 頭(球)+胴体(楕円錐)+腕2(円柱)+足2(円柱)
#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_l1 = 25 ;*腕 長さ1
arm_l2 = 35 ;*腕 長さ2
arm_a11 = 0 ;*腕(+)角度1
arm_a12 = 0 ;*腕(+)角度2
arm_a13 = 0 ;*腕(+)角度3(関節)
arm_a21 = 0 ;*腕(-)角度1
arm_a22 = 0 ;*腕(-)角度2
arm_a23 = 0 ;*腕(-)角度3(関節)
leg_spx =10 ;*足 離す横間隔
leg_spz = 2 ;*足 離す縦間隔
leg_sz = 20 ;*足 太さ
leg_l1 = 30 ;*足 長さ1
leg_l2 = 45 ;*足 長さ2
leg_a11 = 0 ;*足(+)角度1
leg_a12 = 0 ;*足(+)角度2
leg_a13 = 0 ;*足(+)角度3(関節)
leg_a21 = 0 ;*足(-)角度1
leg_a22 = 0 ;*足(-)角度2
leg_a23 = 0 ;*足(-)角度3(関節)
leg_l
i
j
k
w1
w2
w3
w4
w5
ax1
ay1
az1
ax2
ay2
az2
#DRAW
CAL leg_l = leg_l1 + leg_l2
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 k,SetArcSep,w1,arm_l1, 1,1,0
CAL j = k - SetArcSep + 1
CLRSEL
ADDSEL i,j,k,999,999,999,999
// 関節部
#IF (arm_a13 <> 0)
CAL w1 = -arm_sz/2
CAL w2 = -arm_sz/2
CAL w3 = arm_l1
GETL2W ax1,ay1,az1, w1,w2,w3
CAL w1 = arm_sz/2
CAL w2 = -arm_sz/2
CAL w3 = arm_l1
GETL2W ax2,ay2,az2, w1,w2,w3
CAL w1 = arm_a13/180*PI
S_ROT1 2,-1,-1,4, ax1,ay1,az1, ax2,ay2,az2, w1
#END
// 関節〜腕
S_SWEP2 2,-1,-1, arm_l2
// 腕(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 k,SetArcSep,w1,arm_l1, 1,1,0
CAL j = k - SetArcSep + 1
CLRSEL
ADDSEL i,j,k,999,999,999,999
// 関節部
#IF (arm_a23 <> 0)
CAL w1 = -arm_sz/2
CAL w2 = -arm_sz/2
CAL w3 = arm_l1
GETL2W ax1,ay1,az1, w1,w2,w3
CAL w1 = arm_sz/2
CAL w2 = -arm_sz/2
CAL w3 = arm_l1
GETL2W ax2,ay2,az2, w1,w2,w3
CAL w1 = arm_a23/180*PI
S_ROT1 2,-1,-1,4, ax1,ay1,az1, ax2,ay2,az2, w1
#END
// 関節〜腕
S_SWEP2 2,-1,-1, arm_l2
// 足(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 k,SetArcSep,w1,leg_l1, 1,1,0
CAL j = k - SetArcSep + 1
CLRSEL
ADDSEL i,j,k,999,999,999,999
// 関節部
#IF (leg_a13 <> 0)
CAL w1 = leg_sz/2
CAL w2 = leg_sz/2
CAL w3 = leg_l1
GETL2W ax1,ay1,az1, w1,w2,w3
CAL w1 =-leg_sz/2
CAL w2 = leg_sz/2
CAL w3 = leg_l1
GETL2W ax2,ay2,az2, w1,w2,w3
CAL w1 = leg_a13/180*PI
S_ROT1 2,-1,-1,4, ax1,ay1,az1, ax2,ay2,az2, w1
#END
// 関節〜足
S_SWEP2 2,-1,-1, leg_l2
// 足(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 k,SetArcSep,w1,leg_l1, 1,1,0
CAL j = k - SetArcSep + 1
CLRSEL
ADDSEL i,j,k,999,999,999,999
// 関節部
#IF (leg_a23 <> 0)
CAL w1 = leg_sz/2
CAL w2 = leg_sz/2
CAL w3 = leg_l1
GETL2W ax1,ay1,az1, w1,w2,w3
CAL w1 =-leg_sz/2
CAL w2 = leg_sz/2
CAL w3 = leg_l1
GETL2W ax2,ay2,az2, w1,w2,w3
CAL w1 = leg_a23/180*PI
S_ROT1 2,-1,-1,4, ax1,ay1,az1, ax2,ay2,az2, w1
#END
// 関節〜足
S_SWEP2 2,-1,-1, leg_l2

正座〜
しかしこう考えると人間の身体って凄いな〜ってツクヅク思う