<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265145</link>
    <title>MATLAB Central Newsreader - Voronoi diagram on a sphere</title>
    <description>Feed for thread: Voronoi diagram on a sphere</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Fri, 06 Nov 2009 06:04:01 -0500</pubDate>
      <title>Voronoi diagram on a sphere</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265145#692598</link>
      <author>Abel Brown</author>
      <description>iv been able to make voronoi diagrams easily on 2D plane but can not seem to get it right for a sphere.&lt;br&gt;
&lt;br&gt;
iv googled around and found some spherical V. diagrams but cant seem to get matlab to do this&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://people.sc.fsu.edu/~%20burkardt/f_src/sxyz_voronoi/gen_00100.png&quot;&gt;http://people.sc.fsu.edu/~%20burkardt/f_src/sxyz_voronoi/gen_00100.png&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
I have some points (lat, lon, ht  or x, y, z) and would like to make sphereical Voronoi diagram and plot it.  Any help would be awesome!&lt;br&gt;
&lt;br&gt;
cheers! </description>
    </item>
    <item>
      <pubDate>Fri, 06 Nov 2009 07:01:47 -0500</pubDate>
      <title>Re: Voronoi diagram on a sphere</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265145#692605</link>
      <author>Bruno Luong</author>
      <description>&quot;Abel Brown&quot; &amp;lt;brown.2179@osu.edu&amp;gt; wrote in message &amp;lt;hd0e8h$c9$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; iv been able to make voronoi diagrams easily on 2D plane but can not seem to get it right for a sphere.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; iv googled around and found some spherical V. diagrams but cant seem to get matlab to do this&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;a href=&quot;http://people.sc.fsu.edu/~%20burkardt/f_src/sxyz_voronoi/gen_00100.png&quot;&gt;http://people.sc.fsu.edu/~%20burkardt/f_src/sxyz_voronoi/gen_00100.png&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I have some points (lat, lon, ht  or x, y, z) and would like to make sphereical Voronoi diagram and plot it.  Any help would be awesome!&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; cheers! &lt;br&gt;
&lt;br&gt;
Voronoi cell is the &quot;dual&quot; of delaunay. &lt;br&gt;
&lt;br&gt;
Use convhulln on your (x,y,z) that gives something close to Spherical Delaunay (assuming the points are close enough to neglect the spherical curvature). Next draw the median line (on the sphere) separating each vertice its delaunay neighbor, the will form a polygonal of the voronoi cell. Do it repetitively for all vertices. &lt;br&gt;
&lt;br&gt;
Bruno</description>
    </item>
    <item>
      <pubDate>Fri, 06 Nov 2009 14:00:57 -0500</pubDate>
      <title>Re: Voronoi diagram on a sphere</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265145#692675</link>
      <author>Damian Sheehy</author>
      <description>Hi Abel,&lt;br&gt;
