[그래픽스] 수학 기초

YEOM JINSEOP·2023년 11월 18일
0

Computer Graphics

목록 보기
1/14

내적 (dot product): aba \cdot b

  • 두 개의 nn 차원 벡터
    a=(a1,a2,...,an)a = (a_1, a_2, ..., a_n)
    b=(b1,b2,...,bn)b = (b_1, b_2, ..., b_n) 일 때,
    ab=t=1naibi=a1b1+a2b2+...+anbna \cdot b = \sum^n_{t=1}a_ib_i = a_1b_1 + a_2b_2 + ... + a_nb_n

  • ab=a bcosθa \cdot b = ||a|| \ ||b|| \cos{\theta}


벡터곱 (cross product): a×ba \times b

  • 오른손 법칙을 따름.

  • a×b=a bsinθ|| a \times b || = ||a|| \ ||b|| \sin{\theta}

  • a×ba \times b의 길이는 aabb에 의해 만들어지는 평행사변형의 넓이와 같다.

  • 두 벡터
    a=(ax,ay,az)a = (a_x, a_y, a_z)
    b=(bx,by,bz)b = (b_x, b_y, b_z) 일 때,
    a×b=(aybzazby,azbxaxbz,axbyaybx)a \times b = (a_yb_z - a_zb_y, a_zb_x - a_xb_z, a_xb_y - a_yb_x)

  • a×b=(a×b)a \times b = - (a \times b)

  • 표준 기저를 구성하는 3개의 벡터 e1,e2,e3e_1, e_2, e_3 간 상대적인 방향은 오른손 법칙에 따라 아래처럼 정의된다.
    e1×e2=e3e_1 \times e_2 = e_3
    e2×e3=e1e_2 \times e_3 = e_1
    e3×e1=e2e_3 \times e_1 = e_2
  • 동일한 기저 벡터를 사용한 벡터곱 결과는 (0, 0, 0)이다.
    e1×e1=e2×e2=e3×e3=0e_1 \times e_1 = e_2 \times e_2 = e_3 \times e_3 = 0

직선 및 선형 보간(linear interpolation)

  • 두 개의 점 p0p_0p1p_1을 지나는 직선은 p0p_0와, p0p_0p1p_1를 잇는 벡터 p1p0p_1 - p_0를 사용해 매개변수 방정식(parametric equation)으로 정의됨.
    p(t)=p0+t(p1p0)p(t) = p_0 + t(p_1 - p_0)

  • 여기서 tt[,][-\infin, \infin] 범위에 놓이는 매개변수(parameter)이다.

  • 만약 tt의 범위가 [0,][0, \infin]이라면, p0p_0에서 시작해서 p1p0p_1 - p_0 방향으로 무한하게 뻗어나가는 광선(ray)가 됨.

  • (1t)(1-t)tt를 각각 p0p_0p1p_1에 대한 가중치(weight)로 보면,
    p(t)p(t)p0p_0p1p_1가중치 합(weight sum)이 된다.
    t가 0일수록 p0p_0에 가까워지고, t가 1일수록 p1p_1에 가까워지게 된다.

  • 특히, tt의 범위가 [0,1][0, 1]일 때, p(t)p(t)p0p_0p1p_1선형보간(linear interpolation)이라고 한다.

  • 함수 p(t)p(t)는 2차원 공간에서는 (x(t),y(t))(x(t), y(t)), 3차원 공간에서는 (x(t),y(t),z(t))(x(t), y(t), z(t))가 된다.
    p0p_0p1p_1의 3차원 좌표를 각각 (x0,y0,z0)(x_0, y_0, z_0)(x1,y1,z1)(x_1, y_1, z_1)이라고 할 때, 각 좌표값에 선형보간을 적용해 p(t)p(t)의 좌표를 얻는다.
    p(t)=(x(t)y(t)z(t))=((1t)x0+tx1(1t)y0+ty1(1t)z0+tz1)p(t) = \begin{pmatrix} x(t) \\ y(t) \\ z(t) \end{pmatrix} = \begin{pmatrix} (1-t)x_0 + tx_1\\ (1-t)y_0 + ty_1\\ (1-t)z_0 + tz_1 \end{pmatrix}

  • 만약, p0p_0p1p_1에 특정한 값이 저장되어 있다면, 그 값들도 선형보간될 수 있다.
    예를 들어, p0p_0c0c_0라는 색상이 저장되어 있고 그 원소를 (R0,G0,B0)(R_0, G_0, B_0)라 하자.
    마찬가지로, p1p_1c1c_1이라는 색상이 저장되어 있고 그 원소를 (R1,G1,B1)(R_1, G_1, B_1)라 하자.
    RGBRGB 원소 각각은 대개 [0, 255] 범위의 정수값, 혹은 [0, 1] 범위의 실수값을 가지는데,
    선형보간된 색상 c(t)c(t)는 다음과 같이 정의된다.
    c(t)=(1t)c0+tc1=((1t)R0+tR1(1t)G0+tG1(1t)B0+tB1)c(t) = (1-t)c_0 + tc_1 = \begin{pmatrix} (1-t)R_0 + tR_1\\ (1-t)G_0 + tG_1\\ (1-t)B_0 + tB_1 \end{pmatrix}


자료 출처: 한정현 교수님 연구실 강의자료 https://media.korea.ac.kr/books/

0개의 댓글

관련 채용 정보