<div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 31, 2023 at 11:57 AM Joe D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">> How might we address parts of the body?</p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">> Mocap interface…</p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">You might have to: </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">* Read bvh bones and find appropriate hanim joints</p></div></blockquote><div dir="auto"><br></div><div dir="auto">Don has a BVH converter in X3D-Edit.   I’m hoping I can salvage at least my JavaScript.  I’m not expecting or wanting to salvage Perl at this point. It would be better to write a VRML parser for JAX-B, similar to how JAX-B and Jackson work together.  I think, or use XML with JAX-B.  Sorry, I’m not going the SAX or DOM way right now.</div><div dir="auto"><br></div><div dir="auto">Are there newer things available for Java?  My knowledge dates from 2012.   I don’t want to write Java web server code any time soon.</div><div dir="auto"><br></div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)" dir="auto"></p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">* Find default before animation pose. </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">** For hanim, the default is I pose, 0 0 0 between feet facing +Z in+Zout space. </p></div></blockquote><div dir="auto"><br></div><div dir="auto">I have info from your hierarchy in JSON, just need to import/export with JAX-B/Jackson.  Or write the VRML parser above.   I’ll need a data model for JAX-B.</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)" dir="auto"></p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">** For bvh, the default pose before animation may be I or A or T or whatever the animation author chose. It may be the first frame of the supplied animation. </p></div></blockquote><div dir="auto"><br></div><div dir="auto">This is a data problem.  The task is to find the data to extract a skeleton from.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)" dir="auto"></p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">* Determine coordinate system of given bvh dimensions </p></div></blockquote><div dir="auto"><br></div><div dir="auto">This is bvhacker</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)" dir="auto"></p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">**  The hanim model is +Zout right hand rule facing +z  (out of screen toward viewer), +y is up, and +x to model left.</p></div></blockquote><div dir="auto">I’m not writing an animation tool,  i can’t compete with the big guys.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)" dir="auto"></p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> **  The bvh model might be drawn and dimensioned in alternative +Zin left hand rule, facing -z with +y up and +x to model left. </p></div></blockquote><div dir="auto"><br></div><div dir="auto">Bvhacker probably </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)" dir="auto"></p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)" dir="auto">* Test skeleton using animations designed for hanim standard basic +Zout models.</p></div></blockquote><div dir="auto">my brain hurts</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)" dir="auto"></p></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)" dir="auto"></p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">* Test skeleton using supplied bvh animation.</p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">** Given the simple comparison of hanim standard vs bvh possible and maybe typical skeleton, then may find that bvh animations use left-hand rule for axis rotations while hanim uses right-hand rule for axis rotations. Simple experiments can appear that either or both of right-hand/left-hand coordinate reversal and/or of axis-rotation reversal. </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">* If animation is interesting, Salvage what ever you can to add to the animation library.</p></div></blockquote><div dir="auto"><br></div><div dir="auto">You want a pipeline for  converting BVH?  That wasn’t my dream.</div><div dir="auto"><br></div><div dir="auto">I just want to build a simple way to output output chaining VRML code, based on knowledge I’ve gained.  Make it easier for the next person.  After that, maybe tweening or whatever it’s called.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)" dir="auto"></p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">Thanks,</p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">Joe</p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">make skeleton visible by adding geometry</p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">apply (converted of standard) animations and see what happens</p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)">oseconvert to joints</p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
<p style="white-space:normal;font-family:"Times New Roman";font-size:medium;margin:0.1rem 0px;line-height:1;color:rgb(0,0,0)"> </p>
</div>
<div style="border-left-width:1px;border-left-style:solid;box-sizing:border-box;padding:10px 0px 10px 15px;margin:0px;border-left-color:rgb(170,170,170)">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br>Sent: Aug 31, 2023 8:37 AM<br>To: Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>>, Carol McDonald <<a href="mailto:cemd2@comcast.net" target="_blank">cemd2@comcast.net</a>>, Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>>, Norbraten, Terry (CIV) <<a href="mailto:tdnorbra@nps.edu" target="_blank">tdnorbra@nps.edu</a>>, X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>Subject: Table for animators. X3D-Edit?</p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<div dir="auto">Row would be:</div>
<div dir="auto"> </div>
<div dir="auto">Character</div>
<div dir="auto">Location x</div>
<div dir="auto">Location y</div>
<div dir="auto">Location z</div>
<div dir="auto">
<div><span style="font-size:19px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline!important;color:rgb(0,0,0)">Time start (from 0..1)</span></div>
<div dir="auto">
<div><span style="font-size:19px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline!important;color:rgb(0,0,0)">Time (cycle) interval</span></div>
</div>
</div>
<div dir="auto">Orientation axis x</div>
<div dir="auto">Orientation axis y</div>
<div dir="auto">Orientation axis z</div>
<div dir="auto">Orientation degrees</div>
<div dir="auto">Type of move (run, skip, jump, etc) - pulldown+add</div>
<div dir="auto">Customize animation button or web-based file download.</div>
<div dir="auto">Check box to select</div>
<div dir="auto">Move up</div>
<div dir="auto">Move down.</div>
<div dir="auto"> </div>
<div dir="auto">And save checked, check all, open, delete check and add # of rows.</div>
<div dir="auto"> </div>
<div dir="auto">Fun stuff!  I’m guessing web would be better than Java.  What do you think?</div>
<div dir="auto"> </div>
<div dir="auto">I’m expecting Excel has something!</div>
<div dir="auto"> </div>
<div dir="auto">Thanks to Carol and Joe for the idea.</div>
<div dir="auto"> </div>
<div dir="auto">How might we address parts of the body?</div>
<div dir="auto"> </div>
<div dir="auto">Mocap interface…</div>
<div dir="auto"> </div>
<div dir="auto">John </div>
<div dir="auto">On Thu, Aug 31, 2023 at 9:58 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:</div>
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<div dir="auto">I have a dream, to create a web page or X3D-Edit control where you put in 0..1 timing key frames, cycleInterval for each, and type of move (select pull down for now), and all the initial animation control code gets generated.  And one can save the animation configuration in one’s project for later regeneration.  One or more characters per table.   And if you want to create custom routes for an animation, that gets saved too.</div>
<div dir="auto"> </div>
<div dir="auto">What type of GUI toolkit does X3D-Edit use?  I’m hoping it has something like JTable and can be used standalone initially.</div>
<div dir="auto"> </div>
<div dir="auto">I just realized what J stands for.</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
</blockquote>
</div>
</div>
</div>

<p style="margin:0.1rem 0px;line-height:1"> </p></blockquote></div></div>