Re: [math-fun] good deterministic algorithmic point sets > without repeated distances?
For "self avoiding frequency" I should have said "self-avoiding frequency and phase". I.e. Hilbert[f+wt] repeats no value as t steps through {0,1/n,2/n,...}. If you self contact using the golden ratio, I want to hear about it. 3D (e.g.) Hilbert is easy with the finite state machine. Three bits of t in, one bit of x, y, and z out, plus state change. --rwg On 2013-11-13 10:41, Warren D Smith wrote:
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)
-
Bill Gosper