&lt;br&gt;
If you have release in R2009a or later, the computational geometry tools &lt;br&gt;
make this task relatively easy.&lt;br&gt;
The Voronoi diagram is the dual of the Delaunay triangulation; the &lt;br&gt;
triangulation lying on the on the surface of the sphere.&lt;br&gt;
&lt;br&gt;
% Create the points on the surface of the sphere&lt;br&gt;
theth_a = 2*pi*rand(100,1);&lt;br&gt;
phi = pi*rand(100,1);&lt;br&gt;
x = cos(theth_a).*sin(phi);&lt;br&gt;
y = sin(theth_a).*sin(phi);&lt;br&gt;
z = cos(phi);&lt;br&gt;
&lt;br&gt;
% Create a Delaunay triangulation of the point set.&lt;br&gt;
% This is a solid triangulation composed of tetrahedra.&lt;br&gt;
dt = DelaunayTri(x,y,z);&lt;br&gt;
&lt;br&gt;
% Extract the surface (boundary) triangulation, in this instance it is &lt;br&gt;
actually the convex hull&lt;br&gt;
% so you could use the convexHull method also.&lt;br&gt;
ch = dt.freeBoundary();&lt;br&gt;
&lt;br&gt;
% Create a Triangulation Representation from this surface triangulation&lt;br&gt;
% We will use  it to compute the location of the voronoi vertices &lt;br&gt;
(circumcenter of the triangles),&lt;br&gt;
% and the dual edges from the triangle neighbor information.&lt;br&gt;
&lt;br&gt;
tr = TriRep(ch,x,y,z);&lt;br&gt;
numt = size(tr,1);&lt;br&gt;
T = (1:numt)';&lt;br&gt;
neigh = tr.neighbors();&lt;br&gt;
cc = tr.circumcenters();&lt;br&gt;
xcc = cc(:,1);&lt;br&gt;
ycc = cc(:,2);&lt;br&gt;
zcc = cc(:,3);&lt;br&gt;
idx1 = T &amp;lt; neigh(:,1);&lt;br&gt;
idx2 = T &amp;lt; neigh(:,2);&lt;br&gt;
idx3 = T &amp;lt; neigh(:,3);&lt;br&gt;
neigh = [T(idx1) neigh(idx1,1); T(idx2) neigh(idx2,2); T(idx3) &lt;br&gt;
neigh(idx3,3)]';&lt;br&gt;
plot3(xcc(neigh), ycc(neigh), zcc(neigh),'-r');&lt;br&gt;
axis equal;&lt;br&gt;
&lt;br&gt;
This is just a 3D extension of the following example;&lt;br&gt;
&lt;a href=&quot;http://www.mathworks.com/products/demos/shipping/matlab/demoDelaunayTri.html#24&quot;&gt;http://www.mathworks.com/products/demos/shipping/matlab/demoDelaunayTri.html#24&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Best regards,&lt;br&gt;
&lt;br&gt;
Damian&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&quot;Abel Brown&quot; &amp;lt;brown.2179@osu.edu&amp;gt; wrote in message &lt;br&gt;
news:hd0e8h$c9$1@fred.mathworks.com...&lt;br&gt;
&amp;gt; iv been able to make voronoi diagrams easily on 2D plane but can not seem &lt;br&gt;
&amp;gt; to get it right for a sphere.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; iv googled around and found some spherical V. diagrams but cant seem to &lt;br&gt;
&amp;gt; get matlab to do this&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://people.sc.fsu.edu/~%20burkardt/f_src/sxyz_voronoi/gen_00100.png&quot;&gt;http://people.sc.fsu.edu/~%20burkardt/f_src/sxyz_voronoi/gen_00100.png&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I have some points (lat, lon, ht  or x, y, z) and would like to make &lt;br&gt;
&amp;gt; sphereical Voronoi diagram and plot it.  Any help would be awesome!&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; cheers! </description>
    </item>
    <item>
      <pubDate>Fri, 06 Nov 2009 14:05:06 -0500</pubDate>
      <title>Re: Voronoi diagram on a sphere</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265145#692676</link>
      <author>Abel Brown</author>
      <description>&quot;Bruno Luong&quot; &amp;lt;b.luong@fogale.findmycountry&amp;gt; wrote in message &amp;lt;hd0hkr$pq1$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;Abel Brown&quot; &amp;lt;brown.2179@osu.edu&amp;gt; wrote in message &amp;lt;hd0e8h$c9$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; iv been able to make voronoi diagrams easily on 2D plane but can not seem to get it right for a sphere.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; iv googled around and found some spherical V. diagrams but cant seem to get matlab to do this&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;a href=&quot;http://people.sc.fsu.edu/~%20burkardt/f_src/sxyz_voronoi/gen_00100.png&quot;&gt;http://people.sc.fsu.edu/~%20burkardt/f_src/sxyz_voronoi/gen_00100.png&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I have some points (lat, lon, ht  or x, y, z) and would like to make sphereical Voronoi diagram and plot it.  Any help would be awesome!&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; cheers! &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Voronoi cell is the &quot;dual&quot; of delaunay. &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Use convhulln on your (x,y,z) that gives something close to Spherical Delaunay (assuming the points are close enough to neglect the spherical curvature). Next draw the median line (on the sphere) separating each vertice its delaunay neighbor, the will form a polygonal of the voronoi cell. Do it repetitively for all vertices. &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Bruno&lt;br&gt;
&lt;br&gt;
Thanks for your reply Bruno&lt;br&gt;
&lt;br&gt;
These points that I have are distributed all over the globe.  Some of the points are separated by thousands of kilometers so will not be able to neglect the spherical curvature.  &lt;br&gt;
&lt;br&gt;
I was thinking to do some distance preserving projection on to a plane, do the V. diagram in 2D, and then map it back.  But in this case the polygons will not be &quot;continuous&quot;.  The polygons at the edges will go off to infinity where as on a sphere all polygons will have a finite area.&lt;br&gt;
&lt;br&gt;
Is there a way to use voronoin to do this?  this will do the 3D Voronoi diagram but need to plot the polygons on a sphere ...&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;</description>
    </item>
    <item>
      <pubDate>Fri, 06 Nov 2009 15:10:20 -0500</pubDate>
      <title>Re: Voronoi diagram on a sphere</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265145#692700</link>
      <author>Abel Brown</author>
      <description>&quot;Damian Sheehy&quot; &amp;lt;Damian.Sheehy@mathworks.com&amp;gt; wrote in message &amp;lt;hd1a6r$rq0$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Hi Abel,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; If you have release in R2009a or later, the computational geometry tools &lt;br&gt;
