소스중에서 TriBox.cpp에서
CheckLine에서 CheckPoint( p1, p2, (.5f-p1.x)/(p2.x-p1.x), 0x3e) == INSIDE) 이런식으로 CheckPoint()를 호출하는 부분이 있습니다.
몇가지 예를 들어 식대로 대입해보니까 결과는 맞는데요
그 식이 이해가 가지를 않습니다.
alpha라는 파라메타로 (.5f-p1.x)/(p2.x-p1.x)이렇게 넘겨주는이유와
CheckPoint의 LERP매크로에서 계산하는 식의 의미를 혹시 아시는 분이
계시다면 설명 부탁드리겠습니다.
주석에서 Test the point "alpha" of the way from p1 to p2라고 되어있던데요.
이 함수의 결과는 알겠지만... 그 과정에서 나온 식은 잘 모르겠습니다.
[GPG 1 글 4.10] [질문] Gem1권 octree소스 중에서 질문
Moderator: 류광
-
- Posts: 3805
- Joined: 2001-07-25 09:00
- Location: GPGstudy
- Contact:
그 부분의 기본적인 목표는 입방체 각 면마다.. 특정한 한 종류의 성분들의 비를 이용해서 선분과 평면이 만나는 점을 구하는 것입니다.
좀 더 구체적으로는...
a:b = c:d 라는 점을 이용한 것입니다....
+-0.5라는 값들은 비교 대상이 원점을 중심으로 하는 단위입방체 (각 축이 -0.5 ~ 0.5)이기 때문입니다.
좀 더 구체적으로는...
Code: Select all
P2
| +
|b/|
|/ |
A |
a/| |
/ | |
P1+--B--+
c | d
0.5
+-0.5라는 값들은 비교 대상이 원점을 중심으로 하는 단위입방체 (각 축이 -0.5 ~ 0.5)이기 때문입니다.
Last edited by 류광 on 2003-05-22 17:55, edited 1 time in total.
-
- Posts: 3805
- Joined: 2001-07-25 09:00
- Location: GPGstudy
- Contact: