Estoy creando un servicio web que está dirigido a simular cómo funcionan los circuitos electrónicos. El project aún no está en la etapa Alpha.Algoritmo de conexión de componentes electrónicos algoritmo de conexión
Estoy atrapado con un hito importante del proyecto: cuando uno trata de conectar el pin de un componente a otro pin, se debe construir la línea de conexión.
Antes que nada, la línea de conexión era simplemente una línea recta, sin casi ninguna forma de cambiarla.
luego se convirtió en línea de alguna manera doblada con la posibilidad de añadir, mover y eliminar puntos, lo que determina cómo se dobla la línea.
Y ahora (línea de conexión) se ha creado usando el A * algoritmo.
La aplicación todavía no está bien, por lo que la edición de una línea de conexión -generated * no es una buena idea, porque no logra mucho.
La idea para el algoritmo de creación de línea de conexión es simplemente de la siguiente manera:
determinar inicio y final puntos
encontrar un camino entre inicio y final, que no se superpone a ningún componente existente 'cuadro delimitador
crear un conjunto de puntos base - una lista de coordenadas, consiguió desde el paso # 2 + inicio el montón + final en la cola
crear un conjunto de líneas que formarán una línea de conexión:
for (var i = 1; i < points.length; i++) { var p0 = points[i - 1], p1 = points[i], line = MooChip.paper.path(Raphael.format('M%1,%2L%3,%4', p0.x, p0.y, p1.x, p1.y)); }
El problema es que las líneas de conexión podrían solaparse, al tiempo que deben cruzarse solamente ... Bueno, en realidad t aquí es otro problema: que ni siquiera podía imaginar cómo como aquí, la imagen de abajo a la izquierda se podría aplicar la conexión líneas de conexión,:
La pregunta es: ¿cómo debo construir la ruta de conexión (para hacerlo más cercano al diagrama de circuito bien diseñado, digamos) y ¿cómo puedo implementar uniones esquemáticas?