Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Thu 13 June 2013 23:00

JFBOIZET
Participant actif
Lieu: FREJUS
Date d'inscription: 23 Jul 2012
Messages: 145

Détemination du Z d'un point M connu en XY appartenant à un triangle3D

Bonjour

Ayant réalisé la triangulation de DELAUNAY sur un semis de points TN en xyz,

Je recherche la méthode mathématique pour définir l''altitude d'un point I connu en XY appartenant à un triangle 3D (donc un plan 3d) dont les 3 points A B et C sont connus en xyz.

Sachant que les 3 points du triangle A B et C sont définis en X Y Z

Que le point I est défini en XY

Déterminer le Z du point M à partir des données connues….

Cela afin de programmer la détermination de l’altitude d’un point dans un triangle…

soit Z du point I = fonction de { A xyz B xyz C xyz et I xy }

vous remerciant de votre aide

Cordialement

Jean François BOIZET

Dernière modification par JFBOIZET (Thu 13 June 2013 23:03)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Fri 14 June 2013 08:47

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: Détemination du Z d'un point M connu en XY appartenant à un triangle3D

pourquoi ne pas avoir choisi une méthode d'interpolation classique, par exemple de distance inverse (inverse distance weighted)?


geodata au cerema et petits billets en géomatique

Hors ligne

 

#3 Fri 14 June 2013 09:29

Renaud
Membre
Lieu: Ploemeur (56)
Date d'inscription: 9 Mar 2006
Messages: 2315

Re: Détemination du Z d'un point M connu en XY appartenant à un triangle3D

Bonjour,


Il doit exister plus rapide, mais on peut repartir des équations :

Le triangle est dans un plan. Le plan a une équation de la forme "Z = aX + bY + c"
Il faut donc déterminer les équations donnant a, b et c en fonctions des (X,Y) de A, B et C
On obtient alors Z=f(A, B, C, I)

Rien de très compliqué, mais l'équation finale est un peu longue

Si personne ne propose mieux, je vérifierai mes calculs avant de les poster.


Renaud Mouche

Hors ligne

 

#4 Fri 14 June 2013 10:05

Bapt
Participant occasionnel
Date d'inscription: 6 Jan 2011
Messages: 29

Re: Détemination du Z d'un point M connu en XY appartenant à un triangle3D

Bonjour,

Réponse courte, sur ArcGIS: http://resources.arcgis.com/fr/help/mai … 0077000000
L'outil propose deux méthodes d'interpolation: linéaire (de base, qui correspondrait sauf erreur à la réponse de Renaud) ou "voisins naturels", qui aura l'intérêt de donner un poids aux surfaces de vos  "triangles 3D". Explication ESRI ici: http://help.arcgis.com/fr/arcgisdesktop … 003r000000

Mais voir aussi la réponse de Baobazz! En repartant de votre semis de points, vous pouvez créer directement un MNT raster, avec pour ça plusieurs méthodes d'interpolation possibles. Ce serait j'imagine l'option la plus naturelle si vous travaillez avec du libre (GRASS GDAL, R...). Du coup, IDW est la plus classique, mais le champ des possibles est large (krigeage...) et il n'y a pas forcément UNE méthode mathématique qui s'impose aux autres comme la bonne. Voir ici pour une discussion similaire: http://gis.stackexchange.com/questions/ … -csv-files.

Bon courage!

Hors ligne

 

#5 Fri 14 June 2013 12:57

JFBOIZET
Participant actif
Lieu: FREJUS
Date d'inscription: 23 Jul 2012
Messages: 145

Re: Détemination du Z d'un point M connu en XY appartenant à un triangle3D

Bonjour Renaud Mouche,

Merci pour votre réponse aussi je suis preneur de l'équation finale du type Z du pt I =f(Axyz, Bxyz, Cxyz, Ixy).

Bien cordialement

Jean François BOIZET

Dernière modification par JFBOIZET (Fri 14 June 2013 13:40)

Hors ligne

 

#6 Fri 14 June 2013 14:06

