0 votes

Trouver les coordonnées de début et de fin de la ligne perpendiculaire calculée à partir des coordonnées de début et de fin de la ligne de base.

En utilisant les valeurs suivantes des coordonnées des points de départ et d'arrivée d'une ligne de base :

X1 = 5296823.36 Y1 = 2542131.23

X2 = 5311334.21 Y2 = 2548768.66

Je voudrais calculer les coordonnées de début et de fin d'une ligne pendulaire qui coupe la ligne de base au milieu. Cette ligne perpendiculaire d'intersection doit s'étendre à une distance donnée de chaque côté de la ligne de base (par exemple Dist=100).

Je serais très reconnaissant si quelqu'un pouvait me donner des conseils en utilisant des formules simples qui peuvent être transférées vers Excel ou VB.

Merci d'avance.

2voto

Amos Points 878

Étapes à suivre :

Trouver le point médian des deux coordonnées (xmid, ymid)

Trouvez la pente du segment de droite joignant les deux coordonnées (appelez-le m).

La pente d'une ligne perpendiculaire à cette ligne est de -1/m.

Utilisez ce nouveau gradient et les coordonnées du point médian (xmid, ymid) pour trouver l'équation de la droite perpendiculaire (remplacez xmid, ymid et -1/m par l'équation d'une droite), appelée y = -1x/m + k

Imaginez un triangle rectangle de xmid, ymid à votre point cible (r unités le long de la ligne perpendiculaire est l'hypoténuse). La composante x sera de X unités en travers, la composante y sera de (-1X/m + k) unités en haut.

Résoudre

r^2 = X^2 + (-1X/m + k)^2

pour trouver X. Où vous avez déjà trouvé r, m et k dans les étapes précédentes.

Substituez les valeurs +ve et -ve de cette valeur dans y = -1x/m + k pour obtenir les coordonnées y de vos points d'extrémité, et Bob est votre oncle.

Il devrait être relativement simple de traduire ces données dans n'importe quel langage de programmation en très peu de temps, mais il vous faudra peut-être comprendre les mathématiques sous-jacentes pour y parvenir, et en tant que professeur de mathématiques, je ne vais pas faire vos devoirs à votre place.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X