hélàs il n'y a pas grand chose comme ressources.. et je ne sais pas trop comment identifier les polygones délimités par les arcs. Il y a des logiciels pour faire ça, comme ArcGIS ou Géoconcept mais on ne peut pas vraiment baser un jeu dessus, ce sont des bases de données géo.
à la limite tu oublies l'utilisation des arcs pour conceptualiser la chose : tu définis simplement tous tes points (champs X et Y en base de données) et tu identifies les polygones délimités par ces points (table de relation polygone/liste de points ordonnés).
Quand tu crées un nouveau point, il doit forcément venir s'intercaler entre deux autres points dans les listes ordonnées de tous les polygones concernés. Pour scinder un polygone en deux, tu commences donc par créer un ou deux nouveaux points. (tu peux en créer un seul et réutiliser un autre point existant à condition qu'il ne soit pas un des deux points entre lesquels tu intercales le premier. Ensuite, tu modifies la liste ordonnée de points du polygone à scinder en coupant les points qui se trouvent entre les deux nouveaux points. Le nouveau polygone issu de la scission est simple à définir : le 1er nouveau point, les points qui ont été coupés, et le second nouveau point.
Voilà l'idée, je sais pas si c'est très clair. ça doit être assez lourd à organiser en base de données parce que potentiellement le même point va se trouver dans de nombreuses listes. Malheureusement je ne connais pas de librairies pour faire ça mais si tu abstrais le chargement et la sauvegarde des données, la logique doit pouvoir s'implémenter en une centaine de lignes.
(edit: attention, si ton polygone est concave, et que le nouvel arc dessiné par les deux nouveaux points se trouve en dehors du polygone, alors c'est un autre polygone qui sera scindé -- sauf que tu n'auras pas prévu d'éditer la liste de points de cet autre polygone. Il faut donc penser à vérifier ça et c'est tout de suite beaucoup plus chiant & + de code)
Pour les ressources, on trouve pas grand chose sur "arc noeud" sur google. En anglais tu peux chercher "nodes faces edges" mais c'est pas terrible non plus, la plupart des bases de données SIG utilisent plutot des polygones aux bords superposés (tous les points d'angles sont dupliqués) par défaut.
Pour dessiner ça sur une carte, et ben ... à toi de voir puisque tu as tes X et Y pout tous tes points, et comme chaque polygone a sa liste de points ordonnés, il suffit de donner les points dans ce même ordre à ta lib qui dessine et ça devrait faire des chocapics.
à la limite tu oublies l'utilisation des arcs pour conceptualiser la chose : tu définis simplement tous tes points (champs X et Y en base de données) et tu identifies les polygones délimités par ces points (table de relation polygone/liste de points ordonnés).
Quand tu crées un nouveau point, il doit forcément venir s'intercaler entre deux autres points dans les listes ordonnées de tous les polygones concernés. Pour scinder un polygone en deux, tu commences donc par créer un ou deux nouveaux points. (tu peux en créer un seul et réutiliser un autre point existant à condition qu'il ne soit pas un des deux points entre lesquels tu intercales le premier. Ensuite, tu modifies la liste ordonnée de points du polygone à scinder en coupant les points qui se trouvent entre les deux nouveaux points. Le nouveau polygone issu de la scission est simple à définir : le 1er nouveau point, les points qui ont été coupés, et le second nouveau point.
Voilà l'idée, je sais pas si c'est très clair. ça doit être assez lourd à organiser en base de données parce que potentiellement le même point va se trouver dans de nombreuses listes. Malheureusement je ne connais pas de librairies pour faire ça mais si tu abstrais le chargement et la sauvegarde des données, la logique doit pouvoir s'implémenter en une centaine de lignes.
(edit: attention, si ton polygone est concave, et que le nouvel arc dessiné par les deux nouveaux points se trouve en dehors du polygone, alors c'est un autre polygone qui sera scindé -- sauf que tu n'auras pas prévu d'éditer la liste de points de cet autre polygone. Il faut donc penser à vérifier ça et c'est tout de suite beaucoup plus chiant & + de code)
Pour les ressources, on trouve pas grand chose sur "arc noeud" sur google. En anglais tu peux chercher "nodes faces edges" mais c'est pas terrible non plus, la plupart des bases de données SIG utilisent plutot des polygones aux bords superposés (tous les points d'angles sont dupliqués) par défaut.
Pour dessiner ça sur une carte, et ben ... à toi de voir puisque tu as tes X et Y pout tous tes points, et comme chaque polygone a sa liste de points ordonnés, il suffit de donner les points dans ce même ordre à ta lib qui dessine et ça devrait faire des chocapics.