From 49007da5291dc4daabbdec88d89d2f7907600924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Mon, 24 Oct 2011 10:37:39 +0200 Subject: [PATCH] =?UTF-8?q?Description=20de=20l'algorithme=20de=20d=C3=A9c?= =?UTF-8?q?oupage=20des=20polygones.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roads.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/roads.md b/roads.md index a7dfbd0..a6db3b3 100644 --- a/roads.md +++ b/roads.md @@ -180,3 +180,18 @@ Représentation simpliste des segments et routes origine suivant dans le sens des aiguilles d'une montre. * Dans chaque segment, avoir un pointeur vers le segment de même extrémité suivant dans le sens des aiguilles d'une montre. + +Algorithme de maintien des polygones +==================================== + +* Partir du périmètre du polygone de base. +* Lorsqu'on ajoute un segment partant d'un point de ce périmètre, + étendre ce périmètre pour qu'il fasse l'aller-retour sur le segment. +* Lorsqu'on ajoute un segment reliant deux points existants du + périmètre, séparer le périmètre en deux : le périmètre passant par + le côté gauche du segment, et celui passant par le côté droit du + segment. +* TODO : gestion possible des « trous » ? (càd quand on ajoute un + segment qui n'est pas relié au périmètre). Serait pratique pour + pouvoir ajouter certains gros bâtiments avant la création des + routes.