Je développe actuellement une application qui crée des polygones à partir de lignes et je rencontre un petit problème:Comment calculer des points de polygone à partir d'une simple ligne pour une largeur spécifique?
J'ai un ensemble de points, représentant une ligne. Je voudrais créer un polygone qui affiche la ligne avec une largeur spécifique (par exemple pour une rue). J'ai plusieurs idées pour calculer les points du polygone extérieur, mais je pense qu'ils sont trop compliqués ...
Ma meilleure idée était celle illustrée ci-dessous: Chaque point de la ligne doit être projeté à au moins deux points: Les deux les points doivent être à 90 ° du segment de droite suivant et avoir une distance égale à la moitié de la largeur de polygone préférée.
Cela fonctionne bien, comme vous pouvez le voir à la fin et les points de départ du polygone photo. Maintenant, la partie compliquée: Avec cette méthode, dans un coin, chaque point obtient quatre points. Mais ces points ne sont pas corrects pour le polygone externe, car ils sont dans la forme. Les lignes ont intersecté et créé un polygone laid.
Comment trouver les bons points pour un tel polygone? Je pense que ma méthode est beaucoup trop compliquée pour résoudre ce problème.
Quelqu'un peut-il m'aider avec ce problème (propably très commun)?
Info: J'ai marqué cela avec openstreetmap
parce que le rendu comme Mapnik a aussi ce problème.
Wow, merci pour votre réponse! C'est agréable de voir un développeur d'un programme que vous utilisez. Vous faites un excellent travail avec Maperitive! L'algorithme que vous me montrez est très complexe ... Je pense que j'ai besoin de cela, cependant. Je vais regarder dedans! – guerda