Yves Egels
Participant assidu
Lieu: Paris
Date d'inscription: 29 Sep 2011
Messages: 252
Site web

Re: Détemination du Z d'un point M connu en XY appartenant à un triangle3D

Pour ceux qui ont des souvenirs de géométrie vectorielle:
Point donné I, triangle ABC
On calcule les produits vectoriels suivants (dans le plan, c'est à dire x1y2-x2y1)
V1 = IB^IC
V2 = IC^IA
V3 = IA^IB
D = V1+V2+V3
Si D est nul, le triangle est dégénéré (en fait, D est le double de la surface du triangle), sinon :
ZI = (V1*ZA+V2*ZB+V3*ZC)/D

cool

En prime, le code Pascal de la fonction correspondante dans le logiciel Cumulus que j'ai développé pour le traitement de scans laser :

Function TDelaunay.InterpoleZ(var P : TPointDelaunay) : boolean;
var
   t : integer;
   A,B,C,D : extended;
begin
   T := QuelTriangle(P);
   if T < 0 then begin
      InterpoleZ := false;
      P.Z := 0
   end
   else with triangle[T],ListePoint do begin
      InterpoleZ :=  true;
      A := PVect(P,Sommet[TrSommet[1]],Sommet[TrSommet[2]]);
      B := PVect(P,Sommet[TrSommet[2]],Sommet[TrSommet[0]]);
      C := PVect(P,Sommet[TrSommet[0]],Sommet[TrSommet[1]]);
      D := A+B+C;
      if D <> 0 then
         P.Z := (A*Sommet[TrSommet[0]].Z+
                        B*Sommet[TrSommet[1]].Z+
                        C*Sommet[TrSommet[2]].Z)/D
      else P.Z := -1;
   end;
end;

Dernière modification par Yves Egels (Fri 14 June 2013 14:16)


Ingénieur géographe honoraire
École nationale des sciences géographiques
Société française de photogrammétrie et télédétection

Hors ligne

 

#7 Fri 14 June 2013 17:25

JFBOIZET
Participant actif
Lieu: FREJUS
Date d'inscription: 23 Jul 2012
Messages: 145

Re: Détemination du Z d'un point M connu en XY appartenant à un triangle3D

Bonjour Yves Egels


vous indiquer
ZI = (V1*ZA+V2*ZB+V3*ZC)/D
sans indiquer V1=? V2=? et V3=? au sens de programmation la touche ^ n'est pas en langage C ou ASL APIC ou encore python ESRI !

Or
l' équation finale est du type Z du pt I =f(Axyz, Bxyz, Cxyz, Ixy).

Merci de bien vouloir préciser votre réponse au sens mathématique programmable.

Merci pour la prime en Pascal mais comme nombreux le Pascal n'est pas utilisé par les éditeurs de SIG (Star-Apic, ESRI, Bentley, etc..)
En revanche j'ai eu fait du Pascal et aussi Turbo Pascal mais dans les années 80.... sourire


Bien cordialement

JF BOIZET

Dernière modification par JFBOIZET (Fri 14 June 2013 17:32)

Hors ligne

 

#8 Fri 14 June 2013 17:45

Yves Egels
Participant assidu
Lieu: Paris
Date d'inscription: 29 Sep 2011
Messages: 252
Site web

Re: Détemination du Z d'un point M connu en XY appartenant à un triangle3D

Mais si, c'est indiqué au début de ma réponse, ce sont des produits vectoriels en dimension 2.
https://fr.wikipedia.org/wiki/Produit_vectoriel
J'aurai dû écrire en Latex, mais c'est trop long...
en développant complètement :
V1= IB^IC se calcule le la façon suivante :

V1 = (XB-XI)(YC-YI) - (XC-XI)(YB-YI) idem mutatis mutandis pour V2 et V3


Ingénieur géographe honoraire
École nationale des sciences géographiques
Société française de photogrammétrie et télédétection

Hors ligne

 

Pied de page des forums

Powered by FluxBB