일차방정식
두 개의 교점으로 일차방정식을 구하려면, (x1,y1),(x2,y2) 의 두개의 점이 있을 때
일차 방정식은 y=x2−x1y2−y1x+b 의 형태이다.
여기서 a는 기울기이고, b는 y절편이다. 기울기를 구하는 공식은 x2−x1y2−y1 이다.
그리고 b는 두개의 좌표 중 하나를 넣어서 구한다.
ex) (1, 3), (2, -1)이 있다고 하면, 2−1−1−3 로 -4가 되서
y=−4x+b이고 이 공식에 x = 1, y = 3을 넣으면 3=−4+b 로 b가 7이 되어
일차 방정식은 y=−4x+7이 된다.
엄청 간단하다.
두 점의 가중 평균
이것도 간단하다. A(x1,y1),B(x2,y2)이 있을 때 그 점을 잇는 선에 점M이 있다고 하자.
그 때 M=3A+B+B로 나타내어 M=3A+2B -> M=31A+32B 가 된다.
그리고 점A부터 점M까지를 32 , 점B부터 점M까지를 31 라 둔다.
그러면 점A부터 점B까지가 1이 되는데 여기서 31를 t라 두고 32 를 (1 - t)라 한다.
그러면 M(x,y)=(1−t)A+tB라는 수식이 완성되고,
M(x)=(1−t)x1+tx2,
M(y)=(1−t)y1+ty2
으로 M의 좌표를 구할 수 있다.
평면과 광선의 교차점
문제
광선 추적을 이용하여 방정식 6x+5y+z−30=0으로 정의된 이미지 평면을 만든다.
좌표가 (0,0,0)인 카메라에서 나와 좌표 (2,4,8)인 픽셀을 지나는 광선을 그리고, 그 광선이
평면과 점 I에서 만난다면 I의 좌표는 무엇일까?
이러면 우선 방정식을 구한다. (0,0,0)를 점C라 하고 좌표 (2,4,8)인 픽셀을 점P라고 하자.
그러면 점C에서 나와 점P를 지나가는 광선을 매개변수화시켜서 t에 대한 함수로 나타낼 수 있다. R(t)=(1−t)C+P가 된다.
여기서 교점 I에 대한 좌표를 R(t∗)에 대해 정의하고 t∗에 대한 I좌표로 나타낼 수 있다.
Ix=Rx(t∗)=(1−t∗)Cx+t∗Px
Iy=Ry(t∗)=(1−t∗)Cy+t∗Py
Iz=Rz(t∗)=(1−t∗)Cz+t∗Pz
위 공식에서 C의 점은 전부 0이고 P의 점은 (2,4,8)이므로,
Ix=Rx(t∗)=0+t∗2=2t∗
Iy=Ry(t∗)=0+t∗4=4t∗
Iz=Rz(t∗)=0+t∗8=8t∗
로 나타낼 수 있다. 이 I의 좌표를 6x+5y+z−30=0 에 넣어 t∗를 구하면 43 이 되고 I 좌표에 대입하면 I좌표는 (1.5,3,6)이 된다.
3D 삼각형 교차점
문제
삼각형 ABC는 다음 세 점에 의해 정의 된다.
A=(4,2,4)
B=(5,−5,5)
C=(3,−2,6)
한 반직선이ABC로 정의된 평면을 지나가면서 점 I를 지납니다.
I=(3.1,−4.3,4.9)라면 I는 △ABC안에 있나요?
I가 삼각형 안에 있다고 생각해서 I=aA+bB+cC 라 정의한다.
그리고 I의 각각의 좌표를 나타내면,
Ix=aAx+bBx+cCx
Iy=aAy+bBy+cCy
Iz=aAz+bBz+cCz
여기에 좌표값들을 집어 넣는다.
3.1=4a+5b+3c
−4.3=2a−5b−2c
4.9=4a+5b+6c
이 수식을 연립방정식으로 풀면, a=−0.3,b=0.5,c=0.3가 나오는데 a를 봤을 때
a가 마이너스이므로 I는 △ABC안에 없다.
문제 출처: https://ko.khanacademy.org/partner-content/pixar/rendering/rendering-2/e/triangle-intersection-3d