Estoy desarrollando gráficos dirigidos por fuerza en JavaScript y WebGL. Mi preocupación es la característica arrastrable como una en d3.js.
Para eso, primero quiero lograr la selección del nodo en el gráfico que no puedo averiguar cómo seleccionarlo.
Mis datos de nodo y borde son una matriz de propiedades de cada nodo, que es la posición x e y, mientras que la matriz de borde es una matriz de nodo de destino y de destino.
Quiero implementar la función donde puedo arrastrar el nodo en el gráfico con el puntero del mouse.
Una forma ingenua de pensar es escuchar el evento de clic del mouse y su ubicación. Con esa ubicación, itere sobre la ubicación de todos los nodos para encontrar si se seleccionó algún nodo. Estoy bastante seguro de que tomaría mucho poder de cálculo y tiempo. No sé si hay alguna forma de lograr esto de manera inteligente, incluso con esta forma de implementación.
No sé si estoy en lo correcto o no, pero dado que d3 usa el elemento circular para representar el nodo y escucha el evento del mouse en el manejo de ese evento. Por favor, corríjame si estoy equivocado.
Agradeceré cualquier tipo de comentario, sugerencia u orientación. Gracias de antemano.