Accueil > Forum > > > > Distance entre 2 points
Distance entre 2 points
vendredi 16 mars 2007 à 23:00:53 |
Distance entre 2 points

dthuler
|
Bonjour, Je cherche la distance entre 2 points définis par les coordonnées cartésiennes. Pour ce faire, j'utilise la formule suivante : Sqr((Longi - !CoordX) ^ 2 + (Latit - !CoordY) ^ 2) Comme c'est dans une itération (une boucle quoi), vous aurez vite compris que ce n'est pas ce que l'on peut appeler "optimisé"... Quelqu'un sait-il si on peut faire (beaucoup) mieux ? Et question subsidiaire; ce serait cool si cette solution fonctionne avec la prochaine version contenant les coordonnées 3D... Merci pour votre aide... ~~ [i]Brainiax[/i] ~~ [8D] ~~ [i]Brainiax[/i] ~~ [8D]
|
|
vendredi 16 mars 2007 à 23:28:52 |
Re : Distance entre 2 points

Gobillot
|
pas mieux Sqr est assez rapide
Sqr((Longi - CoordX) ^ 2 + (Latit - CoordY) ^ 2 + (Azimut - CoordZ) ^ 2)
Dim i As Long Dim j As Long Dim Lx As Single Dim Ly As Single Dim d As Double Dim x As Single Dim y As Single Dim Tp As Long Lx = Line1.x2 - Line1.x1 Ly = Line1.Y2 - Line1.Y1 Tp = GetTickCount For i = 1 To 1000000 d = Sqr(Lx * Lx + Ly * Ly) Next Tp = GetTickCount - Tp MsgBox "temps=" & Tp MsgBox "distance=" & d Tp = GetTickCount For i = 1 To 1000000 x = Lx * Lx + Ly * Ly CopyMemory j, x, 4& j = &H5F375A86 - j / 2 CopyMemory y, j, 4& d = y * x d = (d + x / d) / 2 Next Tp = GetTickCount - Tp MsgBox "temps=" & Tp MsgBox "distance=" & d
Daniel
|
|
samedi 17 mars 2007 à 08:50:11 |
Re : Distance entre 2 points

jmfmarques
|
Bonjour, Il va bien falloir extraire la recine carrée d'une somme de 2 carrés (c'est inévitable).
2 possibilités alors : 1) utiliser le passage à la puissance 2 avec ^2 pour chaque côté puis utiliser SQR ou 1/2 pour extraire la racine carrée desde la somme des deux carrés obtenus (celle déjà mise en oeuvre ici) 2) travailler avec les fonctions Log et Exp (le log du carré d'un nombre est = 2 * le log de ce nombre et appliguer ensuite Exp au log ainsi obtenu)
Franchement : je ne vois pas le temps qui serait ainsi gagné, sauf si Windows possède déja en mémoire une table des logarithmes, ce qui supprimerait un calcul (remplacé par une lecture).
Voilà ....
|
|
samedi 17 mars 2007 à 09:11:48 |
Re : Distance entre 2 points

jmfmarques
|
Euh...(je vais mal, ce matin, moi... en additionnant des logs !...  ) Correction : on ne pourrait "grignoter" que pour l'extraction de la racine carrée de la somme des carrés .. Private Sub Command3_Click() a = 2 b = 5 n = a ^ 2 + b ^ 2 MsgBox Sqr(n) & " " & Exp(Log(n) / 2) ' égalité des 2 résultats) End Sub
|
|
samedi 17 mars 2007 à 12:00:16 |
Re : Distance entre 2 points

Julien237
|
Salut, Attention, en VB.Net (et je crois me rapeller que c'est pareil en VB6) le symbole exposant ^ ne fais pas la différence d'algorithme pour faire ^2 ou ^1354.354135 et donc le temps de faire a^2 est de l'ordre de 100 fois plus lent que a*a. Sinon pour ce qui est de la racine, regarde si tu ne peux pas utiliser la distance au carrée, ou la valeur absolue de la somme de la différence des composantes s'il s'agit uniquement de comparaisons. (En effet si a est plus loin de b que c nous avons dist(a,c)>dist(b,c) et donc forcément dist(a,c)^2>dist(b,c)^2 ou encore |a-c|>|b-c|)
Julien.
|
|
Cette discussion est classée dans : points, 8d, distance, coordonnées, brainiax
Répondre à ce message
Sujets en rapport avec ce message
Boucle pour avoir tous les points d'une ligne [ par Elektordi ]
J'ai un problème plus logique/mathématique que de prog, mais voila:j'ai 4 vars (int) qui sont xa, ya, xb, yb => les coordonnées de deux points sur un
Calcul de distance entre 2 points géodésiques [ par fred2355 ]
Bonjour,Qui aurait une routine qui permet de calculer la distance entre deux points géodésiques en degré, minute, seconde.? Et l'azimut entre ces deux
créer un dessin à parptir de coordonnées de points dans Excel [ par fofone ]
Salut !J'ai des coordonnées de points (x,y,z) dans une feuille excel et j'aimerais affichier ces points et les relier par des droites ...Est-ce possib
Coordonnées d'un point d'un graphique Microsoft Graph 2000 [ par livan128 ]
Bonjour, j'ai fait des graphiques de synthèse (sur 200 moteurs) en nuage de points à l'aide de Microsoft Graph 2000 et mon maître de stage m'a demandé
graphisme-mathématique nuage de points en coordonnées x,y [ par filou26 ]
bonsoir à tousje récupère dans un picture box en millimètres des points mathématiques en coordonnées axiales (x,y) et je zoome en faisantpicture.sca
fichier dxf [ par lolowilou69 ]
BonjourJ'utilise un logiciel qui s'appel autocad qui enregistre les dessins que je fait dessus en format dxf. Dans autocad j'ai créer une macro qui me
réalisation d un programme de transport de torseur [ par kenzaaix ]
Je souhaite réaliser un programme de transport de torseurobjectif du travail: le code réalisé doit permettre de transporter un torseur donné d'un poin
spline cubique [ par fabrice2205 ]
Bonjour,j'aurais besoin d'un peu d'aide pour réaliser une interpolation par splines cubique 2d; j'ai un fichier excel où se trouve dans la première co
Courbe à partir de coordonnées avec MSCHART [ par briwax ]
Salut à tous,voilà mon problème : je dispose d'une série de coordonées (x,y) représentant évidemment des points et j'aimerais tout simplement afficher
CATIA V5 export des coordonnées de points [ par bonnetc ]
Bonjour, Je cherche a exporter les coordonnées géométriques de points nommés J’arrive a exporter ces coordonnées dans le repère de leurs parts respec
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|