Bonjour tout le monde, j'explique le contexte :
Nous avons initialement une liste de points (en orange) qui forment une droite que l'on va appeler trace. En chacun de ces points, on calcule l’orthogonale. Les deux points de l’orthogonale qui sont à une distance N du point, vont nous permettre de construire notre géométrie (une bande) :
Nous avons donc une liste de sommets (de 1 à 16) qui vont former la bande. Grâce à ces sommets, on va obtenir des triangles que l'on va pouvoir dessiner. ( [1-2-3], [2-3-4] ... [14-15-16]).
J'utilise un triangle strip pour dessiner cette bande.
Le problème de chevauchement se produit lorsque la trace forme une courbe :
Dans ce dessin le trait noir du centre représente la trace. Les deux traits rouges sont la forme que l’on veut obtenir. En vert on peut voir les orthogonales. On remarque qu’elles se croisent (cercle orange).
J'aimerai éviter que les orthogonales se croisent car cela donne un effet indésirable quand je dessine mes triangles.
Dans le cas réel, il y a beaucoup plus de points que sur les images et la distance N est très grande.
Une solution que j'avais envisagé est de regarder si les orthogonales se croisent mais le coup des calculs est très important car pratiquement toutes les orthogonales se croisent lorqu'on approche d'une courbe.
Avez vous des idées, sur un algorithme me permettant d'éviter ces intersections d'orthogonales tout en gardant la forme de la bande optimale ?
Si vous avez des questions ou si je n'ai pas été clair dites le moi
J'ai déjà lu les topics suivant :
http://www.developpez.net/forums/d53...point-segment/
http://www.developpez.net/forums/d75...trigonometrie/
Partager