Como encontro um ponto em uma linha?

11

Eu tenho dois pontos (A, B) e o comprimento de d. Como posso encontrar o ponto C?

exemplo

eempee
fonte

Respostas:

26

Calcule um vetor Vde Apara Be normalize-o.

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

Como o vetor é normalizado, ele terá um comprimento de um e indicará a direção de em Brelação a A. Se você escalar o vetor d, terá o deslocamento de AparaC

V' = d * V

que você pode simplesmente adicionar Aao rendimento C:

C = V' + A
sam hocevar
fonte
btw: alguém poderia me recomendar um livro onde eu possa aprender sobre coisas assim? :)
eempee
Não leu este, mas eu tenho dito que também é muito bom amazon.com/Mathematics-Programming-Computer-Graphics-Second/dp/...
Ricky AH
Entre estes são os últimos passos nos algoritmos de interseção de raios: você descobre a que distância está o ponto de interseção do raio e obtém as coordenadas do ponto geomalgorithms.com/a05-_intersect-1.html#Plane-Intersections
jhocking
1

Caso seu d seja uma razão em vez de um comprimento, por exemplo, 0,5 coloca-o na mesma distância de A e B, você pode fazer o seguinte e evitar uma normalização:

C = A * (1 - ratio) + B * ratio
Mussi
fonte