<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">An issue here is that the  NURBS specification , <a href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/nurbs.html#CommonGeometryFieldsAndCorrectness" class="">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/nurbs.html#CommonGeometryFieldsAndCorrectness</a> ,<div class="">refers to "uniform knot vector" without defining this terminology. </div><div class=""><br class=""></div><div class="">Andreas proposed:</div><div class=""><blockquote type="cite" class=""><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;">A working knot vector would be<br class="">knot='0 0 0 .25 .5 .75 1 1 1'</blockquote></div></blockquote>for this example, while freewrl makes a different choice, shown below.</div><div class=""><br class=""></div><div class="">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</div><div class="">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</div><div class="">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</div><div class="">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<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Sep 27, 2018, at 9:40 AM, GPU Group <<a href="mailto:gpugroup@gmail.com" class="">gpugroup@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class="">CONFIRMED with freewrl, which console complains:<div class=""><div class="">bad knot vector, replacing with:</div><div class="">[0]=0.000000</div><div class="">[1]=0.000000</div><div class="">[2]=0.000000</div><div class="">[3]=0.000000</div><div class="">[4]=0.500000</div><div class="">[5]=1.000000</div><div class="">[6]=1.000000</div><div class="">[7]=1.000000</div><div class="">[8]=1.000000</div></div><div class="">-Doug Sanden</div></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Thu, Sep 27, 2018 at 7:33 AM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" class="">andreasplesch@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The NurbsPositionInterpolator in the example at<br class="">
<br class="">
<a href="http://www.web3d.org/x3d/content/examples/Basic/NURBS/NurbsPositionInterpolatorExampleIndex.html" rel="noreferrer" target="_blank" class="">http://www.web3d.org/x3d/content/examples/Basic/NURBS/NurbsPositionInterpolatorExampleIndex.html</a><br class="">
<br class="">
does not have enough knots. The knot field only has 5 entries but it<br class="">
needs to have number of control points plus order entries, eg. 5 + 4,<br class="">
9 entries, according to the last paragraph about the knot field in<br class="">
<br class="">
<a href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/nurbs.html#CommonGeometryFieldsAndCorrectness" rel="noreferrer" target="_blank" class="">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/nurbs.html#CommonGeometryFieldsAndCorrectness</a><br class="">
<br class="">
The example still works but in a limited fashion in NURBS supporting<br class="">
browsers because in the case of an incorrect number of knots, the<br class="">
browsers will compute a default uniform knot vector. The problem then<br class="">
is that the replacement vector is not guaranteed to span the 0 to 1<br class="">
range, or whatever range the original knot vector had.<br class="">
<br class="">
A working knot vector would be<br class="">
knot='0 0 0 .25 .5 .75 1 1 1'<br class="">
<br class="">
-Andreas<br class="">
<br class="">
-- <br class="">
Andreas Plesch<br class="">
Waltham, MA 02453<br class="">
<br class="">
_______________________________________________<br class="">
x3d-public mailing list<br class="">
<a href="mailto:x3d-public@web3d.org" target="_blank" class="">x3d-public@web3d.org</a><br class="">
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank" class="">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br class="">
</blockquote></div>
_______________________________________________<br class="">x3d-public mailing list<br class=""><a href="mailto:x3d-public@web3d.org" class="">x3d-public@web3d.org</a><br class="">http://web3d.org/mailman/listinfo/x3d-public_web3d.org<br class=""></div></blockquote></div><br class=""></div></body></html>