<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="ltr">
<div dir="ltr">Draft Specification pros is welcome. This isn't always easy, but it is an excellent path towards clarity. In this case we might need to adapt a figure as well. Thanks for considering the possibilities!</div>
<div id="ms-outlook-mobile-signature">
<div><br>
</div>
<div>v/r Don</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> x3d-public <x3d-public-bounces@web3d.org> on behalf of Andreas Plesch via x3d-public <x3d-public@web3d.org><br>
<b>Sent:</b> Saturday, August 31, 2024 8:48:14 AM<br>
<b>To:</b> Holger Seelig <holger.seelig@yahoo.de><br>
<b>Cc:</b> Andreas Plesch <andreasplesch@gmail.com>; X3D <x3d-public@web3d.org><br>
<b>Subject:</b> Re: [x3d-public] computed orientation_changed output</font>
<div> </div>
</div>
<div>
<div dir="auto">
<div>I think the issue is that the spec. only defines the toVector (as the tangent) but is silent on the fromVector. It is a reasonable assumption that the fromVector is implied as 0,0,-1 ("forward") and most implementations will do that. But in theory it could
 be any vector.</div>
<div dir="auto"><br>
</div>
<div dir="auto">An additional ambiguity is that there are two possible rotations from a vector to another vector. One is using the inverted axis of the other. But as long as these rotations are only used to actually be applied as rotations, this may not matter
 as both lead the same result.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Andreas<br>
<br>
<div class="x_gmail_quote" dir="auto">
<div dir="ltr" class="x_gmail_attr">On Sat, Aug 31, 2024, 6:14 AM Holger Seelig <<a href="mailto:holger.seelig@yahoo.de">holger.seelig@yahoo.de</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div style="line-break:after-white-space">It is possible to calculate a rotation from fromVector to toVector, but these rotations have an arbitrary upVector. 
<div><br>
</div>
<div>And yes, it would be better to have a defined upVector to make these rotations stable.
<div><br>
</div>
<div>Holger</div>
<div><br id="x_m_4870435511787334806lineBreakAtBeginningOfMessage">
<div>
<div dir="auto" style="color:rgb(0,0,0); letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; line-break:after-white-space">
<div dir="auto" style="color:rgb(0,0,0); letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; line-break:after-white-space">
<div dir="auto" style="color:rgb(0,0,0); letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; line-break:after-white-space">
<div dir="auto" style="color:rgb(0,0,0); letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; line-break:after-white-space">
<div dir="auto" style="color:rgb(0,0,0); letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; line-break:after-white-space">
<div dir="auto" style="text-align:start; text-indent:0px; line-break:after-white-space">
<div style="color:rgb(0,0,0); letter-spacing:normal; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none">
--</div>
<div style="color:rgb(0,0,0); letter-spacing:normal; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none">
Holger Seelig</div>
<div style="color:rgb(0,0,0); letter-spacing:normal; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none">
Leipzig, Germany</div>
<div style="color:rgb(0,0,0); letter-spacing:normal; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none">
<br>
</div>
<div style="color:rgb(0,0,0); letter-spacing:normal; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none">
<a href="mailto:holger.seelig@yahoo.de" target="_blank" rel="noreferrer">holger.seelig@yahoo.de</a></div>
<div><a href="https://create3000.github.io/x_ite/" originalsrc="https://create3000.github.io/x_ite/" shash="vw0Zd3FBMjhWX3sOBf3efTUMFZteB5N8HEEl++LK0hZmBwl2x1xdLDNU5sldfJlxImCbgkpRhXA1C2OvBPgPc5xf4H5z5Pv1lGWMFHfx0+HgdXVaIRwMeYAYTw3FxpgQFfjlffJuAlv4sq0ZhxuaA+J4hzg21iOX0HJ4vozVxeg=" target="_blank" rel="noreferrer">https://create3000.github.io/x_ite/</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div><br>
<blockquote type="cite">
<div>Am 30.08.2024 um 23:45 schrieb Patrick Dähne <<a href="mailto:pdaehne@gmail.com" target="_blank" rel="noreferrer">pdaehne@gmail.com</a>>:</div>
<br>
<div>
<div>Unfortunately, it is not possible to implement NurbsOrientationInterpolator because it is not specified how to calculate the „up“ vector (the tangent of the curve only specifies the z axis, but neither the x nor y axis of the local coordinate system).
 The same applies to any other hypothetical „xOrientationInterpolator“.<br>
<br>
Bye,<br>
<br>
Patrick<br>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>