CALCUL DE LA DISTANCE MINIMALE ENTRE UN POINT ET UNE DROITE DANS L'ESPACE - COOR

fireuo Messages postés 55 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 17 août 2006 - 13 déc. 2005 à 14:21
lexsty Messages postés 169 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 18 juin 2017 - 30 janv. 2012 à 22:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35053-calcul-de-la-distance-minimale-entre-un-point-et-une-droite-dans-l-espace-coordonnees-du-point-le-plus-proche-sur-la-droite

lexsty Messages postés 169 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 18 juin 2017
30 janv. 2012 à 22:21
Bonjour, suite à une remarque de Renfield :
Voici l'adresse où l'on peut télécharger la version
installable du programme "Distance point droite":

http://jolopop31.free.fr/JP/VB6/Distance point droite/Point-droite.rar

Extraire les fichiers du .rar
Il faut ensuite lancer l'installation par le setup.exe.
Puis quand l'installation est terminée,
Faire: Démarrer ... Tous les programmes ... Dist point droite ... Distance point droite

A plus
lexsty Messages postés 169 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 18 juin 2017
29 janv. 2012 à 17:46
Bonjour.
Voici l'adresse où l'on peut télécharger la version
installable du programme "Distance point droite":

http://jolopop31.free.fr/JP/VB6/Distance point droite/Point-droite.rar

Extraire les fichiers du .rar
Il faut ensuite lancer l'installation par le setup.exe.
Puis quand l'installation est terminée,
Faire: Démarrer ... Tous les programmes ... projet1 ... projet1

A plus
JP
lexsty Messages postés 169 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 18 juin 2017
8 avril 2006 à 06:40
Bonjour.

Si tu as téléchargé le ZIP (voir un peu plus haut sur cette page),
et si tu l'as décompréssé avec Winzip ou Winrar (par exemple),
Il te faut encore avoir Visual Basic 5 ou 6.
Sinon, essaie de trouver une version d'evaluation de VB mais je pense qu'elle n'est pas gratuite.
Autrement il existe des livres avec des CD permettant de travailler avec VB.
A+
evignola4540 Messages postés 2 Date d'inscription jeudi 6 avril 2006 Statut Membre Dernière intervention 7 avril 2006
7 avril 2006 à 15:35
comment faire pour lire se programme? je doit admettre que je suis un newb ....
evignola4540 Messages postés 2 Date d'inscription jeudi 6 avril 2006 Statut Membre Dernière intervention 7 avril 2006
7 avril 2006 à 15:35
comment faire pour lire se programme? je doit admettre que je suis un newb ....
brunomoraut Messages postés 16 Date d'inscription jeudi 10 novembre 2005 Statut Membre Dernière intervention 17 mai 2011
22 déc. 2005 à 14:04
Je suis d'accord pour les documents explicatifs, celà parait une perte de temps au départ, mais pour des problèmes de 3D assez difficiles, j'ai passé une semaine à écrire les démonstrations mathématiques et les algorhytmes, mais après, en 2h (le temps de la saisir) la routine tournait sans bug... alors que pour la même taille de routine, j'avais mis le double ou le triple de temps en ne fesant pas ce travail préalable.
Et puis celà facilite la création de la notice du logiciel...
lexsty Messages postés 169 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 18 juin 2017
20 déc. 2005 à 06:18
Il est vrai que le calcul matriciel est la base de toute application
3D et apporte des solutions plus simples.
Pour ma part je n'ai pas écarté l'emploi de ce type de calcul.
Mais j'aime bien revenir aux sources en utilisant d'abord le calcul vectoriel et avec une démarche personnelle.
Avant tout programme j'écris des documents explicatifs que je vais intégrer au zip bientôt pour mieux voir la méthode employée.
Tes commentaires sont interressants.
Merci.
brunomoraut Messages postés 16 Date d'inscription jeudi 10 novembre 2005 Statut Membre Dernière intervention 17 mai 2011
19 déc. 2005 à 17:12
Très bon exemple d'application des mathématiques. Pour ma part (je fais de la 3D pour m'amuser) je prends le temps de faire un document qui explique la résolution mathématiques employée.
Pour répondre à la remarque du "programme qui fait tout", pour les résolutions dans l'espace, les gros logiciels utilisent le calcul matriciel.
Il ont donc écrit des routines qui calcules des opérations sur les matrices (additions, produits, déterminant et que sais-je), et si on avance en mathématique, on s'apperçoit que (par exemple) un déplacement d'un point, c'est tous simplement l'addition de la matrice de ses coordonnée, avec la matrice du (vecteur) déplacement.
On trouve sur les sites des grandes écoles, ces résolutions mathématiques, mais c'est dommage que des exemples de petits programmes comme tu l'as fait, ne leur soient pas associées.
Cependant, ce type de programmation à un inconvénient, car on fait beaucoup d'appels à des routines, ce qui ralenti les programmes, et aussi on utilise une routines qui fait un calcul complet, alors que la solution est plus simple, et n'a pas besoin d'utiliser toutes les boucles (ex: déplacement sur l'axe X, il suffit d'ajouter le déplacement à la coordonnées X...)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 déc. 2005 à 20:47
Mais de rien ! Les commentaires sont faits pour çà.
Bonne prog! @+
lexsty Messages postés 169 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 18 juin 2017
15 déc. 2005 à 20:40
Salut.
Faire un programme qui permet de faire plusieurs types de calculs
dans l'Espace avec par exemple des points, des droites, des plans
des cônes, des sphères etc ... c'est intéressant, mais il faut d'abord mettre au point les différents programmes spécifiques avant de les regrouper et il faut prendre le temps
pour cela
Je retiens ta méthode pour le calcul de la distance d'un point à un plan
Merci de tes remarques
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 déc. 2005 à 14:07
Salut.
Voilà la méthode de calcul de la distance d'un point à un plan (dans l'espace).

