<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">John,<br>
<br>
Line transformation is easy. Linearly transform the end points and
construct the new straight line between them.<br>
<br>
[x,y,z](t) = t * [x2-x1, y2-y1, z2-z1] + [x1,y1,z1]<br>
<br>
for t element of [0,1]<br>
<br>
<br>
But I don't think that is exactly what you want either. You are
constructing an editor or display of a dynamic environment and
need a means for connecting (or showing connections) between nodes
in the environment. The nodes may change and/or move around. It
seems like you want an object with an attached "tail". It might be
very instructive to see how 3D modelers generate something like an
octopus.<br>
<br>
You can use CoordinateInterpolator to interpolate over any number
of SFVec3fs.<br>
<br>
<br>
Leonard Daly<br>
<br>
<br>
<br>
<br>
<br>
</div>
<blockquote
cite="mid:CB0FBAB0-05CC-4E7B-9318-0E60AD776F7B@gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
So if one has to take a line segment and transform it to another
line segment in space, what’s the typical algorithm to do that? I
probably used to know this. I was trying to work it out again a
while back.
<div class="">Do the new declarative nodes in V4+ support this?
Or the old nodes in V3? Or does one need a script? Is there a
node with a linear transform defined by 12 numbers (4 SFVec3f)?
Could there be?</div>
<div class="">2 PositionInterpolators? Then how does that become
a transform?</div>
<div class=""><br class="">
</div>
<div class="">Thanks,</div>
<div class=""><br class="">
</div>
<div class="">John</div>
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Jan 27, 2016, at 12:33 AM, John Carlson
<<a moz-do-not-send="true"
href="mailto:yottzumm@gmail.com" class="">yottzumm@gmail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252" class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode:
space; -webkit-line-break: after-white-space;" class="">Better
yet, define a script which takes two endpoints on a
geometry, then transform the two endpoints (and thus the
geometry) with the script. Hm. I might be able to do
this myself. Hmm.
<div class="">Sound more possible with Cylinders defined
by X3D now. Took me long enough.<br class="">
<div class=""><br class="">
<div class="">
<div class="">John<br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Jan 27, 2016, at 12:26 AM,
John Carlson <<a moz-do-not-send="true"
href="mailto:yottzumm@gmail.com"
class="">yottzumm@gmail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<meta http-equiv="Content-Type"
content="text/html;
charset=windows-1252" class="">
<div style="word-wrap: break-word;
-webkit-nbsp-mode: space;
-webkit-line-break: after-white-space;"
class="">I just realized the code was
online here:
<div class=""><br class="">
</div>
<div class=""><a moz-do-not-send="true"
href="https://github.com/coderextreme/X3DJSONLD/blob/master/force.x3dhttps://github.com/coderextreme/X3DJSONLD/blob/master/force.x3d"
class="">https://github.com/coderextreme/X3DJSONLD/blob/master/force.x3dhttps://github.com/coderextreme/X3DJSONLD/blob/master/force.x3d</a></div>
<div class=""><br class="">
</div>
<div class="">(click raw)</div>
<div class=""><br class="">
</div>
<div class="">Here’s the challenge.
Define an IFS by two endpoints, and
then move those endpoints around with
minimal scripting (Declarative 3D).</div>
<div class=""><br class="">
</div>
<div class="">John<br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Jan 26, 2016, at
11:45 PM, John Carlson <<a
moz-do-not-send="true"
href="mailto:yottzumm@gmail.com"
class=""><a class="moz-txt-link-abbreviated" href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a></a>>
wrote:</div>
<br
class="Apple-interchange-newline">
<div class="">
<p dir="ltr" class="">I am not
"modeling" I am doing
declarative 3d as much as
possible and scripting the
rest. Thus I am creating
protos for edges and nodes of
a 3D graph. I currently use
ROUTES to link the edges
(cylinders/extrusions) to the
nodes (spheres). I am using
position interpolators to
animate the nodes, and routes
to update the spline of the
edges. I do not understand
how to use Cylinders as
defined by X3D in this way so
I use extrusions. If you can
suggest a way to implement a
3D graph without extrusions, I
would be welcome to hear it.
I can provide source code if
you like. I have posted
force.x3d here, or you can
look at force.json in <a
moz-do-not-send="true"
href="https://github.com/coderextreme/X3DJSONLD/"
class=""><a class="moz-txt-link-freetext" href="https://github.com/coderextreme/X3DJSONLD/">https://github.com/coderextreme/X3DJSONLD/</a></a></p>
<div class="gmail_quote">On Jan
26, 2016 11:27 PM, "Leonard
Daly" <<a
moz-do-not-send="true"
href="mailto:Leonard.Daly@realism.com"
class=""><a class="moz-txt-link-abbreviated" href="mailto:Leonard.Daly@realism.com">Leonard.Daly@realism.com</a></a>>
wrote:<br type="attribution"
class="">
<blockquote
class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF"
text="#000000" class="">
<div class="">On 1/26/2016
5:21 PM, John Carlson
wrote:<br class="">
</div>
<blockquote type="cite"
class="">
<pre class="">All I would really like to see is an easy way to define Cylinder with 2 endpoints and a radius. If that is provided, I have no problem with deprecating Extrusion from the standard.
I do not think defining a Cylinder in this way would be onerous to a run-time, but I could be wrong. If someone could provide an example of a Cylinder like this, it would be great!</pre>
</blockquote>
<br class="">
John,<br class="">
<br class="">
You using Extrusion to
define a cylinder with
known endpoints, as
opposed to using a
Transform {Shape
{Cylinder}} to do that
based on the center point
and height then rotated
& translated into
place.<br class="">
<br class="">
I gather you are doing
your modeling by hand in a
text or xml editor (like
X3D-Edit). There is almost
no commercial
modeling-by-hand. I do not
know of any professional
or amateur modeler
creating commercial
quality models working
that way. I think you will
find a tool like Blender
solves a lot of your
modeling issues.<br
class="">
<br class="">
<br class="">
Leonard Daly<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<blockquote type="cite"
class="">
<pre class="">John
</pre>
<blockquote type="cite"
class="">
<pre class="">On Jan 26, 2016, at 8:13 PM, John Carlson <a moz-do-not-send="true" href="mailto:yottzumm@gmail.com" target="_blank" class=""><yottzumm@gmail.com></a> wrote:
Uh, I asked for an IndexedFaceSet. Thanks, though.
John
</pre>
<blockquote
type="cite" class="">
<pre class="">On Jan 26, 2016, at 8:11 PM, doug sanden <a moz-do-not-send="true" href="mailto:highaspirations@hotmail.com" target="_blank" class=""><highaspirations@hotmail.com></a> wrote:
<a moz-do-not-send="true" href="http://dug9.users.sourceforge.net/web3d/tests/41.x3d" target="_blank" class="">http://dug9.users.sourceforge.net/web3d/tests/41.x3d</a>
snake animation animating extrusion spine
From: x3d-public [<a moz-do-not-send="true" href="mailto:x3d-public-bounces@web3d.org" target="_blank" class="">x3d-public-bounces@web3d.org</a>] on behalf of John Carlson [<a moz-do-not-send="true" href="mailto:yottzumm@gmail.com" target="_blank" class="">yottzumm@gmail.com</a>]
Sent: January 26, 2016 6:04 PM
To: Leonard Daly
Cc: <a moz-do-not-send="true" href="mailto:x3d-public@web3d.org" target="_blank" class="">x3d-public@web3d.org</a>
Subject: Re: [x3d-public] Extrusions, take 3
Maybe just show an example of an IndexedFaceSet which is an extrusion of a circle with 3 spline points, with the “bend” animated from 90 to 180 degrees.
It’s okay to use Blender or Maya, I’d just like to see what the results look like.
John
On Jan 26, 2016, at 8:01 PM, John Carlson <<a moz-do-not-send="true" href="mailto:yottzumm@gmail.com" target="_blank" class="">yottzumm@gmail.com</a><a moz-do-not-send="true" href="mailto:yottzumm@gmail.com" target="_blank" class=""><mailto:yottzumm@gmail.com></a>> wrote:
So how do you propose to animate IndexedFaceSets in a declarative or VRMLscript or JavaScript manner if they are Extrusions? Can we see an example? If the developer has to do it, can we help them?
John
On Jan 26, 2016, at 6:58 PM, Leonard Daly <<a moz-do-not-send="true" href="mailto:Leonard.Daly@realism.com" target="_blank" class="">Leonard.Daly@realism.com</a><a moz-do-not-send="true" href="mailto:Leonard.Daly@realism.com" target="_blank" class=""><mailto:Leonard.Daly@realism.com></a>> wrote:
On 1/26/2016 3:21 PM, John Carlson wrote:
Leonard, I think you forget that Extrusion splines etc. can be animated. If Maya can export an Extrusion animation to X3D V4.0 and your new elements can handle animation of it, I think we are fine.
In Maya and Blender, extrusions are converted to IndexedFaceSets. These can be animated through the usual mechanisms in those applications. The results are typically stored in a FBX file. Unfortunately, the FBX format is not open and not too conducive to importing in a browser. Autodesk provides a C++ and Python API for accessing the file.
Extrusions are just a convenience node for creating a constrained IndexedFaceSet. I am working on exactly how X3D fits in the process chain from modeling tools to display. The goal is that X3D is an declarative archivable format that has a browser-based run time. The goal is to not reduce the display capability of X3D in that chain; however, not all of the functionality of X3D V3.3 is necessary to remain in the node definitions to make that happen.
Animation of the spline and cross-sections of an extrusion is much easier for the developer, but puts a much greater load on the run-time as it needs to re-triangulate the result on each animation.
Leonard Daly
John
On Jan 26, 2016, at 1:47 PM, Leonard Daly <<a moz-do-not-send="true" href="mailto:Leonard.Daly@realism.com" target="_blank" class=""><mailto:Leonard.Daly@realism.com></a><a moz-do-not-send="true" href="mailto:Leonard.Daly@realism.com" target="_blank" class="">Leonard.Daly@realism.com</a><a moz-do-not-send="true" href="mailto:Leonard.Daly@realism.com" target="_blank" class=""><mailto:Leonard.Daly@realism.com></a>> wrote:
I would like to ask the question very differently. My question is not to ignore the importance of getting the definition correct for X3D <= V3.3.
Most (>95%) 3D modeling is done with a tool. In non-CAD environment, the tools is almost certainly Maya or Blender. Both of those tools have extrusions built in to their interface. I imagine CAD tools are similar. With so many tools providing graphical extrusion editors, and some of the tools being open-source (at least Blender);
Do we need an extrusion node in V4 to support content developed for V4+?
Leonard Daly
On 1/26/2016 7:15 AM, Alekseyev, Vsevolod (NIH/NIAID) [E] wrote:
Hi X3D community,
I've tried and failed twice to explain the problems with the definition of the Extrusion node. So here's a tl;dr version:
Dear authors of the X3D standard, please take a careful look at the standard and answer me:
1) When the spine goes (0,0,0)-(0,-1,0), what is the CSP?
Note: all answers but one will render one of the reference models in the Savage archive invalid.
2) When the spine goes (0,0,0)-(0,1,0)-(0,0,0), what is the CSP?
3) When the spine goes (0,0,0)-(1,1,0)-(1,1,0)-(1,1,0)-(2,0,0), what is the CSP for the three middle points?
_______________________________________________
x3d-public mailing list
<a moz-do-not-send="true" href="mailto:x3d-public@web3d.org" target="_blank" class="">x3d-public@web3d.org</a><a moz-do-not-send="true" href="mailto:x3d-public@web3d.org" target="_blank" class=""><mailto:x3d-public@web3d.org></a>
<a moz-do-not-send="true" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" class="">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
--
Leonard Daly
3D Systems & Cloud Consultant
X3D Co-Chair on Sabbatical
LA ACM SIGGRAPH Chair
President, Daly Realism - Creating the Future
_______________________________________________
x3d-public mailing list
<a moz-do-not-send="true" href="mailto:x3d-public@web3d.org" target="_blank" class="">x3d-public@web3d.org</a><a moz-do-not-send="true" href="mailto:x3d-public@web3d.org" target="_blank" class=""><mailto:x3d-public@web3d.org></a>
<a moz-do-not-send="true" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" class="">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
_______________________________________________
x3d-public mailing list
<a moz-do-not-send="true" href="mailto:x3d-public@web3d.org" target="_blank" class="">x3d-public@web3d.org</a><a moz-do-not-send="true" href="mailto:x3d-public@web3d.org" target="_blank" class=""><mailto:x3d-public@web3d.org></a>
<a moz-do-not-send="true" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" class="">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
--
Leonard Daly
3D Systems & Cloud Consultant
X3D Co-Chair on Sabbatical
LA ACM SIGGRAPH Chair
President, Daly Realism - Creating the Future
_______________________________________________
x3d-public mailing list
<a moz-do-not-send="true" href="mailto:x3d-public@web3d.org" target="_blank" class="">x3d-public@web3d.org</a><a moz-do-not-send="true" href="mailto:x3d-public@web3d.org" target="_blank" class=""><mailto:x3d-public@web3d.org></a>
<a moz-do-not-send="true" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" class="">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
_______________________________________________
x3d-public mailing list
<a moz-do-not-send="true" href="mailto:x3d-public@web3d.org" target="_blank" class="">x3d-public@web3d.org</a>
<a moz-do-not-send="true" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" class="">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
</blockquote>
</blockquote>
</blockquote>
<br class="">
<br class="">
<div class="">-- <br
class="">
<font class=""
color="#333366"> <font
class="" size="+1"><b
class="">Leonard
Daly</b></font><br
class="">
3D Systems & Cloud
Consultant<br class="">
X3D Co-Chair on
Sabbatical<br class="">
LA ACM SIGGRAPH Chair<br
class="">
President, Daly
Realism - <i class="">Creating
the Future</i> </font></div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
x3d-public mailing list
<a class="moz-txt-link-abbreviated" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
</blockquote>
<br>
<br>
<div class="moz-signature">-- <br>
<font class="tahoma,arial,helvetica san serif" color="#333366">
<font size="+1"><b>Leonard Daly</b></font><br>
3D Systems & Cloud Consultant<br>
X3D Co-Chair on Sabbatical<br>
LA ACM SIGGRAPH Chair<br>
President, Daly Realism - <i>Creating the Future</i>
</font></div>
</body>
</html>