<div dir="auto">Good question about BVH!  I am proposing a new mocap format that doesn’t need a hierarchy, and can do streaming, graph or grid data.</div><div dir="auto"><br></div><div dir="auto">S:structure of data, G for grid, H for tree, D for D for DAG, C for cycles</div><div dir="auto">V: name or id of structure </div><div dir="auto">F: from joint name and/or id</div><div dir="auto">T:to joint name and/or id</div><div dir="auto">O: out name</div><div dir="auto">B:out data (beginning)</div><div dir="auto">I: in name</div><div dir="auto">E:in data  (ending)</div><div dir="auto">.</div><div dir="auto">.</div><div dir="auto">.</div><div dir="auto">etc. </div><div dir="auto"><br></div><div dir="auto">The animation is done like:</div><div dir="auto">J:Joint id or name</div><div dir="auto">C:Joint class or type (may change)</div><div dir="auto">A:Joint alias or DEF (optional)</div><div dir="auto">X:X location, unit (unit may be defaulted, no unit for scaling)</div><div dir="auto">Y:Y location, unit (ditto)</div><div dir="auto">Z:Z location, unit (ditto)</div><div dir="auto">T:frame or time, unit (ditto)</div><div dir="auto">.</div><div dir="auto">.</div><div dir="auto">.</div><div dir="auto">etc.</div><div dir="auto"><br></div><div dir="auto">-V: remove structure </div><div dir="auto"> -J: remove joint </div><div dir="auto">-F: from joint name and/or id</div><div dir="auto">-T: to joint name and/or id</div><div dir="auto"><br></div><div dir="auto">To remove joint, bones or routes.</div><div dir="auto"><br></div><div dir="auto">Later, I will provide 4 data points per joint over time, for impact simulator I/O grid</div><div dir="auto"><br></div><div dir="auto">J: Joint, as above</div><div dir="auto">U:up data</div><div dir="auto">D:down data</div><div dir="auto">R:right data</div><div dir="auto">L:left data</div><div dir="auto"><br></div><div dir="auto">Plus ways to remove data by adding a - in front or behind the label and a leading or a trailing + to add data</div><div dir="auto"><br></div><div dir="auto">This needs to be generalized. Think how to do hypergraphs. More verbose would be an option,  IDK, i don’t want to reinvent a document format.</div><div dir="auto"><br></div><div dir="auto">Obviously inspired by Katy’s format!</div><div dir="auto"><br></div><div dir="auto">Contributions welcome.</div><div dir="auto"><br></div><div dir="auto">John </div><div dir="auto"><br></div><div dir="auto"><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Aug 13, 2023 at 6:24 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="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">Why concern about BVH?</p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </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 12, 2023 7:48 PM<br>To: GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>><br>Cc: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>Subject: Re: [x3d-public] Seed for a project</p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<div dir="auto">I guess the best way to do the translations and rotations in BVH is from the root to the extremities?  Get segments close to root, then work down the tree.</div>
<div dir="auto"> </div>
<div dir="auto">What about multiple parents in the DAG?  How is this resolved?  As separate children?</div>
<div dir="auto"> </div>
<div dir="auto">I’m pretty sure BVH is a tree?  Anyone know?</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sat, Aug 12, 2023 at 12:00 PM GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>> wrote:</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 dir="ltr">
<div dir="ltr">> 1) provide a way to convert X3D nodes and ROUTEs to BVH with animation.  This will require converting routes/segments over time to translations and rotations. Help is requested.</div>
<div>One fuzzy idea: use the nodes and routes to animate, and capture the animation at a choke point in the web3d browser. A good choke point is where the browser applies BVH animations to the HAnim. In freewrl there are a few spots where it calls update_jointMatrixFromMotion() and in theory there could be another call there update_MotionFromJointMatrix() which goes the other way, converting a joint matrix into a bvh motion for recording to a file, with frame timestamp.</div>
<div> </div>
</div>
<br>
<div class="gmail_quote"> </div>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sat, Aug 12, 2023 at 10:14 AM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noopener" target="_blank">yottzumm@gmail.com</a>> wrote:</div>
</div>
<div class="gmail_quote"> </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="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">Here's the seed for a Java (possibly X3D-Edit) project. A graph/grid editor.</div>
<div dir="ltr"> </div>
<div dir="ltr"><a href="https://github.com/coderextreme/impact.dir/tree/master/impactVL" rel="noopener" target="_blank">https://github.com/coderextreme/impact.dir/tree/master/impactVL</a></div>
<div dir="ltr"> </div>
<div>I was thinking of adding:</div>
<div> </div>
<div> JSON/XML/VRML/BVH/MediaPipeHolistic/JavaSerialized/OpenUSD  I/O, beyond native.</div>
<div> </div>
<div>There seems to be a slight issue with input right now, at least with the sort* input files in Impact.java</div>
<div> </div>
<div>Make a copy of a file externally before modifying in the tool, there's no way to save to another file currently in Impact.java.</div>
<div> </div>
<div>The goals are:</div>
<div> </div>
<div>1) provide a way to convert X3D nodes and ROUTEs to BVH with animation.  This will require converting routes/segments over time to translations and rotations. Help is requested.</div>
<div> </div>
<div>2) provide a way to visualize ROUTEs with Java (anyone else have something?)</div>
<div> </div>
<div>3)  provide different naming convention for different I/O</div>
<div> </div>
<div>4) take input from MediaPipe Holistic (Python) and convert to BVH.</div>
<div> </div>
<div>5) provide a way to debug X3D events in Java.</div>
<div> </div>
<div>There are already 2 different visualizations. I hope to add more.  One (Cell4x4) is based on Jed Donnelly's graphics (see images folder) scanned from his Impact project (hence the name). I would like to use this with permission, but I haven't heard from him.  The Java is mine, based on his original idea (not his or other's code).</div>
<div><br>Note that I haven't tested the Cell.java program much recently.  Impact.java is what Jed called the "Flow" or "Floweth" language, but his idea was to create a textual language.  But a challenge is making the 2 visualizations to work together.  The textual language will be implemented in X3D/BVH. I don't have a reason to create a new language, nor do I want to.</div>
<div><br>Note that I already have the idea for "Inlines" or expanding nodes into another window.  I'm not sure how well it's implemented.  I'm not sure about I/O of nested nodes right now.</div>
<div> </div>
<div>This seems like a lot of fun, and maybe even useful, as opposed to X3D JSON.</div>
<div> </div>
<div>Ant and Makefiles provided.  Not gradle. Too many garbage files to worry about iwith gradle--I'm not sure why they have all of them. If someone wants to provide maven or gradle, that would be cool. Ant is okay in Git for Windows.  If I have to fall back to Makefiles, I can use Cygwin.</div>
<div> </div>
<div>Any problems, file an issue with <a href="https://github.com/coderextreme/impact.dir/issues" rel="noopener" target="_blank">https://github.com/coderextreme/impact.dir/issues</a>.  There's one waiting for you to close, Jed.</div>
<div> </div>
<div>John</div>
<div> </div>
<div> </div>
</div>
</div>
</div>
</blockquote>
</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)">_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" rel="noopener" target="_blank">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noopener noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></blockquote>
</div>
</blockquote>
</div>
</div>
</div>

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