&amp;gt; make this task relatively easy.&lt;br&gt;
&amp;gt; The Voronoi diagram is the dual of the Delaunay triangulation; the &lt;br&gt;
&amp;gt; triangulation lying on the on the surface of the sphere.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Create the points on the surface of the sphere&lt;br&gt;
&amp;gt; theth_a = 2*pi*rand(100,1);&lt;br&gt;
&amp;gt; phi = pi*rand(100,1);&lt;br&gt;
&amp;gt; x = cos(theth_a).*sin(phi);&lt;br&gt;
&amp;gt; y = sin(theth_a).*sin(phi);&lt;br&gt;
&amp;gt; z = cos(phi);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Create a Delaunay triangulation of the point set.&lt;br&gt;
&amp;gt; % This is a solid triangulation composed of tetrahedra.&lt;br&gt;
&amp;gt; dt = DelaunayTri(x,y,z);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Extract the surface (boundary) triangulation, in this instance it is &lt;br&gt;
&amp;gt; actually the convex hull&lt;br&gt;
&amp;gt; % so you could use the convexHull method also.&lt;br&gt;
&amp;gt; ch = dt.freeBoundary();&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Create a Triangulation Representation from this surface triangulation&lt;br&gt;
&amp;gt; % We will use  it to compute the location of the voronoi vertices &lt;br&gt;
&amp;gt; (circumcenter of the triangles),&lt;br&gt;
&amp;gt; % and the dual edges from the triangle neighbor information.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; tr = TriRep(ch,x,y,z);&lt;br&gt;
&amp;gt; numt = size(tr,1);&lt;br&gt;
&amp;gt; T = (1:numt)';&lt;br&gt;
&amp;gt; neigh = tr.neighbors();&lt;br&gt;
&amp;gt; cc = tr.circumcenters();&lt;br&gt;
&amp;gt; xcc = cc(:,1);&lt;br&gt;
&amp;gt; ycc = cc(:,2);&lt;br&gt;
&amp;gt; zcc = cc(:,3);&lt;br&gt;
&amp;gt; idx1 = T &amp;lt; neigh(:,1);&lt;br&gt;
&amp;gt; idx2 = T &amp;lt; neigh(:,2);&lt;br&gt;
&amp;gt; idx3 = T &amp;lt; neigh(:,3);&lt;br&gt;
&amp;gt; neigh = [T(idx1) neigh(idx1,1); T(idx2) neigh(idx2,2); T(idx3) &lt;br&gt;
&amp;gt; neigh(idx3,3)]';&lt;br&gt;
&amp;gt; plot3(xcc(neigh), ycc(neigh), zcc(neigh),'-r');&lt;br&gt;
&amp;gt; axis equal;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; This is just a 3D extension of the following example;&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://www.mathworks.com/products/demos/shipping/matlab/demoDelaunayTri.html#24&quot;&gt;http://www.mathworks.com/products/demos/shipping/matlab/demoDelaunayTri.html#24&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Best regards,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Damian&lt;br&gt;
&lt;br&gt;
Damian&lt;br&gt;
&lt;br&gt;
Thank you very much!  This is exactly what I needed!  &lt;br&gt;
&lt;br&gt;
Ultimately, I need to calculate the area of each of these polygon (which is no problem).&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;br&gt;
Typically, using [V,C] = voronoin(X), the index of the i'th polygon&lt;br&gt;
&lt;br&gt;
% faces&lt;br&gt;
polygonIndx = C{i}&lt;br&gt;
&lt;br&gt;
Then to get the vertex information just index into V&lt;br&gt;
&lt;br&gt;
vX = V(polygonIndx,1);&lt;br&gt;
vY = V(polygonIndx,2);&lt;br&gt;
&lt;br&gt;
Is there a way, using your example, to get the vertices for each polygon?&lt;br&gt;
&lt;br&gt;
Should I just computed the convexhull of each of the original points using the Voronoi points computed?&lt;br&gt;
&lt;br&gt;
Thanks!!</description>
    </item>
    <item>
      <pubDate>Fri, 06 Nov 2009 15:54:47 -0500</pubDate>
      <title>Re: Voronoi diagram on a sphere</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265145#692712</link>
      <author>Damian Sheehy</author>
      <description>&lt;br&gt;
