[x3d-public] HAnim2 LOA4 Hierarchy from X3DUOM

John Carlson yottzumm at gmail.com
Sat Jan 28 22:18:11 PST 2023


Make that 2 USE and 1 DEF.

Ugh, i fall into confusion now.

The parents have different names and the child has 1 DEF and 2 USE.

Sorry!

John

On Sun, Jan 29, 2023 at 12:09 AM John Carlson <yottzumm at gmail.com> wrote:

> Actually I haven’t checked my code for “several parent” issues yet.  I
> have no idea what several parents would look like, except for 3 USE/1 DEF
> nodes with same name field value.  I’m pretty sure this only applies to
> LOA4—we don’t have a lot of LOA4 examples of yet.
>
> If this is not yet included in your tools, that would be helpful to check.
>
> I hope we haven’t lost this info!
>
> It’s my recollection that this occurred in either the hands or feet.
>
> John
>
> I made a couple of changes from previous mail, below, sorry for confusion.
>
> On Sat, Jan 28, 2023 at 11:45 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> It’s also useful to recall that a couple of parts of the skeleton have
>> multiple parents (with the root as topmost parent), which I have yet to
>> include, FYI.   More details would be welcome!
>>
>
>> John
>>
>> On Sat, Jan 28, 2023 at 3:19 PM Brutzman, Donald (Don) (CIV) <
>> brutzman at nps.edu> wrote:
>>
>>> As part of followup actions from yesterday’s three specific parent-child
>>> relationship corrections, am now autogenerating the following table using
>>> X3DUOM.  It should match the international-standard hand-generated HAnim2
>>> specification for LOA-4 Hierarchy.
>>>
>>>
>>>
>>> Spot check:
>>>
>>>    1. Joint vl5 has parent humanoid_root
>>>    2. Joint l_sternoclavicular has parent vt1
>>>    3. Joint r_sternoclavicular has parent vt1
>>>
>>>
>>>
>>> Am hoping that someone can check that *everything* matches correctly --
>>> hey, this should match your body too!  Any remaining parent-child
>>> relationship errors that are similar to yesterday’s errors should stand
>>> out.  All corrections are most welcome.
>>>
>>>
>>>
>>> This is another great confirmation test to continue improving our
>>> confidence when producing and diagnosing the correctness of HAnim models.
>>> The autogeneration stylesheet and these results are all checked into
>>> version control, and they are now part of our production chain for X3D4
>>> validation.  I will continue work on various other autogenerated
>>> diagnostics (X3D Schematron, X3D Validator, X3D-Edit etc.) and report when
>>> everything is ready.
>>>
>>>
>>>
>>> Thanks again to Joe and John for dogged persistence tracking down the
>>> errors in the first place.  Essential work.
>>>
>>>
>>>
>>> Have fun with HAnim and X3D!  8)
>>>
>>>
>>>
>>>
>>>
>>> HAnim2 LOA4 Hierarchy from X3DUOM
>>>
>>> https://www.web3d.org/x3d/stylesheets/HAnimLOA4HierarchyTable.txt
>>>
>>>
>>>
>>> Authoritative reference: HAnim version 2, Part 1: Humanoid animation
>>> (HAnim) architecture,
>>>
>>>   clause 4 Concepts, section 4.9.6.4 LOA‑4 hierarchy
>>>
>>>
>>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#Hierarchy4
>>>
>>>   clause 4 Concepts, Figure 4.7 — LOA‑4 joints
>>>
>>>
>>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#f-LOA4Joints
>>>
>>>
>>>
>>> humanoid_root : sacrum
>>>
>>>   sacroiliac : pelvis
>>>
>>>   | l_hip : l_thigh
>>>
>>>   | | l_knee : l_calf
>>>
>>>   | |   l_talocrural : l_talus
>>>
>>>   | |     l_talocalcaneonavicular : l_navicular
>>>
>>>   | |     | l_cuneonavicular_1 : l_cuneiform_1
>>>
>>>   | |     | | l_tarsometatarsal_1 : l_metatarsal_1
>>>
>>>   | |     | |   l_metatarsophalangeal_1 : l_tarsal_proximal_phalanx_1
>>>
>>>   | |     | |     l_tarsal_interphalangeal_1 : l_tarsal_distal_phalanx_1
>>>
>>>   | |     | l_cuneonavicular_2 : l_cuneiform_2
>>>
>>>   | |     | | l_tarsometatarsal_2 : l_metatarsal_2
>>>
>>>   | |     | |   l_metatarsophalangeal_2 : l_tarsal_proximal_phalanx_2
>>>
>>>   | |     | |     l_tarsal_proximal_interphalangeal_2 :
>>> l_tarsal_middle_phalanx_2
>>>
>>>   | |     | |       l_tarsal_distal_interphalangeal_2 :
>>> l_tarsal_distal_phalanx_2
>>>
>>>   | |     | l_cuneonavicular_3 : l_cuneiform_3
>>>
>>>   | |     |   l_tarsometatarsal_3 : l_metatarsal_3
>>>
>>>   | |     |     l_metatarsophalangeal_3 : l_tarsal_proximal_phalanx_3
>>>
>>>   | |     |       l_tarsal_proximal_interphalangeal_3 :
>>> l_tarsal_middle_phalanx_3
>>>
>>>   | |     |         l_tarsal_distal_interphalangeal_3 :
>>> l_tarsal_distal_phalanx_3
>>>
>>>   | |     l_calcaneocuboid : l_calcaneus
>>>
>>>   | |       l_transversetarsal : l_cuboid
>>>
>>>   | |         l_tarsometatarsal_4 : l_metatarsal_4
>>>
>>>   | |         | l_metatarsophalangeal_4 : l_tarsal_proximal_phalanx_4
>>>
>>>   | |         |   l_tarsal_proximal_interphalangeal_4 :
>>> l_tarsal_middle_phalanx_4
>>>
>>>   | |         |     l_tarsal_distal_interphalangeal_4 :
>>> l_tarsal_distal_phalanx_4
>>>
>>>   | |         l_tarsometatarsal_5 : l_metatarsal_5
>>>
>>>   | |           l_metatarsophalangeal_5 : l_tarsal_proximal_phalanx_5
>>>
>>>   | |             l_tarsal_proximal_interphalangeal_5 :
>>> l_tarsal_middle_phalanx_5
>>>
>>>   | |               l_tarsal_distal_interphalangeal_5 :
>>> l_tarsal_distal_phalanx_5
>>>
>>>   | r_hip : r_thigh
>>>
>>>   |   r_knee : r_calf
>>>
>>>   |     r_talocrural : r_talus
>>>
>>>   |       r_talocalcaneonavicular : r_navicular
>>>
>>>   |       | r_cuneonavicular_1 : r_cuneiform_1
>>>
>>>   |       | | r_tarsometatarsal_1 : r_metatarsal_1
>>>
>>>   |       | |   r_metatarsophalangeal_1 : r_tarsal_proximal_phalanx_1
>>>
>>>   |       | |     r_tarsal_interphalangeal_1 : r_tarsal_distal_phalanx_1
>>>
>>>   |       | r_cuneonavicular_2 : r_cuneiform_2
>>>
>>>   |       | | r_tarsometatarsal_2 : r_metatarsal_2
>>>
>>>   |       | |   r_metatarsophalangeal_2 : r_tarsal_proximal_phalanx_2
>>>
>>>   |       | |     r_tarsal_proximal_interphalangeal_2 :
>>> r_tarsal_middle_phalanx_2
>>>
>>>   |       | |       r_tarsal_distal_interphalangeal_2 :
>>> r_tarsal_distal_phalanx_2
>>>
>>>   |       | r_cuneonavicular_3 : r_cuneiform_3
>>>
>>>   |       |   r_tarsometatarsal_3 : r_metatarsal_3
>>>
>>>   |       |     r_metatarsophalangeal_3 : r_tarsal_proximal_phalanx_3
>>>
>>>   |       |       r_tarsal_proximal_interphalangeal_3 :
>>> r_tarsal_middle_phalanx_3
>>>
>>>   |       |         r_tarsal_distal_interphalangeal_3 :
>>> r_tarsal_distal_phalanx_3
>>>
>>>   |       r_calcaneocuboid : r_calcaneus
>>>
>>>   |         r_transversetarsal : r_cuboid
>>>
>>>   |           r_tarsometatarsal_4 : r_metatarsal_4
>>>
>>>   |           | r_metatarsophalangeal_4 : r_tarsal_proximal_phalanx_4
>>>
>>>   |           |   r_tarsal_proximal_interphalangeal_4 :
>>> r_tarsal_middle_phalanx_4
>>>
>>>   |           |     r_tarsal_distal_interphalangeal_4 :
>>> r_tarsal_distal_phalanx_4
>>>
>>>   |           r_tarsometatarsal_5 : r_metatarsal_5
>>>
>>>   |             r_metatarsophalangeal_5 : r_tarsal_proximal_phalanx_5
>>>
>>>   |               r_tarsal_proximal_interphalangeal_5 :
>>> r_tarsal_middle_phalanx_5
>>>
>>>   |                 r_tarsal_distal_interphalangeal_5 :
>>> r_tarsal_distal_phalanx_5
>>>
>>>   vl5 : l5
>>>
>>>     vl4 : l4
>>>
>>>       vl3 : l3
>>>
>>>         vl2 : l2
>>>
>>>           vl1 : l1
>>>
>>>             vt12 : t12
>>>
>>>               vt11 : t11
>>>
>>>                 vt10 : t10
>>>
>>>                   vt9 : t9
>>>
>>>                     vt8 : t8
>>>
>>>                       vt7 : t7
>>>
>>>                         vt6 : t6
>>>
>>>                           vt5 : t5
>>>
>>>                             vt4 : t4
>>>
>>>                               vt3 : t3
>>>
>>>                                 vt2 : t2
>>>
>>>                                   vt1 : t1
>>>
>>>                                     vc7 : c7
>>>
>>>                                     | vc6 : c6
>>>
>>>                                     |   vc5 : c5
>>>
>>>                                     |     vc4 : c4
>>>
>>>                                     |       vc3 : c3
>>>
>>>                                     |         vc2 : c2
>>>
>>>                                     |           vc1 : c1
>>>
>>>                                     |             skullbase : skull
>>>
>>>                                     |               l_eyelid_joint :
>>> l_eyelid
>>>
>>>                                     |               r_eyelid_joint :
>>> r_eyelid
>>>
>>>                                     |               l_eyeball_joint :
>>> l_eyeball
>>>
>>>                                     |               r_eyeball_joint :
>>> r_eyeball
>>>
>>>                                     |               l_eyebrow_joint :
>>> l_eyebrow
>>>
>>>                                     |               r_eyebrow_joint :
>>> r_eyebrow
>>>
>>>                                     |               temporomandibular :
>>> jaw
>>>
>>>                                     l_sternoclavicular : l_clavicle
>>>
>>>                                     | l_acromioclavicular : l_scapula
>>>
>>>                                     |   l_shoulder : l_upperarm
>>>
>>>                                     |     l_elbow : l_forearm
>>>
>>>                                     |       l_radiocarpal : l_carpal
>>>
>>>                                     |         l_midcarpal_1 : l_trapezium
>>>
>>>                                     |         | l_carpometacarpal_1 :
>>> l_metacarpal_1
>>>
>>>                                     |         |
>>> l_metacarpophalangeal_1 : l_carpal_proximal_phalanx_1
>>>
>>>                                     |         |
>>> l_carpal_interphalangeal_1 : l_carpal_distal_phalanx_1
>>>
>>>                                     |         l_midcarpal_2 : l_trapezoid
>>>
>>>                                     |         | l_carpometacarpal_2 :
>>> l_metacarpal_2
>>>
>>>                                     |         |
>>> l_metacarpophalangeal_2 : l_carpal_proximal_phalanx_2
>>>
>>>                                     |         |
>>> l_carpal_proximal_interphalangeal_2 : l_carpal_middle_phalanx_2
>>>
>>>                                     |         |
>>> l_carpal_distal_interphalangeal_2 : l_carpal_distal_phalanx_2
>>>
>>>                                     |         l_midcarpal_3 : l_capitate
>>>
>>>                                     |         | l_carpometacarpal_3 :
>>> l_metacarpal_3
>>>
>>>                                     |         |
>>> l_metacarpophalangeal_3 : l_carpal_proximal_phalanx_3
>>>
>>>                                     |         |
>>> l_carpal_proximal_interphalangeal_3 : l_carpal_middle_phalanx_3
>>>
>>>                                     |         |
>>> l_carpal_distal_interphalangeal_3 : l_carpal_distal_phalanx_3
>>>
>>>                                     |         l_midcarpal_4_5 : l_hamate
>>>
>>>                                     |           l_carpometacarpal_4 :
>>> l_metacarpal_4
>>>
>>>                                     |           |
>>> l_metacarpophalangeal_4 : l_carpal_proximal_phalanx_4
>>>
>>>                                     |           |
>>> l_carpal_proximal_interphalangeal_4 : l_carpal_middle_phalanx_4
>>>
>>>                                     |           |
>>> l_carpal_distal_interphalangeal_4 : l_carpal_distal_phalanx_4
>>>
>>>                                     |           l_carpometacarpal_5 :
>>> l_metacarpal_5
>>>
>>>                                     |
>>> l_metacarpophalangeal_5 : l_carpal_proximal_phalanx_5
>>>
>>>                                     |
>>> l_carpal_proximal_interphalangeal_5 : l_carpal_middle_phalanx_5
>>>
>>>                                     |
>>> l_carpal_distal_interphalangeal_5 : l_carpal_distal_phalanx_5
>>>
>>>                                     r_sternoclavicular : r_clavicle
>>>
>>>                                       r_acromioclavicular : r_scapula
>>>
>>>                                         r_shoulder : r_upperarm
>>>
>>>                                           r_elbow : r_forearm
>>>
>>>                                             r_radiocarpal : r_carpal
>>>
>>>                                               r_midcarpal_1 : r_trapezium
>>>
>>>                                               | r_carpometacarpal_1 :
>>> r_metacarpal_1
>>>
>>>                                               |
>>> r_metacarpophalangeal_1 : r_carpal_proximal_phalanx_1
>>>
>>>                                               |
>>> r_carpal_interphalangeal_1 : r_carpal_distal_phalanx_1
>>>
>>>                                               r_midcarpal_2 : r_trapezoid
>>>
>>>                                               | r_carpometacarpal_2 :
>>> r_metacarpal_2
>>>
>>>                                               |
>>> r_metacarpophalangeal_2 : r_carpal_proximal_phalanx_2
>>>
>>>                                               |
>>> r_carpal_proximal_interphalangeal_2 : r_carpal_middle_phalanx_2
>>>
>>>                                               |
>>> r_carpal_distal_interphalangeal_2 : r_carpal_distal_phalanx_2
>>>
>>>                                               r_midcarpal_3 : r_capitate
>>>
>>>                                               | r_carpometacarpal_3 :
>>> r_metacarpal_3
>>>
>>>                                               |
>>> r_metacarpophalangeal_3 : r_carpal_proximal_phalanx_3
>>>
>>>                                               |
>>> r_carpal_proximal_interphalangeal_3 : r_carpal_middle_phalanx_3
>>>
>>>                                               |
>>> r_carpal_distal_interphalangeal_3 : r_carpal_distal_phalanx_3
>>>
>>>                                               r_midcarpal_4_5 : r_hamate
>>>
>>>                                                 r_carpometacarpal_4 :
>>> r_metacarpal_4
>>>
>>>                                                 |
>>> r_metacarpophalangeal_4 : r_carpal_proximal_phalanx_4
>>>
>>>                                                 |
>>> r_carpal_proximal_interphalangeal_4 : r_carpal_middle_phalanx_4
>>>
>>>                                                 |
>>> r_carpal_distal_interphalangeal_4 : r_carpal_distal_phalanx_4
>>>
>>>                                                 r_carpometacarpal_5 :
>>> r_metacarpal_5
>>>
>>>
>>> r_metacarpophalangeal_5 : r_carpal_proximal_phalanx_5
>>>
>>>
>>> r_carpal_proximal_interphalangeal_5 : r_carpal_middle_phalanx_5
>>>
>>>
>>>                                            r_carpal_distal_interphalangeal_5
>>> : r_carpal_distal_phalanx_5
>>>
>>>
>>>
>>>
>>>
>>> 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)
>>> *Sent:* Friday, January 27, 2023 7:02 PM
>>> *To:* Joseph D Williams <joedwil at earthlink.net>; John Carlson <
>>> yottzumm at gmail.com>
>>> *Cc:* X3D Graphics public mailing list <x3d-public at web3d.org>;
>>> brutzman at nps.edu
>>> *Subject:* RE: HAnim Schematron output sampled
>>>
>>>
>>>
>>> Thanks for discussion Joe, really helpful.  We definitely have had some
>>> mixed signals here.
>>>
>>>
>>>
>>> Summary of changes we applied to HAnim schema relationships:
>>>
>>>    1. Joint vl5 has parent humanoid_root
>>>    2. Joint l_sternoclavicular has parent vt1
>>>    3. Joint r_sternoclavicular has parent vt1
>>>
>>>
>>>
>>> I will work on updating these corrections into all the tools accordingly
>>> – X3DUOM, X3D Schematron, X3DJSAIL Java, X3DPSAIL Python, and X3D-Edit..
>>>
>>>
>>>
>>> Thanks too for fixing multiple models together.
>>>
>>>
>>>
>>> Awesome work, sincere thanks, take care.
>>>
>>>
>>>
>>> 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:* Joseph D Williams <joedwil at earthlink.net>
>>> *Sent:* Sunday, January 22, 2023 11:53 AM
>>> *To:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; John Carlson <
>>> yottzumm at gmail.com>
>>> *Cc:* X3D Graphics public mailing list <x3d-public at web3d.org>
>>> *Subject:* RE: HAnim Schematron output sampled
>>>
>>>
>>>
>>>    - vl5 has parent humanoid_root rather than expected sacroiliac
>>>    - l_sternoclavicular has parent vt1 rather than expected vc7
>>>    - r_sternoclavicular has parent vt1 rather than expected vc7
>>>
>>>
>>>
>>> Don, these three items serve as a summary when processing a model that
>>> is correct according to the diagram.
>>>
>>> Much to discuss regarding some existing examples.
>>>
>>> Joe
>>>
>>>
>>>
>>> *From: *Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
>>> *Sent: *Sunday, January 22, 2023 10:09 AM
>>> *To: *Joseph D Williams <joedwil at earthlink.net>; John Carlson
>>> <yottzumm at gmail.com>
>>> *Cc: *X3D Graphics public mailing list <x3d-public at web3d.org>
>>> *Subject: *Re: HAnim Schematron output sampled
>>>
>>>
>>>
>>> Sounds like progress, but not quite focused enough to make any fixes
>>> yet…. Clarity his critical.
>>>
>>>
>>>
>>> Hopefully you guys can create a simple list consisting of simple
>>> triplets:
>>>
>>>    - suspect joint or segment name,
>>>    - the incorrect parent described in the X3D XML schema,, and
>>>    - the correct parent shown by the diagrams in the specifications.
>>>
>>>
>>>
>>> If there is such a simple list of a few names/errors/corrections
>>> available, I hope to have some time Monday or Tuesday afternoon to work on
>>> it together.  Onward…
>>>
>>>
>>>
>>> v/r Don
>>>
>>> *From:* Joseph D Williams <joedwil at earthlink.net>
>>> *Sent:* Saturday, January 21, 2023 11:07:06 PM
>>> *To:* John Carlson <yottzumm at gmail.com>; Brutzman, Donald (Don) (CIV) <
>>> brutzman at nps.edu>; X3D Graphics public mailing list <
>>> x3d-public at web3d.org>
>>> *Subject:* RE: HAnim Schematron output sampled
>>>
>>>
>>>
>>> Hi,
>>>
>>> The expected ones are not correct.  Vl5 is a child of root and sternos
>>> and vc7 are childs of vt1. The schematron claims are wrong.
>>>
>>> The schematron is wrong according to the Concepts 4 diagrams for loa3
>>> and loa4.
>>>
>>>
>>>
>>>    - Yes, vl5 is a child of sacroiliac, according to Joe.
>>>     X3DUOM/schematron wins!
>>>
>>>
>>>
>>> No, vl5 is a child of root. Schematron is wrong.
>>>
>>> The diagrams are correct.
>>>
>>> Joe
>>>
>>>
>>>
>>> *From: *John Carlson <yottzumm at gmail.com>
>>> *Sent: *Sunday, January 15, 2023 5:46 PM
>>> *To: *Joe D Williams <joedwil at earthlink.net>; Don Brutzman
>>> <brutzman at nps.edu>; X3D Graphics public mailing list
>>> <x3d-public at web3d.org>
>>> *Subject: *Re: HAnim Schematron output sampled
>>>
>>>
>>> vl5 has parent humanoid_root rather than expected sacroiliac.  Yes, vl5
>>> is a child of sacroiliac, according to Joe.   X3DUOM/schematron wins!
>>>
>>> l_sternoclavicular has parent vt1 rather than expected vc7.  Please
>>> confirm.
>>>
>>> r_sternoclavicular has parent vt1 rather than expected vc7.  Please
>>> confirm.
>>>
>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230129/156aabb4/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 159 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230129/156aabb4/attachment-0001.png>


More information about the x3d-public mailing list