<div dir="ltr">Hi Dr. Thompson,<div><br></div><div><div>I think one of my problem now is that I'm not sure how patches connecting with each other. Originally I thought patches in a shape are irrelevant with each other. For example in the ellipse, we need 4 patches for each quadrant and I generate four patches independently only that they share same end points, but from your previous email I think for NURBs it's not exactly true. </div><div><br></div><div>Another is that if a NURBs shape is given by a vtkStructuredGrid and a know vector, how to infer the number of patches, degree of interpolant and number of control points.</div></div><div><br></div><div>Best,</div><div>Lin</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 19, 2015 at 7:30 PM, David Thompson <span dir="ltr"><<a href="mailto:david.thompson@kitware.com" target="_blank">david.thompson@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Lin,<br>
<br>
I've just realized that the control points for Bézier patches will not have the same coordinates as the NURBs control points. That's because the Bézier patches interpolate their corner control points. So, we cannot just use a mapped data array to provide access to a subset of the NURBS control polygon.<br>
<br>
This site:<br>
<br>
  <a href="http://www.mactech.com/articles/develop/issue_25/schneider.html" rel="noreferrer" target="_blank">http://www.mactech.com/articles/develop/issue_25/schneider.html</a><br>
<br>
describes the conversion process for curves in its "CONVERTING NURB TO BÉZIER CURVES" section. Basically, we need to implement knot insertion, which is described in Piegl's NURBS Book in Chapter 5.<br>
<br>
The adaptor class shouldn't need to change much, but it might be better not to use a vtkMappedDataArray for the NURBS adaptor since it will have to generate new control points.<br>
<span class="HOEnZb"><font color="#888888"><br>
        David<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
> On Jun 19, 2015, at 7:04 PM, David Thompson <<a href="mailto:david.thompson@kitware.com">david.thompson@kitware.com</a>> wrote:<br>
><br>
> Hi Lin,<br>
><br>
>> Does different patches in one vtkStructuredGrid have same order of interpolant and same number of control points?<br>
><br>
> No, all the patches in a NURBs control polygon should have the same degree and control-point topology.<br>
><br>
>> Each patch should have its own knot vector, so number of patches = number of knot vectors.<br>
><br>
> Not quite. Each patch has a range of knot values. Those ranges overlap more as the degree increases.<br>
><br>
>       David<br>
<br>
</div></div></blockquote></div><br></div>