Re: Intersections of Contours in 3D
- To: mathgroup at smc.vnet.net
- Subject: [mg34148] Re: Intersections of Contours in 3D
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Mon, 6 May 2002 05:20:19 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <ab07eu$1s5$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Bram Platel wrote: > > What I would like to find is the intersections of Surfaces of Contours in > 3D. (This for two diffent ContourPlot3D's, not in one ContourPlot). > > (For example in short-> > a=ListContourPlot3D[data3d1,Contours->{0}] > b=ListContourPlot3D[data3d2,Contours->{0}] > then I would like to find intersections where a=b) > > I've read the article "Intersections of Surfaces" of Steven Wilkinson, but > in that article it is assumed that the equation of the surface is known (he > uses a sort of solve to find the intersections). > > But for Contours found by ListContourPlot3D the equations of the surfaces > are not known. > > Does anyone have an idea on how to find these intersections? > Maybe look at the Polygons in the ContourPlot? > > All suggestions are welcome Hi, it is not so compilcated. I assume that both volume data have the same dimensions. Take the polygons of the two surfaces, and make a grid of the same dimension as your volume data are, collect in this grid the pointers to the polygons of the two surfaces. For every grid non-empty cell of this grid check a) if both volumes have at least one triangle in this cell, the two plane equations of the triangles can be used to compute the begin and end point of the intersection line link all intersection lines in a single cell to one line b) search in the neigbour cells for intersection lines and connect the lines c) skip over all other cells Regards Jens