commit f9f2218dd89b62a7d0af2b95f9a9712934e4ed1f
parent aaaa71388914fd65446bd6501a17a632519d0062
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Tue, 18 Oct 2011 09:57:59 +0200
Quelques modifs sur les algos.
Diffstat:
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/roads.md b/roads.md
@@ -106,7 +106,7 @@ routes.
Points proches
--------------
-Énumérer les points et lignes proches d'un point donné.
+Énumérer les points proches d'un point donné.
Pour cela, faire un quadtree (un arbre avec 4 fils à chaque noeud)
représentant des carrés composés de quatre carrés, et stocker dans
@@ -115,6 +115,11 @@ noeuds feuille listent les points qu'ils contiennent. Quand on dépasse
un certain seuil pour le nombre de points contenus dans un noeud
feuille, on le subdivise.
+Lignes proches
+--------------
+
+Énumérer les lignes proches d'un point donné.
+
Quand on ajoute un point au graphe des routes, on l'insère à la bonne
position dans le quadtree.
@@ -122,9 +127,19 @@ Quand on trace un segment entre deux points, on indique sa présence
dans tous les noeuds qu'il traverse. *TODO* : cela coûte cher en temps
et en espace !
+Autre possibilité : forcer les routes à être sur le bord de polygones
+(comme les rivières). Quand on veut tracer une route quelque part, on
+subdivise le polygone contenant pour que le nouveau point soit sommet
+d'au moins un des polygones, et la route côté de ce polygone.
+
Intérieur d'un polygone
--------------------
Pouvoir sélectionner aléatoirement des points à l'intérieur d'un
polygone (pour pouvoir faire les centres des réseaux concentriques par
exemple).
+
+Angles et vecteurs
+------------------
+
+Pouvoir ajouter un vecteur à un point, appliquer une rotation sur le vecteur…