랜더링 수학

chanykim·2020년 12월 22일
0

miniRT

목록 보기
2/10

일차방정식

두 개의 교점으로 일차방정식을 구하려면, (x1,y1),(x2,y2)(x_1,y_1), (x_2, y_2) 의 두개의 점이 있을 때
일차 방정식은 y=y2y1x2x1x+by =\cfrac{y_2-y_1}{x_2 - x_1}x + b 의 형태이다.
여기서 a는 기울기이고, b는 y절편이다. 기울기를 구하는 공식은 y2y1x2x1\cfrac{y_2-y_1}{x_2 - x_1} 이다.
그리고 b는 두개의 좌표 중 하나를 넣어서 구한다.
ex) (1, 3), (2, -1)이 있다고 하면, 1321\cfrac{-1-3}{2 - 1} 로 -4가 되서
y=4x+by =-4x + b이고 이 공식에 x = 1, y = 3을 넣으면 3=4+b3 =-4 + b 로 b가 7이 되어
일차 방정식은 y=4x+7y =-4x + 7이 된다.

엄청 간단하다.

두 점의 가중 평균

이것도 간단하다. A(x1,y1),B(x2,y2)A(x_1,y_1), B(x_2, y_2)이 있을 때 그 점을 잇는 선에 점M이 있다고 하자.
그 때 M=A+B+B3M = \cfrac{A + B + B}{3}로 나타내어 M=A+2B3M = \cfrac{A + 2B}{3} -> M=13A+23BM = \cfrac{1}{3}A + \cfrac{2}{3}B 가 된다.
그리고 점A부터 점M까지를 23\cfrac{2}{3} , 점B부터 점M까지를 13\cfrac{1}{3} 라 둔다.
그러면 점A부터 점B까지가 1이 되는데 여기서 13\cfrac{1}{3}를 t라 두고 23\cfrac{2}{3} 를 (1 - t)라 한다.
그러면 M(x,y)=(1t)A+tBM(x,y) =(1 - t)A + tB라는 수식이 완성되고,
M(x)=(1t)x1+tx2M(x) =(1 - t)x_1 + tx_2,
M(y)=(1t)y1+ty2M(y) =(1 - t)y_1 + ty_2
으로 M의 좌표를 구할 수 있다.

평면과 광선의 교차점

문제

광선 추적을 이용하여 방정식 6x+5y+z30=06x + 5y +z-30=0으로 정의된 이미지 평면을 만든다.
좌표가 (0,0,0)(0, 0, 0)인 카메라에서 나와 좌표 (2,4,8)(2,4,8)인 픽셀을 지나는 광선을 그리고, 그 광선이
평면과 점 II에서 만난다면 II의 좌표는 무엇일까?

이러면 우선 방정식을 구한다. (0,0,0)(0,0,0)를 점CC라 하고 좌표 (2,4,8)(2,4,8)인 픽셀을 점PP라고 하자.
그러면 점CC에서 나와 점PP를 지나가는 광선을 매개변수화시켜서 tt에 대한 함수로 나타낼 수 있다. R(t)=(1t)C+PR(t) = (1-t)C + P가 된다.

여기서 교점 II에 대한 좌표를 R(t)R(t^*)에 대해 정의하고 tt^*에 대한 II좌표로 나타낼 수 있다.
Ix=Rx(t)=(1t)Cx+tPxI_x = R_x(t^*) = (1 - t^*)C_x + t^*P_x
Iy=Ry(t)=(1t)Cy+tPyI_y = R_y(t^*) = (1 - t^*)C_y + t^*P_y
Iz=Rz(t)=(1t)Cz+tPzI_z = R_z(t^*) = (1 - t^*)C_z + t^*P_z

위 공식에서 CC의 점은 전부 00이고 PP의 점은 (2,4,8)(2,4,8)이므로,
Ix=Rx(t)=0+t2=2tI_x = R_x(t^*) = 0 + t^*2 = 2t^*
Iy=Ry(t)=0+t4=4tI_y = R_y(t^*) = 0 + t^*4= 4t^*
Iz=Rz(t)=0+t8=8tI_z = R_z(t^*) = 0 + t^*8= 8t^*
로 나타낼 수 있다. 이 II의 좌표를 6x+5y+z30=06x + 5y +z-30=0 에 넣어 tt^*를 구하면 34\cfrac{3}{4} 이 되고 II 좌표에 대입하면 II좌표는 (1.5,3,6)(1.5, 3,6)이 된다.

3D 삼각형 교차점

문제

삼각형 ABCABC는 다음 세 점에 의해 정의 된다.
A=(4,2,4)A = (4,2,4)
B=(5,5,5)B = (5,-5,5)
C=(3,2,6)C = (3,-2,6)
한 반직선이ABCABC로 정의된 평면을 지나가면서 점 II를 지납니다.
I=(3.1,4.3,4.9)I =(3.1,-4.3,4.9)라면 IIABC\vartriangle ABC안에 있나요?

II가 삼각형 안에 있다고 생각해서 I=aA+bB+cCI = aA+bB+cC 라 정의한다.
그리고 II의 각각의 좌표를 나타내면,
Ix=aAx+bBx+cCxI_x = aA_x+bB_x+cC_x
Iy=aAy+bBy+cCyI_y = aA_y+bB_y+cC_y
Iz=aAz+bBz+cCzI_z = aA_z+bB_z+cC_z

여기에 좌표값들을 집어 넣는다.
3.1=4a+5b+3c3.1 = 4a+5b+3c
4.3=2a5b2c-4.3 = 2a-5b-2c
4.9=4a+5b+6c4.9 = 4a+5b+6c

이 수식을 연립방정식으로 풀면, a=0.3,b=0.5,c=0.3a=-0.3, b= 0.5,c=0.3가 나오는데 aa를 봤을 때
aa가 마이너스이므로 IIABC\vartriangle ABC안에 없다.

문제 출처: https://ko.khanacademy.org/partner-content/pixar/rendering/rendering-2/e/triangle-intersection-3d

profile
오늘보다 더 나은 내일

0개의 댓글