|
Pour détecter la collision entre deux branches, il n’est pas possible de calculer les distances entre les éléments, la complexité étant alors en ![]() La croissance a été bloquée, grille trop grande. Pour améliorer ce dessin “en gros”, on différencie les points de test d’impact (un point central d’une feuille par exemple), des points de dessin (toute la feuille avec des marges). Ceci évite en grande partie d’être trop exigeant et permet le dessin des feuilles sans être bloquant. Pour éviter de devoir spécifier chaque point de blocage (ils peuvent être nombreux), on a un paramètre “fuzzy” sur la grille qui en ajoute. Voici le même dessin que ci-dessus mais avec une grille plus petite et du “fuzz” : ![]() La croissance n’est plus bloquée, mais la grille impose une régularité. Pour résoudre ce problème de régularité, il faut que la grille soit plus petite, sans trous. Du coup j’ai ajouté une fonction “fuzz” définie dans la tige: les points d’impact continuent de grandir (comme une tache d’encre) jusqu’à une certaine limite: ![]() Le fuzz fait des très jolis dessins, mais ça marche pas. C’est joli, mais inefficace. On reste avec des réglages d’horloger sur la taille de la grille et le nombre de points d’impact. Euhh, non. On corrige les bugs: ![]() Meilleure gestion des points fuzz (expansion avant pousse des tige). Résultat en svg: ![]() Poussée en escaliers à cause des points d’impact définis dans l’axe. |
documents |