2008-12-24 12 views
2

Ceci est ma première question dans ce forum, alors s'il vous plaît gardez avec moi et j'espère que je ne viole aucune règle. Je regarde différentes façons de modéliser des données 3D dispersées comme une fonction quadrillée (sur support xy, z = z (x, y)). Répondant à une autre question, coryan était si gentil que de mentionner la méthode using heat equation to interpolate (approximate) a terrain surface dont j'ai entendu parler et que j'avais hâte d'apprendre, ou même de trouver une implémentation parallèle? Pourrait s'il vous plaît Coryan ou quelqu'un d'autre me diriger vers une telle mise en œuvre, si elle est dans le domaine public, ou au moins pour expliquer un peu plus loin comment cela est fait.interpoler une surface de terrain à partir de données dispersées en utilisant l'équation de la chaleur

Répondre

2

Je ne suis pas sûr des précautions de chauffage, mais la façon dont je résous ce problème est via TIN modelling. Check out Herbert Edelsbrunners livre sur le sujet, Geometry and Topology for Mesh Generation. Je l'aurais en bas à lire absolument. Joeseph O'Rourkes Computational Geometry in C est également très utile, tandis que plus général, il comprend des exemples de travail et fait un livre de cuisine utile.

En termes de code source libre, vérifiez le Code Guru link suivant et jetez un oeil à Paul Bourkes travail.

1

Eh bien, l'article Wikipedia qu'il a pointé est un bon début. Pensez à mettre un glaçon dans un verre de thé chaud: le premier instant, le gradient entre eux est raide:

 
    +----- 
    | 
-----+ 

mais la chaleur traverse la pente en proportion du gradient, il commence à changer rapidement, puis change plus lentement au fil du temps. (C'est pourquoi c'est une équation différentielle partielle parabolique, le taux de changement change, donc vous avez ∂ ² t là.) Donc, vous évaluez les points, en ajustant le terrain à chaque étape, pour lisser le processus. Le faire en parallèle est simplement que vous pouvez remettre chaque point de grille et ses valeurs adjacentes à un processus séparé pour chaque étape; cela ne dépend de rien d'autre.