Re: DelaunayTriangulation[] output
- To: mathgroup at smc.vnet.net
- Subject: [mg83232] Re: DelaunayTriangulation[] output
- From: dh <dh at metrohm.ch>
- Date: Thu, 15 Nov 2007 05:46:21 -0500 (EST)
- References: <fhegn1$m6p$1@smc.vnet.net>
Hi Dominik, the adjecency list gives a vertex and its neighbours. If we partition the neighbours into all possible pairs and add the vertex, we obtain all triangels that contain this vertex. However, this gives the same triangle several times. Therefore,we sort the triangle points and use Unique to get rid of the multiplicity: t=Function[x,Prepend[#,x[[1]]]&/@Partition[x[[2]],2,1]] /@ adj; Sort /@ Flatten[t,1] //Union hope this helps, Daniel Dominick wrote: > Hi guys I was wondering if you could help me with a couple of problems im having. I'm writing a program that when given two images it creates a morph in between them.The algorithm im implementing uses control points i choose on the image and them triangulates the the images using those control points.I then use the subsquent triangles to create a 1 to 1 correspondance between the 2 images. Im using the DelaunayTriangulation[] command to do the triangulation for me.Well my problem is the output of DelaunayTriangulation. I need a triangle list ie; > > > i j k > 1 5 2 > 2 3 7 > . . . > > > where i,j,k are the vertices of the triangle > but DelaunayTriangulation outputs an adjacency list ie > > > > { {i,{points that are connected to i},..} > > > I was wondering if anyone knew how to convert this list to the triangle based list i need.If i get this figured out then 90%+ of the program is done.I appreciate any help. >