[vtkusers] Collsion Detection VCollide

David.Pont at ForestResearch.co.nz David.Pont at ForestResearch.co.nz
Tue Feb 25 15:29:58 EST 2003


Hi Greg,
   Let me know if you want the source for the 'implicit polydata' class I
have, althought it really is as simple as I described (dot product).
The real work is probably in deciding how to package it up in vtk.
The inputs could be a pair polydata data sets, or do you support testing
one target against one or more candidates? I suppose ultimately wou want to
register a list of polydata objects, and later you want to know if anyone
touches anyone else (or gets within a given distance).
The outputs could be scalar values at each point in the dataset
representing the signed distance, (0 and negative = collision). This fits
well with the vtk pipeline concept.
A function could be added to allow you to get the distance and point id(s)
having the minimum (signed) distance, this might be of more use for actual
collision detection than the per-point scalar output for the pipeline.
For 'dynamic' detection it might be useful to register a callback that is
invoked at a given distance threshold (default 0)? This does not sound very
vtk-like, but then again why not...?
My quick glance at the VCollide docs showed a couple of different
interfaces, they could be a useful guide to what works.

  Dave Pont



|--------+--------------------------------->
|        |          gpettit                |
|        |          <gpettit at vt.edu>       |
|        |          Sent by:               |
|        |          vtkusers-admin at public.k|
|        |          itware.com             |
|        |                                 |
|        |                                 |
|        |          26/02/2003 05:51       |
|        |                                 |
|--------+--------------------------------->
  >------------------------------------------------------------------------------------------------------------|
  |                                                                                                            |
  |      To:     David.Pont at forestresearch.co.nz                                                               |
  |      cc:     vtkusers at public.kitware.com                                                                   |
  |      Subject:     RE: [vtkusers] Collsion Detection VCollide                                               |
  >------------------------------------------------------------------------------------------------------------|




Dave,
Thanks for your reply.  The website you listed has the include file, but I
could not find the source.  I did email Marco whos address was in the
include
file, but I have not heard back from him.  I am thinking about the method
you
described.
Thanks again
Greg

>===== Original Message From David.Pont at ForestResearch.co.nz =====
>Hi Greg,
>A quick Google turned up:
>
>    http://www.cineca.it/manuali/maf/mfl/classvtkVCollider.html
>-looks like it has been done-  how good is your Italian?
>
>   For a code-your-own alternative how about this: I have a class that
>treats polydata as an implicit function. Someone a long while back
>mentioned they were interested in using it for collision detection. The
>basic algorithm is simple: iterate all the points in a polygonal data set,
>find closestPoint in the other data set. Perform dot product of the two
>points (using normal vectors). Zero or negative values would mean the
>surfaces have collided. The 'iterate every point' sounds expensive so a
>quick and dirty first test could test the bounds of the two data sets
>first, if they overlap, then do the closestPoint thing... but then again a
>pre-packaged vtkVCollide sounds like the way to go.
>
>  regards
>    Dave Pont
>
>
>|--------+--------------------------------->
>|        |          gpettit                |
>|        |          <gpettit at vt.edu>       |
>|        |          Sent by:               |
>|        |          vtkusers-admin at public.k|
>|        |          itware.com             |
>|        |                                 |
>|        |                                 |
>|        |          23/02/2003 09:48       |
>|        |                                 |
>|--------+--------------------------------->
>
>
-----------------------------------------------------------------------------

-------------------------------|
>  |
                                 |
>  |      To:     vtkusers at public.kitware.com
                                 |
>  |      cc:
                                 |
>  |      Subject:     [vtkusers] Collsion Detection VCollide
                                 |
>
>
-----------------------------------------------------------------------------

-------------------------------|
>
>
>
>
>Back in March of 2002 there was some discussion about collision detection
>on
>the vtk mailing list.  I understand that CINECA did some work to wrap the
>VCollide algorithms into a VTK filter.  One of the developers at CINECA,
>Marco, mentioned that he may make this filter public on their website.
>Does
>any one have any further information on this topic or any other collision
>detection routines in VTK. My application is robotics related.
>
>Many Thanks,
>Greg
>
>_______________________________________________
>This is the private VTK discussion list.
>Please keep messages on-topic. Check the FAQ at: <
>http://public.kitware.com/cgi-bin/vtkfaq>
>Follow this link to subscribe/unsubscribe:
>http://public.kitware.com/mailman/listinfo/vtkusers

_______________________________________________
This is the private VTK discussion list.
Please keep messages on-topic. Check the FAQ at: <
http://public.kitware.com/cgi-bin/vtkfaq>
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers







More information about the vtkusers mailing list