<div dir="ltr"><div dir="ltr"><a href="https://books.google.com/books?id=CkeqCAAAQBAJ&lpg=PA472&ots=d5lx8K1XEi&dq=nurbs%20swept%20surface&pg=PA472#v=onepage&q=nurbs%20swept%20surface&f=false">https://books.google.com/books?id=CkeqCAAAQBAJ&lpg=PA472&ots=d5lx8K1XEi&dq=nurbs%20swept%20surface&pg=PA472#v=onepage&q=nurbs%20swept%20surface&f=false</a></div><div dir="ltr"><br></div><div dir="ltr">has a preview of Swept Surface chapter in the Nurbs Book.</div><div dir="ltr"><br></div><div dir="ltr">There there is a treatment of just translating a section curve C along a trajectory curve S, without adapting the orientation of the section curve. This seems to be relatively easily translated into a Nurbs surface (Patch surface) (Eq. 10.18). I think it means just taking the knot vectors of the curves as the knot vectors of the surface, and generating a control point matrix by adding the corresponding control points from each curve, and multiplying weights. However, in the spec. language there is hint that SweptSurface is similar to Extrusion. This may mean that the expectation is that the section curve is not just translated along the trajectory but also reoriented. If this is the case conversion to an approx. Nurbs surface becomes (much?) more complicated.</div><div dir="ltr"><br></div><div>Hm, the Nurbs Book gives an algorithm how to rotate the section curve along the trajectory (by basing each subsequent rotation, local frame, on the previous one, starting with an arbitrary frame). Hm, but X3D only provides a 2d curve as section. It seems that the determination of a local frame is underspecified in X3D ? One axis is along the trajectory, but where are the other two ?</div><div><br></div><div>So perhaps this means that just translation and no rotation is expected, after all? </div><div><br></div><div>If the rotation is fully specified, one could go along the trajectory at some step size (there is no tessellation field hint), and translate and rotate the evaluated section nurbs curve, and build an IndexedQuadset.</div><div><br></div><div>-Andreas</div><div><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Sat, Sep 29, 2018 at 9:16 PM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com">andreasplesch@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">These notes seem to cover it but a bit too concisely:<br>
<br>
<a href="http://www.cgeo.ulg.ac.be/CAO/CAD_06.pdf" rel="noreferrer" target="_blank">http://www.cgeo.ulg.ac.be/CAO/CAD_06.pdf</a><br>
On Sat, Sep 29, 2018 at 4:10 PM GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>> wrote:<br>
><br>
> Andreas<br>
> swept and swung are in The Nurbs Book (and not too hard - a 2D curve, then extrude that curve in a few different ways. Swept: along an arbitrary 3D curve,could be a curbs curve. Swung: around some line/axis lying in the plane of the curve)<br>
> -Doug<br>
><br>
><br>
> On Sat, Sep 29, 2018 at 10:34 AM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>> wrote:<br>
>><br>
>> Based on the initial Ayam x3dom Nurbs node support for PatchSurface<br>
>> and TrimmedSurface, I am working on more complete and animation<br>
>> capable Nurbs component implementation in my x3dom NURBS branch.<br>
>><br>
>> Here are examples of working nodes:<br>
>><br>
>> <a href="https://rawgit.com/andreasplesch/x3dom/Nurbs/test/functional/nurbs/inline.html" rel="noreferrer" target="_blank">https://rawgit.com/andreasplesch/x3dom/Nurbs/test/functional/nurbs/inline.html</a><br>
>><br>
>> I added NurbsCurve and the interpolators. In addition, the web worker<br>
>> code can now be bundled, and is optimized to support animation of<br>
>> control points and weights which do not require retriangulation. This<br>
>> makes the AnimatedNurbsPatchSurfaceHead example borderline ok to<br>
>> animate on a regular desktop but also shows the limits off CPU (via<br>
>> js) only animation although there is additional room for further<br>
>> optimization (for example using transferables for communicating with<br>
>> workers). A more substantial improvement has to come from shaders.<br>
>><br>
>> I think most Nurbs examples from Basic Archive are working, after<br>
>> fixing them as previously reported.<br>
>><br>
>> Some details: The Curve tessellation is strictly subdivision following<br>
>> the tessellation hints as speced. The Ayam surface tessellation is<br>
>> adaptive with a threshold being influenced by the tessellation hints<br>
>> as well.<br>
>> The tessellation (and animation by deformation) will spawn web<br>
>> workers/threads. The maximum number of workers is aggressively set and<br>
>> can max out CPUs. I probably should expose the number in a scene<br>
>> setting to scenes. It is defined in the x3dom-nurbs-pool.js file.<br>
>> Vertex animation does not recalculate automatic normals currently for<br>
>> performance but that could be added.<br>
>><br>
>> The SweptSurface and SwungSurface are not implemented and I do not<br>
>> have a good idea how to.<br>
>> The NurbsTextureCoordinate is not implemented. Is it used ? Are the<br>
>> default texture coordinates usually ok ?<br>
>><br>
>> Any comment or feedback welcome,<br>
>><br>
>> -Andreas<br>
>><br>
>><br>
>><br>
>><br>
>> --<br>
>> Andreas Plesch<br>
>> Waltham, MA 02453<br>
>><br>
>> _______________________________________________<br>
>> x3d-public mailing list<br>
>> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
<br>
<br>
<br>
-- <br>
Andreas Plesch<br>
Waltham, MA 02453<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Andreas Plesch<br>Waltham, MA 02453</div></div></div></div></div>