구의 중심
c = (x_c , y_c)
광원
p = (x_p, y_p)
광원 방향
u = (x_u, y_u)
임의의 값
t
구의 중심, 광원은 포인트, 즉 점이고
광원 방향은 벡터다.
그리고 t는 그냥 상수지.
여기서 알아야할 것이
벡터 = 포인트 - 포인트
포인트 = 포인트 + 벡터
벡터 = 상수 * 벡터
이런 관계가 있다.
그리고 벡터의 길이를 절대값기호를 써서 |벡터|라고 표현한다.
그럼 아까 니가 올린 식을 다시 쓰면
| p + t*u - c | - r = 0
이다
아까 말했다시피 포인트 + 벡터(p + t*u)는 포인트이고 포인트 - 포인트 ((p + t*u) - c)는 벡터다.
그리고 저 벡터는 구의 중심(c)에서 광선의 특정 지점(p + t*u)까지 그은 벡터이지.
광선의 특정 지점이 구 위에 있을려면 저 벡터의 길이가 r이 되어야겠지?
따라서 저 벡터(x_p + t*x_u - x_c, y_p + t*y_u - y_c)의 크기가 r이 되어야겠지
그런데 x_p, x_u, x_c, y_p, y_u, y_c는 앞에서 정해진 상수지?
따라서 r을 이항한 다음 제곱하면 A*t^2 + B*t + C = r^2 형태로 정리될 수 있어.
그러면 2차 방정식의 해 t0와 t1이 나오겠지?
그럼 이 두 값이 광선이 구의 표면과 만나기 위한 조건을 만족하게 하니까
(x_p + t0*x_u, y_p + t0*y_u)와 (x_p + t1*x_u, y_p + t1*y_u)이 광선과 구가 만나는 점이 되겠지.
두 점이 같으면 광선과 구가 접하는 것이고 말이지.
이해 안되는 부분 있으면 덧글 달어
일단 글올린거 감사 , 근데 내가 수학을 못해서그런지 그래도 게속해서 \'그런데 x_p, x_u, x_c, y_p, y_u, y_c는 앞에서 정해진 상수지?\' 이부분까진알겟는데 r 을 이항해서 제곱하면 At² 어쩌거 저 형태가 어케나오는거 ... ? r 을 제곱으로 만들엇는데 갑자기 잇던 t 가 제곱이되고 t 가 하나 더생기는게 뭔질 모르겟음 ...
일단 글올린거 감사 , 근데 내가 수학을 못해서그런지 그래도 게속해서 \'그런데 x_p, x_u, x_c, y_p, y_u, y_c는 앞에서 정해진 상수지?\' 이부분까진알겟는데 r 을 이항해서 제곱하면 At² 어쩌거 저 형태가 어케나오는거 ... ? r 을 제곱으로 만들엇는데 갑자기 잇던 t 가 제곱이되고 t 가 하나 더생기는게 뭔질 모르겟음 ...
r 에서 r² 됏으니까 왼쪽 항? ( 항이라하는거맞나 ㅡㅡ;; ) 에 r 을 하나씩 다 곱해줘야하는거 아닌가??