[x3d-public] Hanim visualization tree improvements

John Carlson yottzumm at gmail.com
Mon Feb 13 19:42:21 PST 2023


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> 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/JoeKickIndex.html
>    - Visualization report for HAnimHumanoid model Joe_Human
>    <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#Joe_Human>
>    -
>    https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#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/JoeSkeletonSkinSiteSaluteWalkIndex.html
>    - Visualization report for HAnimHumanoid model Joe_Human
>    <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalk.html#Joe_Human>
>    -
>    https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalk.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
> 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:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
> *Sent:* Tuesday, December 27, 2022 4:53 PM
> *To:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; Joseph D Williams <
> 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 HUMANOID
> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/BoxMan4.html#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
> 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
> _______________________________________________
> x3d-public mailing list
> 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/20230213/9e147982/attachment-0001.html>


More information about the x3d-public mailing list