Architecture en D3 JS (detection collision)

Architecture en D3 JS (detection collision) - Javascript/Node.js - Programmation

Marsh Posté le 28-09-2015 à 10:54:53    

Hello à tous,
 
J'aimerais réaliser un "schéma réseau" à l'aide de D3JS,
J'ai des éléments à des coordonnées précises que j'aimerai relier entre eux,  
Mon problème c'est que les liens passent en dessous ou au dessus de certains éléments,
 
Comment puis je faire afin que mes liens détectent mes éléments et passent à coté ?
 
Merci beaucoup pour les pistes que vous pourriez me donner !
C'est basiquement ce qu'a voulu faire une personne dans ce poste (resté sans réponses) : http://www.chinabtp.com/draw-path- [...] ode-d3-js/
Si cela n'est pas possible avec D3JS, n'hésitez pas à partager vos libs ! :)
Merci à tous


Message édité par vian2212 le 28-09-2015 à 11:22:30
Reply

Marsh Posté le 28-09-2015 à 10:54:53   

Reply

Marsh Posté le 29-09-2015 à 18:18:02    

Qu'entends tu par "passent à côté" alors que tu dis au dessus: "les liens passent en dessous/au dessus de certains éléments" ?
 
Habituellement dans ce genre de cas, on se contente de faire en sorte que le trait soit visible en dessous (via un jeux d'opacité) ou alors que l'on change légèrement la courbe pour justement passer au dessus/dessous d'un élément.
 
Au passage sache que le fait de bouger les éléments pour éviter les collisions (cad réorganiser le tout), est NP-hard donc ca n'est pas la voie à suivre.

Reply

Marsh Posté le 29-09-2015 à 18:23:12    

Hello Devil's Tiger, merci pour ta réponse,
En gros :  
Situation actuelle : "les liens passent en dessous/au dessus de certains éléments"
Situation souhaitée : "passent à côté"
 
L'idée c'est de faire comme cette librairie JS que j'ai trouvé :
http://www.jointjs.com/demos/routing
 
En effet je vais avoir beaucoup de liens, et il me faut les organiser de cette manière.
 
Je vais donc partir avec cette lib JointJS mais je rencontre de nouveaux soucis ! :D (xWiki est pas comode !)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed