Re: Naturally coloring a Voronoi diagram using Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg105614] Re: Naturally coloring a Voronoi diagram using Mathematica
- From: dh <dh at metrohm.com>
- Date: Fri, 11 Dec 2009 04:18:47 -0500 (EST)
- References: <hfqglu$oke$1@smc.vnet.net>
Hi Kelly, you specified your function on a grid: f[i/n,j/n] with 0<=i,j<=n. You may interpolate this function by "Interpolation": data=Table[{f[i/n,j/n],i,j},{i,0,n},{j,0,n}]; fun=Interpolation[data]; Here is an example: n = 10; f0[i_, j_] := Mod[i + j, 1]; data = Flatten[Table[{i/n, j/n, f0[i/n, j/n]}, {i, 0, n}, {j, 0, n}], 1]; f1 = Interpolation[data]; Plot3D[0, {i, 0, 1}, {j, 0, 1}, ColorFunction -> (Hue[f1[#1, #2]] &)] Daniel Kelly Jones wrote: > I've defined 0 <= f[x] <= 1 for 1000 x's in the unit square, and now > want to extend f as a uniformly continuous function on the entire unit > square as follows: > > % For any two points x and y in the unit square, and 0<=k<=1: > > f[k*x + (1-k)*y] = k*f[x] + (1-k)*f[y] > > Note that x and y are points in the unit square, not real numbers. > > % The equation above applies to the 1000 points I originally defined, > but also to any two other points in the unit square. > > % I want to compute f efficiently. > > Essentially, I have a Voronoi diagram and have assigned a different > hue to each point (but saturation=value=1, so we're only dealing w/ > 1-dimensional color), and now want to color the entire diagram > efficiently in a "reasonable" way. > > Ideally, I'd like to find a *function* that does this, but if > Mathematica can do this w/ Graphics (eg, some sort of color > gradient?), that's fine too. > > I do realize I'm probably limited to coloring the convex hull of my > original points. > > PS: Thanks to everyone who replies to my other questions. I'm bad > about replying, but do appreciate the answers and do learn from them. >