<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>