[vtkusers] Triangulate surface points?

Philip Fackler philip.fackler at gmail.com
Fri Mar 25 10:04:45 EDT 2016


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/20160325/f861325c/attachment.html>


More information about the vtkusers mailing list