Necesito ayuda aquí. Soy un diseñador de UI que no es bueno para los números que hacen un diseño de formulario web experimental y necesito saber qué elemento de entrada está más cerca de un punto en una página web. Sé cómo hacer el vecino más cercano con puntos, pero los elementos de entrada son rectángulos, no puntos, así que estoy atascado.Encontrar el elemento más cercano al punto al que se ha hecho clic
Estoy usando jQuery. Solo necesito ayuda con este pequeño algo. Una vez que termine con mi experimento, les mostraré lo que estoy haciendo.
ACTUALIZACIÓN
pensé en cómo se puede trabajar. Mira este diagrama:
Cada rectángulo tiene 8 puntos (o más bien de 4 puntos y 4 líneas) que son significativos. Solo el valor x es significativo para puntos horizontales (punto rojo) y solo el valor y es significativo para puntos verticales (punto verde). Tanto x como y son importantes para las esquinas.
Las cruces naranjas son los puntos a medir en contra: clics del mouse en mi caso de uso. Las líneas moradas claras son las distancias entre la cruz naranja y el punto más cercano posible.
Así que ... para cualquier cruz naranja, recorra cada uno de los 8 puntos n de cada rectángulo para encontrar el borde más cercano o la esquina más cercana de cada rectángulo a la cruz naranja. El rectángulo con el valor más bajo es el más cercano.
Puedo conceptualizarlo y visualizarlo pero no puedo ponerlo en el código. ¡Ayuda!
Utilice los 4 puntos que representan un rectángulo en el algoritmo del vecino más cercano. O use el punto central del rectángulo cx = (izquierda + ancho)/2, cy = (arriba + altura)/2. –
¿hay alguna posibilidad de que puedas publicar algún código o hacer algo en jsfiddle.net? es todo un poco hipotético de lo contrario ... – T9b
Se agregó una ilustración para explicar el problema y cómo se puede resolver. –