Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting


Chronological Thread 
  • From: Andreas Fabri <>
  • To:
  • Subject: Re: [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting
  • Date: Wed, 30 Jan 2013 11:44:28 +0100
  • Organization: GeometryFactory


Hi Jeffrey,

you might have a look at
http://www.cse.ohio-state.edu/~tamaldey/paper/curve-skeleton/cskel.pdf
It is also implemented (using CGAL), though not open source code.
Also, I never tried it.

best,

andreas


On 30/01/2013 11:36, Jeffrey Bush wrote:
Hi,

Thanks for the response. My email was sent prematurely (I was
mid-sentence). You did answer one question, but there are more which I
didn't even get to.


I am currently working on creating a program that calculates
cross-sectional areas at various points along tube-like 3D meshes
(specifically dendrites from neurons). I only just now came across your
library and am unsure if it has what I need.

I already have the triangulated meshes. First trying to just take
user-inputted planes and determine the cross-sectional area of the mesh.
This seems to be quite solvable using the AABB tree as you have pointed out.

Next step is to determine these planes in some automatic fashion. In
this case I have had a few ideas, many of which I have "disproved" with
simple 2D counter-examples:

* (won't work) Take a point and find the cross-sectional area of
multiple planes. The smallest is the one that is across the tube.
The planes could be searched in a binary-search type method assuming
not too many local minimum. However this won't work at all if the
tube is shrinking/growing near the query point.
* (won't work) Take the normals in the area of the query point to
determine how to orient the plane so it is perpendicular to the
tube. However since the surface can be very irregular (bumpy) this
won't work either.
* Determine the axis of the tube, then take planes perpendicular to
the line. However, then the question becomes how to determine the
axis of the tube. Also what if the tube is partially curved?

After all that, an eventual goal would be to fit truncated cones
(cylinders with non-parallel sides) to sections of the tubes. There
would have to be multiple per mesh as many of my meshes have branches in
them (where one tube becomes two) and curves would need to have
multiple. There would be some tolerance for deciding that a single
truncate cone is insufficient and that it should be split.

So once again, thanks for your input so far on the AABB tree. It gets me
part way! Making it at least possible to do manually. If solutions to
the above don't exist yet I would definitely be willing to contribute to
CGAL. My own 3D geometry code was very similar to yours before I
discovered CGAL (without any of the abstraction of different kernels, etc).

Thanks,
Jeff


On Tue, Jan 29, 2013 at 10:01 PM, Sebastien Loriot (GeometryFactory)
<

<mailto:>>
wrote:

Using the AABB-tree [1] you can do what you want.

Have a look at the AABB-tree demo that is computing the intersection
with a plane you move with the mouse with a mesh
(in CGAL-4.1/demo/AABB_tree).

Sebastien.

[1]

http://www.cgal.org/Manual/__latest/doc_html/cgal_manual/__AABB_tree/Chapter_main.html

<http://www.cgal.org/Manual/latest/doc_html/cgal_manual/AABB_tree/Chapter_main.html>


On 01/30/2013 02:46 AM, Jeffrey Bush wrote:

Hi,

I am currently working on creating a program that calculates
cross-sectional areas at various points along tube-like 3D meshes
(specifically dendrites from neurons). I only just now came
across your
library and am unsure if it has what I need.

I already have the triangulated meshes. First trying to just take

Jeff



--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/__info/cgal-discuss
<https://sympa.inria.fr/sympa/info/cgal-discuss>





--
Andreas Fabri, PhD
Chief Officer, GeometryFactory
Editor, The CGAL Project

phone: +33.492.954.912 skype: andreas.fabri



Archive powered by MHonArc 2.6.18.

Top of Page