[vtkusers] Triangulate surface points?

Philip Fackler philip.fackler at gmail.com
Tue Mar 29 09:18:42 EDT 2016


Let me ask this then. Recalling my initial email, I have several distinct
surfaces defined by triangular facets (wound consistently) and the bounding
segmented curves for each surface. And these surfaces are generally not
closed. One way I can imagine to triangulate a set of points on a surface
is to use vtkDelaunay2D with each point's corresponding (u, v) coordinates
on a parametric surface, followed by a translation back to 3D. So, is there
a tool in vtk to generate such a parametric surface based on a polydata
with the information indicated above?

On Sat, Mar 26, 2016 at 9:47 PM Andras Lasso <lasso at queensu.ca> wrote:

> Yes, these filters generate one closed surface.
>
>
>
> Andras
>
>
>
> *From: *Philip Fackler <philip.fackler at gmail.com>
> *Sent: *March 26, 2016 20:28
> *To: *Andras Lasso <lasso at queensu.ca>; Cory Quammen
> <cory.quammen at kitware.com>
>
>
> *Cc: *vtkusers at vtk.org
> *Subject: *Re: [vtkusers] Triangulate surface points?
> This method seems to give the bounding polydata to the unstructured volume
> grid. What if the surface I'm trying to define isn't closed? Each surface
> can be arbitrarily shaped.
>
> On Fri, Mar 25, 2016 at 10:21 AM Andras Lasso <lasso at queensu.ca> wrote:
>
>> When all points are coplanar we insert a glyph filter in the pipeline to
>> add small spheres at each point.
>>
>>
>>
>> Andras
>>
>>
>>
>> *From: *Philip Fackler <philip.fackler at gmail.com>
>> *Sent: *March 25, 2016 10:05
>> *To: *Cory Quammen <cory.quammen at kitware.com>; Andras Lasso
>> <lasso at queensu.ca>
>>
>>
>> *Cc: *vtkusers at vtk.org
>> *Subject: *Re: [vtkusers] Triangulate surface points?
>> I've tried out vtkDelaunay3D some. But in cases where the surface is
>> completely planar, it fails (it can't make any tets). Is there a way it can
>> handle that. Sorry, I haven't had a chance to watch the video yet.
>>
>> On Fri, Mar 25, 2016 at 9:59 AM Cory Quammen <cory.quammen at kitware.com>
>> wrote:
>>
>>> Cool, thanks!.
>>>
>>> On Fri, Mar 25, 2016 at 9:48 AM, Andras Lasso <lasso at queensu.ca> wrote:
>>>
>>>> It can generate non-convex surfaces up to some point - check out the
>>>> video and/or try it yourself (you can install the Volume clip extension in
>>>> Slicer by two clicks and you can mark points and drag them around to see
>>>> how the surface is evolving). The alpha parameter in Delaunay 3D controls
>>>> handling of concavities. Limitations include that a non-zero alpha may make
>>>> the triangulation to fail and irregular point distances may confuse the
>>>> smoothing algorithm.
>>>>
>>>>
>>>>
>>>> Andras
>>>>
>>>>
>>>>
>>>> *From: *Cory Quammen <cory.quammen at kitware.com>
>>>> *Sent: *March 25, 2016 09:37
>>>> *To: *Andras Lasso <lasso at queensu.ca>
>>>> *Cc: *Philip Fackler <philip.fackler at gmail.com>; vtkusers at vtk.org
>>>>
>>>> *Subject: *Re: [vtkusers] Triangulate surface points?
>>>>
>>>>
>>>> Andras,
>>>>
>>>> That's a good idea as well, but doesn't vtkDelaunay3D produce a convex
>>>> hull of the input points? That's fine if your object is convex, of course,
>>>> but may not give you the expected results if your object has a concave
>>>> region.
>>>>
>>>> If there is a feature in vtkDelaunay3D that can produce concave
>>>> surfaces, I would be interested to know about it.
>>>>
>>>> Thanks,
>>>> Cory
>>>>
>>>> On Fri, Mar 25, 2016 at 8:34 AM, Andras Lasso <lasso at queensu.ca> wrote:
>>>>
>>>>> We get excellent results for sparse point sets using a combination of
>>>>> vtkDelaunay3D, vtkDataSetSurfaceFilter, and vtkButterflySubdivisionFilter.
>>>>> The generated surface includes the exact points that we specify.
>>>>>
>>>>>
>>>>>
>>>>> You can see what kind of surfaces you can generate from a small number
>>>>> of points:
>>>>>
>>>>> https://www.youtube.com/watch?v=1mYNwJbE7dQ
>>>>>
>>>>>
>>>>>
>>>>> You can play with it if you download 3D Slicer and install Volume Clip
>>>>> extension (
>>>>> https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/VolumeClip).
>>>>> Source code is available here:
>>>>>
>>>>>
>>>>> https://subversion.assembla.com/svn/slicerrt/trunk/VolumeClip/src/VolumeClipWithModel/
>>>>>
>>>>> (relevant part is in updateModelFromMarkup function)
>>>>>
>>>>>
>>>>>
>>>>> Andras
>>>>>
>>>>>
>>>>>
>>>>> *From:* vtkusers [mailto:vtkusers-bounces at vtk.org] *On Behalf Of *Cory
>>>>> Quammen
>>>>> *Sent:* March 24, 2016 2:29 PM
>>>>> *To:* Philip Fackler <philip.fackler at gmail.com>
>>>>> *Cc:* vtkusers at vtk.org
>>>>> *Subject:* Re: [vtkusers] Triangulate surface points?
>>>>>
>>>>>
>>>>>
>>>>> Philip,
>>>>>
>>>>>
>>>>>
>>>>> Please take a look at
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> http://www.vtk.org/doc/nightly/html/classvtkSurfaceReconstructionFilter.html
>>>>>
>>>>>
>>>>>
>>>>> and
>>>>>
>>>>>
>>>>>
>>>>> http://www.vtkjournal.org/browse/publication/718
>>>>>
>>>>>
>>>>>
>>>>> I don't have direct experience with these classes, but they may have
>>>>> what you need.
>>>>>
>>>>>
>>>>>
>>>>> HTH,
>>>>>
>>>>> Cory
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Mar 24, 2016 at 2:24 PM, Philip Fackler <
>>>>> philip.fackler at gmail.com> wrote:
>>>>>
>>>>> If someone could even definitively tell me "no, you can't do this"
>>>>> that would be helpful.
>>>>>
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Philip Fackler
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Mar 16, 2016 at 6:24 PM Philip Fackler <
>>>>> philip.fackler at gmail.com> wrote:
>>>>>
>>>>> Is there a way to triangulate a set of surface points using vtk? I've
>>>>> looked around and everything I've found (vtk, cgal, pcl) only do a surface
>>>>> reconstruction which ends up generating its own points to triangulate. I
>>>>> want to actually use the points I have as the vertices of the
>>>>> triangulation. Along with the point locations, I have a lot of information
>>>>> available in my code that I could provide:
>>>>>
>>>>>
>>>>> Normal vector at each point
>>>>>
>>>>> Bounding segmented curve(s) (i.e., lists of edge cells indexing the
>>>>> list of surface points)
>>>>>
>>>>> A polydata representation of the surface (Note that the points I want
>>>>> to triangulate are distinct from the points involved in this)
>>>>>
>>>>> The only vtk utility that seems to come close to this is
>>>>> vtkDelaunay2D, but it's only useful if all the points can be mapped to a 2D
>>>>> plane. This isn't possible in general without a parametric surface, which
>>>>> is one bit of information I don't have.
>>>>>
>>>>> Thanks in advance for the help.
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Powered by www.kitware.com
>>>>>
>>>>> Visit other Kitware open-source projects at
>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>
>>>>> Please keep messages on-topic and check the VTK FAQ at:
>>>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>>>
>>>>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>>>>
>>>>> Follow this link to subscribe/unsubscribe:
>>>>> http://public.kitware.com/mailman/listinfo/vtkusers
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Cory Quammen
>>>>> R&D Engineer
>>>>> Kitware, Inc.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Cory Quammen
>>>> R&D Engineer
>>>> Kitware, Inc.
>>>>
>>>
>>>
>>>
>>> --
>>> Cory Quammen
>>> R&D Engineer
>>> Kitware, Inc.
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160329/6dc0edf8/attachment.html>


More information about the vtkusers mailing list