선에서 점을 찾으려면 어떻게합니까?


11

두 점 (A, B)과 길이 d가 있습니다. 포인트 C를 어떻게 찾을 수 있습니까?

예

답변:


26

벡터를 계산 V에서 AB, 그것을 정상화.

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

벡터는 정규화되기 때문에, 하나의 길이를 갖는 것이며, 그 방향 지시한다 B상대적인를 A. 그런 다음 벡터를 스케일링 d하면 변위가 A에서C

V' = d * V

간단히 추가 A하여 산출 할 수 있습니다 C.

C = V' + A

btw : 저에게 그런 것들에 대해 배울 수있는 책을 추천 해 줄 수 있습니까? :)
eempee



1
이 질문을보십시오 : gamedev.stackexchange.com/questions/1210/…

그러나 이것은 광선 교차 알고리즘의 마지막 몇 단계입니다. 교차점이 광선을 따라 얼마나 멀리 있는지 알아 낸 다음 geomalgorithms.com/a05-_intersect-1.html#Plane-Intersections
jhocking

1

d가 길이가 아닌 비율 인 경우, 예를 들어 0.5가 A와 B와 같은 거리에 놓으면 다음을 수행하고 정규화를 피할 수 있습니다.

C = A * (1 - ratio) + B * ratio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.