Corba de Moore
La corba de Moore és una corba fractal contínua que recobreix el pla. Concretament, es tracta d'una variant cíclica de la corba de Hilbert.[1] Va ser descrita pel matemàtic Eliakim Hastings Moore l'any 1900.[2]
Com que tendeix al recobriment de tot el pla, la seva dimensió de Hausdorff-Bezikóvitx és 2.
Procediment
[modifica]Cada iteració de la corba de Moore s'obté a partir de la corba de Hilbert d'ordre anterior, col·locant-ne quatre còpies de manera que formen una línia contínua. Es tracta per tant d'una modificació només en l'últim nivell de la corba de Hilbert en cada cas, la qual permet tancar el cicle ja que els dos extrems de la línia queden adjacents.
En pseudocodi es pot definir de la següent manera:
FUNCIÓ generar_punts(order)
n = order ** 2 // Ordre elevat a 2
total = n ** 2 // N elevat a 2
points = [] // Definir la array os s'emmagatzemen els punts
len = 2 ** (order - 1) // Distància entre quadrants
for n in 0..3 // Cadascuna de les còpies de la funció de Hilbert
for i in 0...total
point = hilbert(i, order) // Obtenir el punt actual a partir de la funció de Hilbert
case n
when 0 // Quadrant esquerra-avall
nx = (len - 1 - point.y / 2)
ny = (len - 1 - point.x / 2) + len
when 1 // Quadrant esquerra-amunt
nx = (len - 1 - point.y / 2)
ny = (len - 1 - point.x / 2)
when 2 // Quadrant dreta-amunt
nx = (point.y / 2) + len
ny = (point.x / 2)
when 3 // Quadrant dreta-avall
nx = (point.y / 2) + len
ny = (point.x / 2) + len
end
point.x = nx
point.y = ny
points.push(point) // Emmagatzemar el punt
end
end
end
Generalització per qualsevol dimensió
[modifica]Hi ha una generalització elegant de la corba de Hilbert a més dimensions. Si es llegeixen els vèrtex d'un hipercub de n dimensions en ordre determinat pel codi Gray es pot generar una corba de Hilbert de n dimensions.[3]
Per construir una corba de Moore d'ordre i en n dimensions, utilitzes 2n còpies de la corba de Hilbert d'ordre i-1 i n dimensions a cada cantonada de l'hipercub n-dimensional, les gires i les connectes amb segments de línia. Els segments afegits segueixen la ruta d'una corba de Hilbert d'ordre 1. Aquesta construcció funciona fins i tot per la corba de Moore d'ordre 1, si defineixes l'ordre 0 de la corba de Hilbert com un únic punt.[4]
Vegeu també
[modifica]Referències
[modifica]- ↑ A. Bogomolny, «Plane Filling Curves from Interactive Mathematics Miscellany and Puzzles». [Consulta: 17 de març de 2020]
- ↑ Moore, E. H. «On Certain Crinkly Curves». Transactions of the American Mathematical Society, 1, 1, 1900, pàg. 72-90. DOI: 10.2307/1986405. JSTOR: 1986405.
- ↑ Weisstein, Eric W. «Hilbert Curve». A Wolfram Web Resource. MathWord. [Consulta: 17 març 2020].
- ↑ Dickau, Robert. «Hilbert and Moore 3D Fractal Curves». Wolfram Demonstrations Project, 07-03-2011. [Consulta: 17 març 2020].