<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" id="owaParaStyle">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">One small thought.<br>
<br>
If we want to be 4-dimensional, each event in the event cascade has to carry (x,y,z,t), not only (t).<br>
<br>
Currently, each event carries only (t), and hence it is assigned to (x,y,z) of the bound viewpoint (by default)<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF547701" style="direction: ltr;"><font face="Tahoma" color="#000000" size="2"><b>From:</b> x3d-public [x3d-public-bounces@web3d.org] on behalf of John Carlson [yottzumm@gmail.com]<br>
<b>Sent:</b> 06 December 2016 17:51<br>
<b>To:</b> Roy Walmsley<br>
<b>Cc:</b> X3D Graphics public mailing list<br>
<b>Subject:</b> Re: [x3d-public] Philosophical contemplations<br>
</font><br>
</div>
<div></div>
<div>
<div dir="auto">I think the point is to make time declarative, ala the particle systems component.   Thus if we could declare causes + structure, the whole scene would play out with cause and effect.</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Dec 6, 2016 7:01 AM, "Roy Walmsley" <<a href="mailto:roy.walmsley@ntlworld.com" target="_blank">roy.walmsley@ntlworld.com</a>> wrote:<br type="attribution">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div lang="EN-GB">
<div class="m_2373804714649359802WordSection1">
<p class="MsoNormal">Hi,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">First, a disclaimer. The contemplations below do not claim to represent the viewpoint of the Web3D Consortium. Indeed, they may not even represent my own personal viewpoint. They are expressed purely as stimulation for discussion.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u>Contemplation 1<u></u><u></u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Recently Leonard has been seeking comments about “Essential elements of X3D”. While I would suggest that the question is not well phrased, since he is probably thinking about what should be in the next version of X3D, it did lead me into
 thinking more liberally.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:20.0pt">X3D<u></u><u></u></span></b></p>
<p class="MsoNormal">X3D – Extensible 3D.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Imagine sitting in your own office or living room. Contemplate what X3D structures (nodes) you would want available to model it. Pause for thought …<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Now, consider what structures (nodes) you would want to build a representation of the real thing, as opposed to the virtual one. Pause for thought …<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Now, extend that last thought to consider what structures (nodes) you would want to build a representation of the whole building. Pause for thought …<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">And why stop there, what about the whole town (or city, or village, as appropriate), or the whole country, or the whole earth, or the whole solar system, or even the universe. Long pause for thought (and ignore any practicalities such as
 data size) …<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">But why just 3D? These places aren’t static. They are dynamic. A fourth dimension, time, is involved. It took time for me to write this e-mail. It will take you time to read it (or maybe tl:dr).<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">What structures (nodes) are required to fully  support this extra dimension? At any or all of these levels. Pause for thought …<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">So should we, perhaps, be calling this extensible 4D? I.e.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:20.0pt">X4D<u></u><u></u></span></b></p>
<p class="MsoNormal">Coincidentally, the next version of X3D is planned to be version 4 !!<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u>Contemplation 2<u></u><u></u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Imperative, or declarative. There’s no such thing! What they really are is levels of abstraction.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Let’s take, as an illustration, humanoid animation. Assume we have built an H-Anim figure, fully skinned, and clothed (or, to use other terminology, we have taken our mesh model of a humanoid and fully rigged it ready for animation). Now
 we can define a simple “step left foot forward” motion, by specifying a few joint rotations. Is this declarative or imperative programming? All the details about vertex transformations are hidden from the animator by the H-Anim implementation.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Similarly, we can define “step right foot forward”, “swing left arm”, “swing right arm”, “look left”, “look ahead”, etc, etc.
<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Now, consider the requirements for defining “walk from Point A to Point B”. We could define it in terms of the basic motions referred to above. Is this declarative or imperative programming?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Similarly, we could define “get in the car”, “drive from Point C to Point D”.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">We can then consider generalising it some more, to define the motion “go to work”. This might involve the sub-steps “Leave the house”, “walk to the car”, “get in the car”, “drive to the work car park”, “get out of the car”, “walk from the
 car park to the office”. Each of these steps is broken down  more. So “walk to the car” involves, at the very least, “step left foot forward”, “step right foot forward” multiple times (no comments about hopping please!). Each single step motion involves individual
 joint rotations, which in turn are used to calculate vertex transformations. To say nothing of rendering the model at each frame from the start to the finish.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">So, it’s really about choosing the abstraction levels. Optimising each one, and allowing appropriate parameterisation …<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Well, that’s enough for now,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Feel free to come up with your own …<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Roy<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<br>
______________________________<wbr>_________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/<wbr>listinfo/x3d-public_web3d.org</a><br>
<br>
</blockquote>
</div>
</div>
</div>
</div>
</div>
<span style="font-size: 9px;"><br><br><br>The information contained in this e-mail message is privileged and confidential and is for the exclusive use of the addressee. The person who receives this message and who is not the addressee, one of his employees or an agent entitled to hand it over to the addressee, is informed that he may not use, disclose or reproduce the contents thereof, and is kindly asked to notify the sender and delete the e-mail <span style="font-size: 11px;"></span>immediately.<br><br></span></body>
</html>