D'accord, peut-être que cet algorithme est stupide, mais pourquoi ne pas choisir un plan (en position générale, ou l'un des plans de coordonnées), projeter orthogonalement les deux chaînes 3D sur le plan et résoudre le problème 2D en utilisant l'un de ces algorithmes efficaces, ce qui vous permettra de localiser tous les points d'intersection entre les projections et tous les paires de segments des deux chaînes 3D, dont les projections se croisent aux points d'intersection. Ensuite, à partir de chaque point d'intersection 2D, tracez la ligne passant par ce point, perpendiculaire au plan et vérifiez où cette ligne croise chacun des deux segments 3D, l'un de la première chaîne 3D, l'autre de la seconde, dont les projections se croisent au point d'intersection 2D. Si les points résultants sont différents, le point d'intersection projeté 2D n'est pas un vrai point d'intersection 3D. Sinon, vous obtenez un point d'intersection pour les chaînes 3D.