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

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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.