Re: [math-fun] good deterministic algorithmic point sets > without repeated distances?
rwg: If that's bad, you can choose a beating frequency close to a self-avoiding frequency: gosper.org/hilbeat.png
--well, I'm not sure what you mean by "self avoiding frequency" but an obvious candidate stepsize is the golden ratio as "the most irrational number" (and friends). I was not complaining your construction yielding some arbitrarily small distances was "bad"; I was merely "interested" to know whether its distribution of nearest neighbor distances, differed from that of random points. (A question which likely could be answered computationally.)
rwg: Here (again) is the exact Hilbert fcn
Clear[Hilbert]; Hilbert[t_, a1_: 1, a0_: 0] := Hilbert[t, b1_: 1, b0_: 0] = (Hilbert[t, s1_: 1, s0_: 0] = ((a0 - s0)/(s1 - a1)); Module[{t4 = 4*t, n}, n = Floor[t4]; t4 -= n; Switch[n, 0, I*(1 - Hilbert[1 - t4, -I*a1/2, a0 + a1*I/2])/2, 1, (I + Hilbert[t4, a1/2, a0 + a1*I/2])/2, 2, (1 + I + Hilbert[t4, a1/2, a0 + a1*(1 + I)/2])/2, 3, 1 + I*Hilbert[1 - t4, a1*I/2, a0 + a1]/2, 4, 1]]) --elegant! Generalizing to D dimensions using gray code makes my head hurt, but it is pretty easy to go to D dimensions if you instead of Hilbert, employ Peano space filling curve idea. This is a curve from 0000..000 to 1111...1111 in the hypercube [0,1]^D. Slice your hyper-rectangle into 3 equal-width slabs splitting coordinate 1. Inside each slab, employ Peano with the D coordinates rotated 1 slot, frobulate, and then the first coordinate is scaled by 1/3. Here "frobulate" is to do nothing for the outer two slabs, but for the middle slab it is to apply the map x --> 1-x to each coordinate other than the first. Helps if you own a ternary computer.
participants (1)
-
Warren D Smith