En una caja cúbica, tengo una gran colección de puntos en R^3. Me gustaría encontrar los k vecinos más cercanos para cada punto. Normalmente pienso usar algo así como un árbol k-d, pero en este caso tengo condiciones de contorno periódicas. Según lo entiendo, un árbol k-d funciona al dividir el espacio cortándolo en hiperplanos de una dimensión menos, es decir, en 3D dividiríamos el espacio dibujando planos en 2D. Para cualquier punto dado, está en el plano, encima o debajo de él. Sin embargo, cuando divide el espacio con condiciones de contorno periódicas, ¡se puede considerar que un punto está en cualquier lado!Búsqueda de vecino más cercano con condiciones de contorno periódicas
¿Cuál es el método más eficaz de encontrar y mantener una lista de vecinos más cercanos con condiciones de contorno periódicas en R^3?
Las aproximaciones no son suficientes, y los puntos solo se moverán uno a la vez (piense en la simulación de Monte Carlo no en N-cuerpos).
No estoy familiarizado con el término "condición de frontera periódica"; puedes elaborar sobre esto? – templatetypedef
Una condición de límite periódica se comprende mejor con un ejemplo. En 1D imagine que los puntos posibles son de 0 a 1. El punto 0 es igual que el punto 1. La distancia entre dos puntos en .2 y .3 es .1 como normal, pero la distancia entre dos puntos .1 y. 9 es .2 ya que gira alrededor.Esto se generaliza para dimensiones más grandes, los ejes x, y, z giran alrededor en 3D. – Hooked
Me pregunto, ¿alguna vez lograste implementar esto? Si es así, ¿tuviste alguna mejora en la velocidad? Gracias. – sodiumnitrate