Subject: CGAL users discussion list
List archive
- From: Jeffrey Bush <>
- To: "" <>
- Subject: Re: [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting
- Date: Wed, 30 Jan 2013 02:36:47 -0800
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) <> 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--
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
- [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting, Jeffrey Bush, 01/30/2013
- Re: [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting, Sebastien Loriot (GeometryFactory), 01/30/2013
- Re: [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting, Jeffrey Bush, 01/30/2013
- Re: [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting, Sebastien Loriot (GeometryFactory), 01/30/2013
- Re: [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting, Andreas Fabri, 01/30/2013
- Re: [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting, Jeffrey Bush, 01/30/2013
- Re: [cgal-discuss] Cross-Section Area of Tube and Cylinder Fitting, Sebastien Loriot (GeometryFactory), 01/30/2013
Archive powered by MHonArc 2.6.18.