Il faut un plan carctérisé par:
-son équation ax+by+cz+d=0
-un point A(X,Y,Z)

si le plan est caractérisé par 3 points, alors

1) on a ces 3 points :
A(q,s,m)
B(f,g,h)
C(j,i,l)

2) on vérifie que les 3 points définissent bien 1 plan, en démontrant que les vecteurs AB et BC ne sont pas colinéaires.
Donc si il existe k (réel) tel que (f-q)=k(j-f) and (g-s)=k(i-g) and (h-m)=k(l-h) alors pas de plan ==> exit problème

3) on cherche le veteur N normal au plan, tel que N.AB=0 and N.BC=0 (produits scalaires). On résoud ce système de deux équations, et on obtient le vecteur N de composantes (a,b,c), coefficients de l'équation du plan. On calcule d en sachant que le points A (ou B ou C) appartient au plan, donc qu'il vérifie aq+bs+cm+d=0 ==> on en déduit d

4) la distance est finalement donnée par
D=abs(aX+bY+cZ+d)/sqr(a*a+b*b+c*c)

Très simple, donc. Mais quand même bien plus long et intéressant que de calculer la distance entre 1 droite et 1 point.

Donc tu devrais mettre à jour ton prog et proposer d'autres calculs possibles, parce que là c'est très léger...

Ah oui, au fait, ta déclaration de variables est mauvaise.
Dim d1, d2, d3, m2, xh, yh, zh, dh As Double
ne déclare que dn en Double et tout le reste en Variant
A revoir donc...

@+
fireuo Messages postés 55 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 17 août 2006
13 déc. 2005 à 14:21
Jolie mais j'aimerait savoir ou que je pourait trouver toute les formules (bien expliquer) pour ce qui concerne end 3d : La distance entre un point et une droite (comme toi), distance entre 2 points, longeur d'une droite, etc.. (si y en a d'autre)

Merci bien

EN passant 10 / 10 ;)
Rejoignez-nous