미끄러짐 벡터 ( Sliding Vector )
Programming/Math / 2012. 5. 16. 01:42
미끄러짐 벡터는 충돌시 입사벡터가 입사면을 따라 미끄러지게 하기위해 수평성분만을 남긴 벡터이다.
슬라이딩벡터 S 는 여러가지 방법으로 구할 수 있지만, 여기서는 이전에 설명했던
반사벡터의 과정을 이용하는 방법과, 일반적인 방법을 설명한다.
물론, 그 결과는 완전히 같다.
이전에 설명했던 반사벡터에서, 입사벡터 P 에 n(-P·n) 을 한번 더해주면, 입사면에 투영된 접선벡터(Tangent Vector)를 구할 수 있다고 했다.
Fig. 2 를 보면, 입사벡터의 역벡터 -P 가 n 에 투영된 n(-P·n) 을 이용하여 슬라이딩벡터 S 를 구하고 있다.
그러므로 슬라이딩벡터 S 는
S = P + n(-P·n)
일반적인 방법은, 입사벡터 P 를 n 에 바로 투영시키는 것이다.
입사벡터 P 와 법선벡터 n 의 끼인각이 0≤ θ ≤ π/2 일때, P·n 의 값은 음수가 되므로, n 벡터의 역벡터 방향으로 투영벡터가 생성된다.
이렇게 얻어진 투영벡터 n(P·n) 을 입사벡터 P 에서 빼주면,
슬라이딩벡터 S 를 얻을수 있다.
그러므로 슬라이딩벡터 S 는
S = P - n(P·n)
반응형
'Programming > Math' 카테고리의 다른 글
벡터의 내적과 외적 (0) | 2014.08.26 |
---|---|
OBB 를 이용한 충돌처리!!!! (0) | 2012.05.22 |
반사 벡터 ( Reflection Vector ) (0) | 2012.05.16 |
투영 벡터 ( Projection Vector ) (0) | 2012.05.16 |
동차좌표 ( 同次座標, Homogeneous coordinate ) (0) | 2012.05.16 |