2012-05-16 2 views
3

Ce que je suis en train de réaliser:Génération géométrie de la route triangulé à partir d'un graphique

Jetez un oeil à l'image ci-dessous from this paper

polygonisation

Il prend un graphique de la route qui est probablement représenté comme des segments/jonctions, donnant la largeur des lignes (appelez-le comme vous voulez, balayant, épaississant) et générant ensuite une géométrie triangulée pour les routes.

Pourquoi je pose cette question:

Cette opération semble être une chose assez standard à faire, mais je ne peux pas les documents qui traitent directement avec la façon de le faire. La plupart des articles sur la génération de villes SIG/procédure se concentrent sur la génération du graphe de route lui-même (par exemple créer des topologies intéressantes), mais l'étape consistant à prendre les données de graphe et générer des triangles/UV est toujours

Voici a really nice video of complex road intersections avec de jolies textures et de belles jonctions. C'est le niveau de qualité que je souhaiterais atteindre, mais un pas en avant vers ce résultat serait plus que acceptable pour moi. Voici another video montrant la création interactive de graphique de route avec une visualisation 3d.

Il y a un papier pour aller avec cette vidéo mais rien est dit au sujet de la stratégie de triangulation :(

J'ai ma propre approche pour essayer c'est trop long de détailler ici, mais je mettre en œuvre beaucoup mieux une solution existante/algorithme si l'on existe, comme ce sera mieux que tout ce que je fais cuire dans les prochaines semaines.

quelqu'un peut-il me diriger dans la bonne direction?

Merci.

Répondre

2

Qu'est-ce que vous cherchez est le polygone décalé pour chacune des régions délimitées par des routes. Si toutes ces régions sont convexes, c'est un calcul facile. Si certains sont non convexes, alors c'est plus difficile, mais toujours bien étudié. Vous pouvez trouver des liens sur Wikipedia sous straight skeleton, ou ici sur StackOverflow sous "An algorithm for inflating/deflating (offsetting, buffering) polygons".

+0

Merci pour la réponse. Si vous dites que je devrais opérer sur les polygones délimités par les routes plutôt que par les lignes de route, comment cela fonctionnerait-il lorsque les largeurs de route varient d'une route à l'autre ou qu'il n'y a pas une «île» complète à utiliser? –

+0

Cela ne fonctionnerait pas bien pour des largeurs de route variables; tu as raison. Pour cela, vous devriez vous concentrer sur les routes à la place. Cultivez chacun (comme compenser une chaîne polygonale), en formant un polygone. Puis union les polygones raod. –

+0

J'ai envoyé un courriel à Peter Wonka (http://peterwonka.net/) et il m'a envoyé un excellent papier. Je verrai s'il est acceptable de partager et de télécharger quelque part, car c'est la meilleure ressource que j'ai vue, mais elle n'est pas accessible au public sur Internet, d'après ce que je peux voir. –

Questions connexes