commit b04126a20840b04e0ab13db5d0719898a0322e8c
parent c963a9ed9658d0aed19f2a3307a023939111cb9b
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Mon, 24 Oct 2011 14:51:56 +0200
Ajout de l'algo "champs de force" que j'avais oublié de commit.
Diffstat:
1 file changed, 23 insertions(+), 0 deletions(-)
diff --git a/roads.md b/roads.md
@@ -154,3 +154,26 @@ coordonnées dessus, plus une fonction de densité de points (taille des
bâtiments). Dé-transformer la fonction de densité de points,
l'utiliser pour générer la grille parfaite avec des densités
différentes, puis transformer cette grille.
+
+Algo champs de force
+====================
+
+* On choisit un certain nombre de champs de force
+ sur le quartier à subdiviser (centre, rayon,
+ type = fonction(x,y,vecteur en cours)).
+* On a un champ de force par défaut qui s'applique
+ sur toute la zone.
+* On part d'un point avec un vecteur aléatoire.
+* On demande à fonction(x,y,vecteur) la direction
+ à prendre et la longueur à suivre. La fonction
+ peut renvoyer plusieurs directions/longueurs à
+ prendre pour faire un split.
+* Quand le segment donné par fonction s'intersecte
+ avec un autre segment, on s'arrête là, et quand
+ il y a un point suffisemment proche, on peut s'y
+ raccrocher avec une certaine probabilité.
+* Quand on a plusieurs routes en cours de
+ construction en parallèle (split), on les met
+ dans une file d'attente round-robin, et on sort
+ à chaque fois la tête de liste pour la faire
+ avancer, puis on la remet à la fin.