![]() |
| |||||||
| S'inscrire | FAQ | Membres | Calendrier | Recherche | Messages du jour | Marquer les forums comme lus |
![]() |
| LinkBack | Outils de la discussion | Modes d'affichage |
| |||
| "Thierry B." <tth***prout.stex.invalid> a écrit dans le message de news: qs7gf5-o2e.ln1***prout.stex... > Bonjour. > > Je souhaire interpoler un champ d'altitude. Et je vais essayer de > m'expliquer... > > Sur une maille carrée x/y, j'ai des points répartis d'une façon > quelconque, contenant chacun une donnée d'altitude. Pour donner > une idée, en x et en y, j'ai une amplitude d'environ 3000, et mes > altitudes vont de 0 à 32768. > > Maintenant, je voudrais reconstruire la surface totale, un peu > comme un modèle numérique de terrain (aka MNT). Je suis donc à > la recherche d'algos, de documentations, de références sur les > diverses méthodes possibles, qu'elles aient une justification > scientifique ou non, d'ailleurs. > > Même quelques suggestions de mots-clef pour googler un peu me > seront utiles. > > Le but est de reprendre un peu des trucs que je fais pour POV, > que j'explique un peu là: http://tontonth.free.fr/pov/hf/ et > sur lesquels j'aimerais aller plus loin. > > Merci de votre attention; tTh. une première étape pourrait être de calculer le maillage fait de tous les triangles recouvrant ton champ d'altitudes (triangulation de Delaunay), ensuite une interpolution très basique est tout simplement l'interpolation linéaire (tu calcules l'altitude pour chaque point qui t'intéresse d'un des triangles ABC comme étant alpha.AB + beta.AC + A). une autre solution pour l'interpolation est d'utiliser une méthode de lissage (c'est à dire qui te donne une distance à la surface incluant le triangle proche de 0 vers les arêtes, et qui tend à donner l'impression de continuité avec les triangles adjacents vers le centre du triangle ABC), j'imagine que les courbes splines/bézier ou quelque chose proche d'un lissage de phong pourraient donner une base. on pourrait aussi par exemple sélectionner à partir du milieu de chaque côté AB, BC, AC un vecteur correspondant au plan contenant la bissectrice de l'angle opposé et inclu dans le plan du triangle adjacent, puis utiliser un mix d'avec les deux autres vecteurs ainsi trouvés avec une pondération, assurant que deux triangles adjacents sur une arrête génère bien une surface de continuité C1 (dérivée continue), pour éviter une impression de cassure aux arêtes. enfin ce sont juste des idées Bonne semaine, Armel |
| | ||||
| ||||
| |
| |||
| "Armel" <armelasselin***hotmail.com> a écrit dans le message de news: 48270e38$0$866$ba4acef3***news.orange.fr... > > "Thierry B." <tth***prout.stex.invalid> a écrit dans le message de news: > qs7gf5-o2e.ln1***prout.stex... >> Bonjour. >> >> Je souhaire interpoler un champ d'altitude. Et je vais essayer de >> m'expliquer... >> >> Sur une maille carrée x/y, j'ai des points répartis d'une façon >> quelconque, contenant chacun une donnée d'altitude. Pour donner >> une idée, en x et en y, j'ai une amplitude d'environ 3000, et mes >> altitudes vont de 0 à 32768. euh, je me suis peut-être emballé, qu'est-ce qui est quelconque? - les triplets X,Y,Z ? (i.e. des points quelconques en X,Y pour lesquels une altitude est spécifiée) - uniquement les Z, et vous disposez d'une matrice en faite qui donne réguilèrement pour chaque X et Y une altitude Z. >> Merci de votre attention; tTh. > une première étape pourrait être de calculer le maillage fait de tous les > triangles recouvrant ton champ d'altitudes (triangulation de Delaunay), > ensuite une interpolution très basique est tout simplement l'interpolation > linéaire (tu calcules l'altitude pour chaque point qui t'intéresse d'un > des triangles ABC comme étant alpha.AB + beta.AC + A). une autre solution > pour l'interpolation est d'utiliser une méthode de lissage (c'est à dire > qui te donne une distance à la surface incluant le triangle proche de 0 > vers les arêtes, et qui tend à donner l'impression de continuité avec les > triangles adjacents vers le centre du triangle ABC), j'imagine que les > courbes splines/bézier ou quelque chose proche d'un lissage de phong > pourraient donner une base. > on pourrait aussi par exemple sélectionner à partir du milieu de chaque > côté AB, BC, AC un vecteur correspondant au plan contenant la bissectrice > de l'angle opposé et inclu dans le plan du triangle adjacent, puis > utiliser un mix d'avec les deux autres vecteurs ainsi trouvés avec une > pondération, assurant que deux triangles adjacents sur une arrête génère > bien une surface de continuité C1 (dérivée continue), pour éviter une > impression de cassure aux arêtes. tout cela s'applique bien au cas "totalement quelconque"... par contre, si vous avez une matrice d'altitude, cherchez autour des "quadrangles" (quadrilatères en anglais), j'ai vu des algos basés la dessus (soit disant plus efficace d'ailleurs que les algo utilisant 2 triangles à chaque fois pour modéliser une maille). cordialement Armel |
| |
| |
![]() |
| Tags: daltitudequot, interpoler, quotchamp |
| Outils de la discussion | |
| Modes d'affichage | |
| |
| ||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| =([TITRE]) & " " & ([Nom1]) &" "& ([SOCIETE]) (Si champ null comment faire ?) | Cinémas Décavision | Newsgroup microsoft.public.fr.access | 9 | 02/07/2008 22h01 |
| Outlook 2000 - Afficher le champ "de" dans les nouveaux messages | Sebastien | Newsgroup microsoft.public.fr.outlook | 3 | 09/02/2008 08h52 |
| commande top et champ "sy" pour programme parallele | Matlerouge | Newsgroup fr.comp.os.linux.configuration | 0 | 10/01/2008 23h02 |
| Ajout automatique du champ "Taille" dans Outlook | Damien | Newsgroup microsoft.public.fr.exchange.applications | 3 | 17/02/2006 12h16 |
| [PostScript] Champ correspondant à "Sujet" des fichiers PDF | Zyrtox | Newsgroup fr.comp.lang.postscript | 10 | 31/01/2005 08h35 |