&quot;Abel Brown&quot; &amp;lt;brown.2179@osu.edu&amp;gt; wrote in message &lt;br&gt;
news:hd1e8s$gf6$1@fred.mathworks.com...&lt;br&gt;
&amp;gt; &quot;Damian Sheehy&quot; &amp;lt;Damian.Sheehy@mathworks.com&amp;gt; wrote in message &lt;br&gt;
&amp;gt; &amp;lt;hd1a6r$rq0$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt;&amp;gt; Hi Abel,&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; If you have release in R2009a or later, the computational geometry tools&lt;br&gt;
&amp;gt;&amp;gt; make this task relatively easy.&lt;br&gt;
&amp;gt;&amp;gt; The Voronoi diagram is the dual of the Delaunay triangulation; the&lt;br&gt;
&amp;gt;&amp;gt; triangulation lying on the on the surface of the sphere.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; % Create the points on the surface of the sphere&lt;br&gt;
&amp;gt;&amp;gt; theth_a = 2*pi*rand(100,1);&lt;br&gt;
&amp;gt;&amp;gt; phi = pi*rand(100,1);&lt;br&gt;
&amp;gt;&amp;gt; x = cos(theth_a).*sin(phi);&lt;br&gt;
&amp;gt;&amp;gt; y = sin(theth_a).*sin(phi);&lt;br&gt;
&amp;gt;&amp;gt; z = cos(phi);&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; % Create a Delaunay triangulation of the point set.&lt;br&gt;
&amp;gt;&amp;gt; % This is a solid triangulation composed of tetrahedra.&lt;br&gt;
&amp;gt;&amp;gt; dt = DelaunayTri(x,y,z);&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; % Extract the surface (boundary) triangulation, in this instance it is&lt;br&gt;
&amp;gt;&amp;gt; actually the convex hull&lt;br&gt;
&amp;gt;&amp;gt; % so you could use the convexHull method also.&lt;br&gt;
&amp;gt;&amp;gt; ch = dt.freeBoundary();&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; % Create a Triangulation Representation from this surface triangulation&lt;br&gt;
&amp;gt;&amp;gt; % We will use  it to compute the location of the voronoi vertices&lt;br&gt;
&amp;gt;&amp;gt; (circumcenter of the triangles),&lt;br&gt;
&amp;gt;&amp;gt; % and the dual edges from the triangle neighbor information.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; tr = TriRep(ch,x,y,z);&lt;br&gt;
&amp;gt;&amp;gt; numt = size(tr,1);&lt;br&gt;
&amp;gt;&amp;gt; T = (1:numt)';&lt;br&gt;
&amp;gt;&amp;gt; neigh = tr.neighbors();&lt;br&gt;
&amp;gt;&amp;gt; cc = tr.circumcenters();&lt;br&gt;
&amp;gt;&amp;gt; xcc = cc(:,1);&lt;br&gt;
&amp;gt;&amp;gt; ycc = cc(:,2);&lt;br&gt;
&amp;gt;&amp;gt; zcc = cc(:,3);&lt;br&gt;
&amp;gt;&amp;gt; idx1 = T &amp;lt; neigh(:,1);&lt;br&gt;
&amp;gt;&amp;gt; idx2 = T &amp;lt; neigh(:,2);&lt;br&gt;
&amp;gt;&amp;gt; idx3 = T &amp;lt; neigh(:,3);&lt;br&gt;
&amp;gt;&amp;gt; neigh = [T(idx1) neigh(idx1,1); T(idx2) neigh(idx2,2); T(idx3)&lt;br&gt;
&amp;gt;&amp;gt; neigh(idx3,3)]';&lt;br&gt;
&amp;gt;&amp;gt; plot3(xcc(neigh), ycc(neigh), zcc(neigh),'-r');&lt;br&gt;
&amp;gt;&amp;gt; axis equal;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; This is just a 3D extension of the following example;&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://www.mathworks.com/products/demos/shipping/matlab/demoDelaunayTri.html#24&quot;&gt;http://www.mathworks.com/products/demos/shipping/matlab/demoDelaunayTri.html#24&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Best regards,&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Damian&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Damian&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thank you very much!  This is exactly what I needed!&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Ultimately, I need to calculate the area of each of these polygon (which &lt;br&gt;
&amp;gt; is no problem).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Typically, using [V,C] = voronoin(X), the index of the i'th polygon&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; % faces&lt;br&gt;
&amp;gt; polygonIndx = C{i}&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Then to get the vertex information just index into V&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; vX = V(polygonIndx,1);&lt;br&gt;
&amp;gt; vY = V(polygonIndx,2);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Is there a way, using your example, to get the vertices for each polygon?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Should I just computed the convexhull of each of the original points using &lt;br&gt;
&amp;gt; the Voronoi points computed?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thanks!!&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Hi Abel,&lt;br&gt;
&lt;br&gt;
You should realize this is an approximate Voronoi diagram.&lt;br&gt;
The fewer points you have the less accurate it will be.&lt;br&gt;
Also, the Voronoi vertices are not exactly on the surface of the sphere, as &lt;br&gt;
the triangle facet is not &quot;draped&quot; over the surface, but it's not difficult &lt;br&gt;
to project them.&lt;br&gt;
&lt;br&gt;
If you wish to compute the Voronoi region associated with point  &quot;i &quot; you &lt;br&gt;
can do so as follows;&lt;br&gt;
&lt;br&gt;
1) Compute the set of triangles attached to point i. The triangles are &lt;br&gt;
arranged in a CCW cycle around the point i.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ti = tr.vertexAttachments(i)&lt;br&gt;
&lt;br&gt;
2) The positions of the vertices defining the i'th Voronoi region are the &lt;br&gt;
circumcenters of these triangles&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ccTi = tr.circumcenters(Ti)&lt;br&gt;
&lt;br&gt;
3) The Voronoi region may be non-planar.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;To compute the area break it into triangles defined by the point i and &lt;br&gt;
each edge of the Voronoi region.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The location of point i is x(i), y(i), z(i)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the two edge points are ccTi(1,:) to ccTi(2,:)&lt;br&gt;
&lt;br&gt;
I suggest you first try computing a simple 2D Voronoi diagram using this &lt;br&gt;
approach, and when you understand the process apply it to your problem.&lt;br&gt;
Take your time, understand the steps, and if you get stuck feel free to &lt;br&gt;
contact me directly.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Damian</description>
    </item>
    <item>
      <pubDate>Fri, 06 Nov 2009 22:42:03 -0500</pubDate>
      <title>Re: Voronoi diagram on a sphere</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265145#692813</link>
      <author>Abel Brown</author>
      <description>&lt;br&gt;
