[vtk-developers] Class design for spline visualizations

David Thompson david.thompson at kitware.com
Tue Jul 21 23:14:12 EDT 2015


Hi Lin,

There are a couple things to do to prepare for the operations

1. Besides handling a square patch (where parametric coordinates are bounded by a d-dimensional rectangle), it would be useful to support a simplicial patch using barycentric coordinates (i.e., (r,s,t) in [0,R]x [0,S]x [0,T] subject to r+s+t <= 1, r >= 0, s >= 0, t >= 0). This can be used to create sets of patches that cover parametric domains of any polyhedral shape, not possible when using only square patches without introducing singularities. We will use this in the contouring algorithm. See https://en.wikipedia.org/wiki/B%C3%A9zier_triangle

2. While you've implemented interpolation, there is also point inversion: determining the parametric coordinates (r,s,t) nearest a given point in world coordinates (x,y,z). The NURBS Book covers this on p. 229. We must use this when cutting (to find where, if anywhere, a patch intersects a cutting surface) and contouring (to find parametric coordinates where a patch takes on a particular scalar value).

    David



> On Jul 21, 2015, at 22:01, Lin M <majcjc at gmail.com> wrote:
> 
> Hi Dr. Thompson,
> 
> Besides loading external NURBS files, what's the next thing to do? Based on our proposal, we should work on implementing the operation algorithms now. Where do you think I can start with?
> 
> Best,
> Lin
> 
>> On Wed, Jul 8, 2015 at 5:06 PM, David Thompson <david.thompson at kitware.com> wrote:
>> Hi Lin,
>> 
>> > I read the document for BRep format and checked those files in CGM/test. It seems that only a small part of the test files contains bezier/b-spline surfaces and all these files contains quite a number of different kinds of shapes. I can write a class to read such file but it will only display the bezier/b-spline part. I'm afraid that it will just be a piece of the original shape which the file represents. Do you think I should do that or there is a better way to load external shape?
>> 
>> I think it would be great to start with the parts of the CGM files that are NURBS. The remaining shapes should either be straight (lines, planes) or conics (for which you have written a few routines we can use to create patches that will represent them properly).
>> 
>> > PS. I opened a new google doc to summarize what we have done now. I will update new progress to it during the development. (link)
>> 
>> Great!
>> 
>>         David
>> 
>> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20150721/47e3baaf/attachment-0001.html>


More information about the vtk-developers mailing list