[x3d-public] NurbsPositionInterpolator example problem

Andreas Plesch andreasplesch at gmail.com
Thu Sep 27 09:40:55 PDT 2018


> Date: Thu, 27 Sep 2018 10:14:50 -0400
> From: "vmarchetti at kshell.com" <vmarchetti at kshell.com>
> To: X3D Graphics public mailing list <x3d-public at web3d.org>
> Subject: Re: [x3d-public] NurbsPositionInterpolator example problem
>
> An issue here is that the  NURBS specification ,
http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/nurbs.html#CommonGeometryFieldsAndCorrectness
<
http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/nurbs.html#CommonGeometryFieldsAndCorrectness>
,
> refers to "uniform knot vector" without defining this terminology.
>
> Andreas proposed:
> > A working knot vector would be
> > knot='0 0 0 .25 .5 .75 1 1 1'
> for this example, while freewrl makes a different choice, shown below.
>
> Referring to the Ancient Book Of Wisdom (i.e. "The NURBS Book", by L.
Piegle and W. Tiller, 2nd ed.) there is a definition given at the end of
section 2.4, which agrees with
> the choice that freewrl makes for the default "uniform knot vector". This
makes sense, the way NURBS (splines in general) with user-specified knot
values are used in practice, the complete
> list of knot value start with {order} values of the minimum parameter
range, and end with {order} value of the maximum of the parameter range.
This choice has the useful property that
> the curve start on the first control point and ends on the final control
point. {order} is the integer value of the order of the curve, {order} = 2
for linear segments, {order} = 4 for cubic curves

My suggestion was an attempt to stay closer to the (incorrect) knot vector
in the example, not a suggestion for how to compute a replacement vector.
FreeWrl's replacement vector and the Nurbs books definition is actually
what I had started to use for my initial nurbs work in x3dom.

This brings up another problem in the example. While the interpolator has a
knot vector, the drawn NurbsCurve does not have one. This means that the
Curve is using the computed vector which works out since the Interpolator
is also using the computed vector, by coincidence. The example should
either not use a knot vector for both, or use an identical, correct knot
vector for both the Interpolator and the Curve.

In order to test NurbsOrientationInterpolator, I augmented the example here:

https://raw.githubusercontent.com/andreasplesch/x3dom/Nurbs/test/functional/nurbs/NurbsPositionOrientationInterpolatorExample.x3d

[image: image.png]
Doing that I came across the question what rotation exactly
NurbsOrientationInterpolator should provide. I think it needs to be the
rotation from the X3D default orientation (0, 0, -1) to the forward
orientation of the curve tangent, in the local coordinate system. Regular
OrientationInterpolator does not have that issue since it is given
rotations to begin with.

-Andreas

> > On Sep 27, 2018, at 9:40 AM, GPU Group <gpugroup at gmail.com> wrote:
> >
> > CONFIRMED with freewrl, which console complains:
> > bad knot vector, replacing with:
> > [0]=0.000000
> > [1]=0.000000
> > [2]=0.000000
> > [3]=0.000000
> > [4]=0.500000
> > [5]=1.000000
> > [6]=1.000000
> > [7]=1.000000
> > [8]=1.000000
> > -Doug Sanden
> >
> > On Thu, Sep 27, 2018 at 7:33 AM Andreas Plesch <andreasplesch at gmail.com
<mailto:andreasplesch at gmail.com>> wrote:
> > The NurbsPositionInterpolator in the example at
> >
> >
http://www.web3d.org/x3d/content/examples/Basic/NURBS/NurbsPositionInterpolatorExampleIndex.html
<
http://www.web3d.org/x3d/content/examples/Basic/NURBS/NurbsPositionInterpolatorExampleIndex.html
>
> >
> > does not have enough knots. The knot field only has 5 entries but it
> > needs to have number of control points plus order entries, eg. 5 + 4,
> > 9 entries, according to the last paragraph about the knot field in
> >
> >
http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/nurbs.html#CommonGeometryFieldsAndCorrectness
<
http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/nurbs.html#CommonGeometryFieldsAndCorrectness
>
> >
> > The example still works but in a limited fashion in NURBS supporting
> > browsers because in the case of an incorrect number of knots, the
> > browsers will compute a default uniform knot vector. The problem then
> > is that the replacement vector is not guaranteed to span the 0 to 1
> > range, or whatever range the original knot vector had.
> >
> > A working knot vector would be
> > knot='0 0 0 .25 .5 .75 1 1 1'
> >
> > -Andreas
> >
> > --
> > Andreas Plesch
> > Waltham, MA 02453
> >
> > _______________________________________________
> > x3d-public mailing list
> > x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> > http://web3d.org/mailman/listinfo/x3d-public_web3d.org <
http://web3d.org/mailman/listinfo/x3d-public_web3d.org>
> > _______________________________________________
> > x3d-public mailing list
> > x3d-public at web3d.org
> > http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20180927/c409118a/attachment-0001.html
>
>
> ------------------------------
>
> Message: 3
> Date: Thu, 27 Sep 2018 15:19:03 +0000
> From: "Brutzman, Donald (Don) (CIV)" <brutzman at nps.edu>
> To: Nicholas Polys <npolys at vt.edu>
> Cc: Web3D Communications Team <communications at web3d.org>, "Web3D
>         Consortium Board of Directors" <bod at web3d.org>, X3D Graphics
public
>         mailing list <x3d-public at web3d.org>
> Subject: Re: [x3d-public] [communications] Videos and news from VT:
>         Wing It exhibit wins design award by SEGD
> Message-ID: <cc54790a-459b-9117-cd4b-c74e7bcb9cd8 at nps.edu>
> Content-Type: text/plain; charset="utf-8"
>
> [cc: x3d-public]
>
> On 9/26/2018 8:04 PM, Nicholas Polys wrote:
> >
> > 2] The Wing It! Project won an international design competition!
> >
> > https://segd.org/wing-it?-winged-insect-exhibit <
https://segd.org/wing-it%E2%80%94-winged-insect-exhibit>
> >
> >
https://designobserver.com/feature/wing-it-testing-out-exhibit-design-using-virtual-reality/39835
>
> Simply awesome.  Congratulations to the entire team!  Tweets:
>
>         https://twitter.com/Web3DConsortium/status/1045329625037979648
>
>         Winner of Society for Experiential Graphic Design @SEGD 2018
Merit Award for Environmental Design & New Media:
>         "Wing It ? The Winged Insect Exhibit" by @virginia_tech video:
https://vimeo.com/261182193
>         article: https://segd.org/wing-it?-winged-insect-exhibit
>
>         "Wing It: Testing Out Exhibit Design Using Virtual Reality"
review in Design Observer
>         @DesignObserver by Professional Society for Design @AIGAdesign
online at
>
https://designobserver.com/feature/wing-it-testing-out-exhibit-design-using-virtual-reality/39835
>         https://twitter.com/Web3DConsortium/status/1045329625037979648
>
> all the best, Don
> --
> Don Brutzman  Naval Postgraduate School, Code USW/Br
brutzman at nps.edu
> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
+1.831.656.2149
> X3D graphics, virtual worlds, navy robotics
http://faculty.nps.edu/brutzman
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
>
> ------------------------------
>
> End of x3d-public Digest, Vol 114, Issue 39
> *******************************************



-- 
Andreas Plesch
Waltham, MA 02453
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20180927/744362ea/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 9597 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20180927/744362ea/attachment-0001.png>


More information about the x3d-public mailing list