Comment trouver un point sur une ligne?


11

J'ai deux points (A, B) et la longueur de d. Comment trouver le point C?

exemple

Réponses:


26

Calculez un vecteur Vde Aà Bet normalisez-le.

V = (B - A) / |B - A|

Puisque le vecteur est normalisé, il aura une longueur de un et il indiquera la direction de par Brapport à A. Si vous redimensionnez ensuite le vecteur, dvous aurez le déplacement de AàC

V' = d * V

que vous pouvez simplement ajouter Apour donner C:

C = V' + A

btw: quelqu'un pourrait-il me recommander un livre où je pourrais en apprendre davantage sur des choses comme ça? :)
eempee


Je n'ai pas lu celui-ci, mais on m'a dit que c'était aussi très bien amazon.com/Mathematics-Programming-Computer-Graphics-Second/dp/…
Ricky AH


Voici les deux dernières étapes des algorithmes d'intersection de rayons: vous déterminez à quelle distance le point d'intersection est le long du rayon, puis vous obtenez les coordonnées du point geomalgorithms.com/a05-_intersect-1.html#Plane-Intersections
jhocking

1

Dans le cas où votre d est un rapport au lieu d'une longueur, par exemple 0,5 le place à égale distance de A et B, vous pouvez faire ce qui suit et éviter une normalisation:

C = A * (1 - ratio) + B * ratio
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.