[x3d-public] Hanim visualization tree improvements
Brutzman, Donald (Don) (CIV)
brutzman at nps.edu
Mon Feb 13 21:03:55 PST 2023
Hi John. Everything in HAnim2 is supported in X3D4. Implementation
troubleshooting and improvements continue.
The default value loa="-1" is usually implicit but can be validly listed.
It means that the model does not conform to any of the defined Level of
Articulation (LOA) requirements.
* X3D Tooltips, HAnimHumanoid, loa
* https://www.web3d.org/x3d/content/X3dTooltips.html#HAnimHumanoid.loa
( <https://www.web3d.org/x3d4> X3D version 4.0 draft) [loa accessType
inputOutput <https://www.web3d.org/x3d/content/X3dTooltips.html#accessType>
, type SFInt32 <https://www.web3d.org/x3d/content/X3dTooltips.html#SFInt32>
CDATA <https://www.web3d.org/x3d/content/X3dTooltips.html#CDATA> -1] [-1,4]
<https://www.web3d.org/x3d/content/X3dTooltips.html#RangeIntervals>
Level Of Articulation 0..4 indicates complexity and detail of joints for
given humanoid skeletal hierarchy.
Hint: loa value of -1 indicates that no LOA conformance is provided.
Hint: Humanoid Animation (HAnim) Specification, Part 1 Architecture, 4.8.4
Levels of articulation,
https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/conce
pts.html#LevelsOfArticulation
Please don't bother worrying about languages or encodings John. Anything in
the X3D Architecture specification that can be captured goes into
* the X3D XML schema (which is object oriented with inheritance,
difficult for humans to grok), then
* X3DUOM which clearly lists each and every field for each and every
node, then
* Can be autogenerated to validate content in any encoding or
programming language.
* All of our encodings and programming languages are expected to be
100% consistent and compliant with X3D4 Architecture.
If Joe is satisfied that we might have some satisfactory new default values
then we add them. They are an authoring convenience for comparison, not a
requirement.
Have fun with X3D4 and HAnim2 - no really!
all the best, Don
--
Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
X3D graphics, virtual worlds, Navy robotics https://
faculty.nps.edu/brutzman
From: John Carlson <yottzumm at gmail.com>
Sent: Monday, February 13, 2023 7:42 PM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
Cc: Joseph D Williams <joedwil at earthlink.net>; X3D Public Mailing List
(x3d-public at web3d.org) <x3d-public at web3d.org>
Subject: Re: [x3d-public] Hanim visualization tree improvements
Please let us know if these hierarchies are going into X3D4.
What is loa -1?
Joe,
Rather than keeping around default centers and translations in your own
hierarchy or tables, Joe, perhaps keep them in VRML?
Wouldn't that be easiest for everyone? I'd personally probably find VRML
easier than your hierarchy, Joe, even though I have XML now. We have loads
of VRML parsers, including ones in Java (Xj3D), right? I'm pretty sure
Michalis can offer to convert VRML to X3D? Don can map Michalis' XML to
VRML for Joe's consumption, or I can write a VRML serializer. Is this
better or worse than a bunch of schematron rules?
I think I was replacing empty centers and translations in XML documents with
real defaults. This seems useful to me, but I need real default data (lack
of which is preventing a standard Humanoid .x3d). Can I have a HAnim2 LOA4
VRML document filled with default centers and translations?
I'm not in favor of creating another yet another encoding, which seems to be
what's happening.
I do think we want something for the Excel folks, if they can't handle
X3DUOM.
Yes, i realize we need normal documents for normal folks to review, that's
also amenable for tools. I guess XML ain't it? We tried with LISP a long
time ago.
Intentional Programming anyone? X3D-Edit Explorer/Netbeans?
3D paper?
I give up.
Thanks!
John
On Sun, Jan 1, 2023 at 4:53 PM Brutzman, Donald (Don) (CIV)
<brutzman at nps.edu <mailto:brutzman at nps.edu> > wrote:
Joe, here is followup to potential improvements for HTML-pretty-print output
of HAnim visualization tree. Am cc:ing x3d-public in case anyone has
further insights.
Improvements applied for two current examplesas follows. Note use of ^
indicating HAnimSite, and % indicating HAnimDisplacer, with list of relevant
node names following just below the full tree.
* X3D Example Archives: Humanoid Animation, Skin, Joe Kick
* This Joe model is a HAnim version 2 LOA-3 Humanoid with textured
skin based on the original HAnim Specification and data from CAESAR models.
*
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickInd
ex.html
* Visualization report for HAnimHumanoid model
<https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.h
tml#Joe_Human> Joe_Human
*
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.ht
ml#HumanHAnimHumanoidReport
============================================================================
=================================================
HAnimHumanoid skeleton holds X3D4 HAnim2 triplets, HAnimJoint (94) :
HAnimSegment (1) % HAnimDisplacer (1) ^ HAnimSite (1)
============================================================================
=================================================
HAnimHumanoid DEF='Joe_Human name='Human' loa='3'
skin Shape DEF='Joe_Shape'
skeleton
humanoid_root : sacrum ^ RootFront_view
sacroiliac
| l_hip
| | l_knee
| | l_talocrural
| | l_tarsometatarsal_2
| | l_metatarsophalangeal_2
| | l_tarsal_distal_interphalangeal_2
| r_hip
| r_knee
| r_talocrural
| r_tarsometatarsal_2
| r_metatarsophalangeal_2
| r_tarsal_distal_interphalangeal_2
vl5
vl4
vl3
vl2
vl1
vt12
vt11
vt10
vt9
vt8
vt7
vt6
vt5
vt4
vt3
vt2
vt1
vc7
vc6
| vc5
| vc4
| vc3
| vc2
| vc1
| skullbase %
skull_tip_raiser_action
| l_eyelid_joint
| l_eyeball_joint
| l_eyebrow_joint
| r_eyelid_joint
| r_eyeball_joint
| r_eyebrow_joint
| temporomandibular
l_sternoclavicular
| l_acromioclavicular
| l_shoulder
| l_elbow
| l_radiocarpal
| l_carpometacarpal_1
| | l_metacarpophalangeal_1
| |
l_carpal_interphalangeal_1
| l_carpometacarpal_2
| | l_metacarpophalangeal_2
| |
l_carpal_proximal_interphalangeal_2
| |
l_carpal_distal_interphalangeal_2
| l_carpometacarpal_3
| | l_metacarpophalangeal_3
| |
l_carpal_proximal_interphalangeal_3
| |
l_carpal_distal_interphalangeal_3
| l_carpometacarpal_4
| | l_metacarpophalangeal_4
| |
l_carpal_proximal_interphalangeal_4
| |
l_carpal_distal_interphalangeal_4
| l_carpometacarpal_5
| l_metacarpophalangeal_5
|
l_carpal_proximal_interphalangeal_5
|
l_carpal_distal_interphalangeal_5
r_sternoclavicular
r_acromioclavicular
r_shoulder
r_elbow
r_radiocarpal
r_carpometacarpal_1
| r_metacarpophalangeal_1
|
r_carpal_interphalangeal_1
r_carpometacarpal_2
| r_metacarpophalangeal_2
|
r_carpal_proximal_interphalangeal_2
|
r_carpal_distal_interphalangeal_2
r_carpometacarpal_3
| r_metacarpophalangeal_3
|
r_carpal_proximal_interphalangeal_3
|
r_carpal_distal_interphalangeal_3
r_carpometacarpal_4
| r_metacarpophalangeal_4
|
r_carpal_proximal_interphalangeal_4
|
r_carpal_distal_interphalangeal_4
r_carpometacarpal_5
r_metacarpophalangeal_5
r_carpal_proximal_interphalangeal_5
r_carpal_distal_interphalangeal_5
HAnimDisplacer list:
% HAnimJoint skullbase holds HAnimDisplacer skull_tip_raiser_action
HAnimSite list:
^ HAnimSegment sacrum holds HAnimSite RootFront_view
============================================================================
=================================================
* X3D Example Archives: Humanoid Animation, Skin, Joe Skeleton Skin
Site Salute Walk
* Comprehensive example showing skeleton, skin, sites and interpolator
animation together.
*
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeleto
nSkinSiteSaluteWalkIndex.html
* Visualization report for HAnimHumanoid model
<https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkelet
onSkinSiteSaluteWalk.html#Joe_Human> Joe_Human
*
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeleto
nSkinSiteSaluteWalk.html#HumanHAnimHumanoidReport
============================================================================
=================================================
HAnimHumanoid skeleton holds X3D4 HAnim2 triplets, HAnimJoint (89) :
HAnimSegment (90) % HAnimDisplacer (0) ^ HAnimSite (88)
============================================================================
=================================================
HAnimHumanoid DEF='Joe_Human name='Human' loa='-1'
skin Shape DEF='SkinShape'
skeleton
HumanoidRoot : sacrum
sacroiliac : pelvis ^ l_iliocristale,
| l_hip : l_thigh ^ l_knee_crease,
| | l_knee : l_calf ^ l_lateral_malleolus,
| | l_ankle (HAnim2 name l_talocrural) : l_hindfoot (HAnim2 name
l_talocrural) ^ l_sphyrion (HAnim2 name l_talocrural),
| | l_subtalar (HAnim2 name l_tarsometatarsal_2) : l_midproximal
(HAnim2 name l_tarsometatarsal_2)
| | l_midtarsal (HAnim2 name l_metatarsophalangeal_2) :
l_middistal (HAnim2 name l_metatarsophalangeal_2) ^ l_metatarsal_pha1
(HAnim2 name l_metatarsophalangeal_2)
| | l_metatarsal (HAnim2 name l_tarsal_distal_interphalangeal_2)
: l_forefoot (HAnim2 name l_tarsal_distal_interphalangeal_2) ^
l_metatarsal_pha5 (HAnim2 name l_tarsal_distal_interphalangeal_2), l_digit2
(HAnim2 name l_tarsal_distal_interphalangeal_2)
| r_hip : r_thigh ^ r_knee_crease,
| r_knee : r_calf ^ r_lateral_malleolus,
| r_ankle (HAnim2 name r_talocrural) : r_hindfoot (HAnim2 name
r_talocrural) ^ r_sphyrion (HAnim2 name r_talocrural),
| r_subtalar (HAnim2 name r_tarsometatarsal_2) : r_midproximal
(HAnim2 name r_tarsometatarsal_2)
| r_midtarsal (HAnim2 name r_metatarsophalangeal_2) :
r_middistal (HAnim2 name r_metatarsophalangeal_2) ^ r_metatarsal_pha1
(HAnim2 name r_metatarsophalangeal_2)
| r_metatarsal (HAnim2 name r_tarsal_distal_interphalangeal_2)
: r_forefoot (HAnim2 name r_tarsal_distal_interphalangeal_2) ^
r_metatarsal_pha5 (HAnim2 name r_tarsal_distal_interphalangeal_2), r_digit2
(HAnim2 name r_tarsal_distal_interphalangeal_2)
vl5 : toPelvis ^ waist_preferred_post,
vl4 : l4
vl3 : l3
vl2 : l2 ^ r_rib10,
vl1 : l1
vt12 : t12
vt11 : t11
vt10 : t10 ^ substernale
vt9 : t9 ^ r_thelion,
vt8 : t8
vt7 : t7
vt6 : t6
vt5 : t5
vt4 : t4
vt3 : t3
vt2 : t2
vt1 : t1 ^ suprasternale,
| vc7 : c7 ^ r_neck_base,
| | vc6 : c6
| | vc5 : c5
| | vc4 : c4
| | vc3 : c3
| | vc2 : c2
| | vc1 : c1
| | skullbase : skull ^
skull_tip,
| | l_eyeball_joint :
l_eyeball
| | r_eyeball_joint :
r_eyeball
| l_sternoclavicular : l_clavicle ^
l_clavicale
| l_acromioclavicular : l_scapula ^
l_acromion,
| l_shoulder : l_upperarm ^
l_humeral_medial_epicn,
| l_elbow : l_forearm ^
l_radial_styloid,
| l_wrist (HAnim2 name
l_radiocarpal) : l_hand (HAnim2 name l_radiocarpal) ^ l_metacarpal_pha2
(HAnim2 name l_radiocarpal),
| l_thumb1 :
l_thumb_metacarpal
| | l_thumb2 : l_thumb_distal
| | l_thumb3 :
l_thumb_distal ^ l_thumb_distal_tip
| l_index0 :
l_index_metacarpal
| | l_index1 :
l_index_proximal
| | l_index2 :
l_index_middle
| | l_index3 :
l_index_distal ^ l_index_distal_tip, l_dactylion
| l_middle0 :
l_middle_metacarpal
| | l_middle1 :
l_middle_proximal
| | l_middle2 :
l_middle_middle
| | l_middle3 :
l_middle_distal ^ l_middle_distal_tip
| l_ring0 : l_ring_metacarpal
| | l_ring1 : l_ring_proximal
| | l_ring2 : l_ring_middle
| | l_ring3 :
l_ring_distal ^ l_ring_distal_tip
| l_pinky0 :
l_pinky_metacarpal
| l_pinky1 :
l_pinky_proximal
| l_pinky2 :
l_pinky_middle
| l_pinky3 :
l_pinky_distal ^ l_pinky_distal_tip
r_sternoclavicular : r_clavicle ^
r_clavicale
r_acromioclavicular : r_scapula ^
r_acromion,
r_shoulder : r_upperarm ^
r_humeral_medial_epicn,
r_elbow : r_forearm ^
r_radial_styloid,
r_wrist (HAnim2 name
r_radiocarpal) : r_hand (HAnim2 name r_radiocarpal) ^ r_ulnar_styloid
(HAnim2 name r_radiocarpal)
r_thumb1 : r_thumb_metacarpal
| r_thumb2 : r_thumb_proximal
| r_thumb3 : r_thumb_distal
^ r_thumb_distal_tip
r_index0 : r_index_metacarpal
^ r_metacarpal_pha2
| r_index1 : r_index_proximal
| r_index2 : r_index_middle
| r_index3 :
r_index_distal ^ r_index_distal_tip
r_middle0 :
r_middle_metacarpal
| r_middle1 :
r_middle_proximal
| r_middle2 :
r_middle_middle
| r_middle3 :
r_middle_distal ^ r_dactylion, r_middle_distal_tip
r_ring0 : r_ring_metacarpal
| r_ring1 : r_ring_proximal
| r_ring2 : r_ring_middle
| r_ring3 : r_ring_distal
^ r_ring_distal_tip
r_pinky0 : r_pinky_metacarpal
^ r_metacarpal_pha5
r_pinky1 : r_pinky_proximal
r_pinky2 : r_pinky_middle
r_pinky3 :
r_pinky_distal ^ r_pinky_distal_tip
HAnimSite list:
^ HAnimSegment pelvis holds HAnimSite nodes l_iliocristale l_trochanterion
r_iliocristale r_trochanterion l_asis r_asis l_psis r_psis floormarker
crotch
^ HAnimSegment l_thigh holds HAnimSite nodes l_knee_crease
l_femoral_lateral_epicn l_femoral_medial_epicn
^ HAnimSegment l_calf holds HAnimSite nodes l_lateral_malleolus
l_medial_malleolus
^ HAnimSegment l_hindfoot holds HAnimSite nodes l_sphyrion l_calcaneous_post
^ HAnimSegment l_middistal holds HAnimSite l_metatarsal_pha1
^ HAnimSegment l_forefoot holds HAnimSite nodes l_metatarsal_pha5 l_digit2
^ HAnimSegment r_thigh holds HAnimSite nodes r_knee_crease
r_femoral_lateral_epicn r_femoral_medial_epicn
^ HAnimSegment r_calf holds HAnimSite nodes r_lateral_malleolus
r_medial_malleolus
^ HAnimSegment r_hindfoot holds HAnimSite nodes r_sphyrion r_calcaneous_post
^ HAnimSegment r_middistal holds HAnimSite r_metatarsal_pha1
^ HAnimSegment r_forefoot holds HAnimSite nodes r_metatarsal_pha5 r_digit2
^ HAnimSegment l5 holds HAnimSite nodes waist_preferred_post navel
^ HAnimSegment l2 holds HAnimSite nodes r_rib10 l_rib10 rib10_midspine
^ HAnimSegment t10 holds HAnimSite substernale
^ HAnimSegment t9 holds HAnimSite nodes r_thelion l_thelion
^ HAnimSegment t1 holds HAnimSite nodes suprasternale cervicale
^ HAnimSegment c7 holds HAnimSite nodes r_neck_base l_neck_base
^ HAnimSegment skull holds HAnimSite nodes skull_tip sellion r_infraorbitale
l_infraorbitale supramenton r_tragion r_gonion l_tragion l_gonion nuchale
^ HAnimSegment l_clavicle holds HAnimSite l_clavicale
^ HAnimSegment l_scapula holds HAnimSite nodes l_acromion l_axilla_ant
l_axilla_post
^ HAnimSegment l_upperarm holds HAnimSite nodes l_humeral_medial_epicn
l_radiale l_humeral_lateral_epicn
^ HAnimSegment l_forearm holds HAnimSite nodes l_radial_styloid l_olecranon
^ HAnimSegment l_hand holds HAnimSite nodes l_metacarpal_pha2
l_ulnar_styloid l_metacarpal_pha5
^ HAnimSegment l_thumb_distal holds HAnimSite l_thumb_distal_tip
^ HAnimSegment l_index_distal holds HAnimSite nodes l_index_distal_tip
l_dactylion
^ HAnimSegment l_middle_distal holds HAnimSite l_middle_distal_tip
^ HAnimSegment l_ring_distal holds HAnimSite l_ring_distal_tip
^ HAnimSegment l_pinky_distal holds HAnimSite l_pinky_distal_tip
^ HAnimSegment r_clavicle holds HAnimSite r_clavicale
^ HAnimSegment r_scapula holds HAnimSite nodes r_acromion r_axilla_ant
r_axilla_post
^ HAnimSegment r_upperarm holds HAnimSite nodes r_humeral_medial_epicn
r_radiale r_humeral_lateral_epicn
^ HAnimSegment r_forearm holds HAnimSite nodes r_radial_styloid r_olecranon
^ HAnimSegment r_hand holds HAnimSite r_ulnar_styloid
^ HAnimSegment r_thumb_distal holds HAnimSite r_thumb_distal_tip
^ HAnimSegment r_index_metacarpal holds HAnimSite r_metacarpal_pha2
^ HAnimSegment r_index_distal holds HAnimSite r_index_distal_tip
^ HAnimSegment r_middle_distal holds HAnimSite nodes r_dactylion
r_middle_distal_tip
^ HAnimSegment r_ring_distal holds HAnimSite r_ring_distal_tip
^ HAnimSegment r_pinky_metacarpal holds HAnimSite r_metacarpal_pha5
^ HAnimSegment r_pinky_distal holds HAnimSite r_pinky_distal_tip
============================================================================
=================================================
all the best, Don
--
Don Brutzman Naval Postgraduate School, Code USW/Br
<mailto:brutzman at nps.edu> brutzman at nps.edu
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
X3D graphics, virtual worlds, Navy robotics https://
<http://faculty.nps.edu/brutzman> faculty.nps.edu/brutzman
From: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu
<mailto:brutzman at nps.edu> >
Sent: Tuesday, December 27, 2022 4:53 PM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu <mailto:brutzman at nps.edu>
>; Joseph D Williams <joedwil at earthlink.net <mailto:joedwil at earthlink.net> >
Subject: Hanim vis tree improvements
Joe, here is an example ad some potential improvements to the pretty-print
visualization tree. Any other ideas?
Visualization report for HAnimHumanoid model
<https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/BoxMan4.h
tml#HUMANOID> HUMANOID
============================================================================
===========================
HAnimHumanoid skeleton holds X3D3 HAnim2 triplets, HAnimJoint (17) :
HAnimSegment (17) : HAnimSite (5)
============================================================================
===========================
HAnimHumanoid DEF='HUMANOID name='Humanoid' loa=''
HumanoidRoot : sacrum
| l_hip : l_thigh
| | l_knee : l_calf
| | l_ankle : l_hindfoot
| | l_midtarsal : l_middistal : l_middle_distal_tip
| r_hip : r_thigh
| | r_knee : r_calf
| | r_ankle : r_hindfoot
| | r_midtarsal : r_middistal : r_middle_distal_tip
| vl5 : l5
| skullbase : skull : skull_tip
| l_shoulder : l_upperarm
| | l_elbow : l_forearm
| | l_wrist : l_hand : l_hand_tip
| r_shoulder : r_upperarm
| r_elbow : r_forearm
| r_wrist : r_hand : r_hand_tip
Add * [displacerName] where appropriate
Show motions HAnimMotion/none at end
Show skin Switch/Shape/IFS/none
Ensure X3D3 HAnim2 (for example) shows correct version number
Change comma to colon for triplets:
all the best, Don
--
Don Brutzman Naval Postgraduate School, Code USW/Br
<mailto:brutzman at nps.edu> brutzman at nps.edu
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
X3D graphics, virtual worlds, Navy robotics
<https://faculty.nps.edu/brutzman> https://faculty.nps.edu/brutzman
_______________________________________________
x3d-public mailing list
x3d-public at web3d.org <mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230214/d9d395b8/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5353 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230214/d9d395b8/attachment-0001.p7s>
More information about the x3d-public
mailing list