&amp;gt; Hi Abel,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; You should realize this is an approximate Voronoi diagram.&lt;br&gt;
&amp;gt; The fewer points you have the less accurate it will be.&lt;br&gt;
&amp;gt; Also, the Voronoi vertices are not exactly on the surface of the sphere, as &lt;br&gt;
&amp;gt; the triangle facet is not &quot;draped&quot; over the surface, but it's not difficult &lt;br&gt;
&amp;gt; to project them.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; If you wish to compute the Voronoi region associated with point  &quot;i &quot; you &lt;br&gt;
&amp;gt; can do so as follows;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 1) Compute the set of triangles attached to point i. The triangles are &lt;br&gt;
&amp;gt; arranged in a CCW cycle around the point i.&lt;br&gt;
&amp;gt;      Ti = tr.vertexAttachments(i)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 2) The positions of the vertices defining the i'th Voronoi region are the &lt;br&gt;
&amp;gt; circumcenters of these triangles&lt;br&gt;
&amp;gt;      ccTi = tr.circumcenters(Ti)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 3) The Voronoi region may be non-planar.&lt;br&gt;
&amp;gt;      To compute the area break it into triangles defined by the point i and &lt;br&gt;
&amp;gt; each edge of the Voronoi region.&lt;br&gt;
&amp;gt;      The location of point i is x(i), y(i), z(i)&lt;br&gt;
&amp;gt;       the two edge points are ccTi(1,:) to ccTi(2,:)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I suggest you first try computing a simple 2D Voronoi diagram using this &lt;br&gt;
&amp;gt; approach, and when you understand the process apply it to your problem.&lt;br&gt;
&amp;gt; Take your time, understand the steps, and if you get stuck feel free to &lt;br&gt;
&amp;gt; contact me directly.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Damian&lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;br&gt;
Damian&lt;br&gt;
&lt;br&gt;
This works great! &lt;br&gt;
&lt;br&gt;
No problems computing polygon for each point using your instructions!&lt;br&gt;
&lt;br&gt;
Thanks again&lt;br&gt;
-abel </description>
    </item>
  </channel>
</rss>

