티스토리 뷰
728x90
[참고 출처] 고려대학교 한정현 교수님 연구실 강의자료 https://media.korea.ac.kr/books/
내적 (dot product): a⋅ba⋅b
- 두 개의 n 차원 벡터
a=(a1,a2,...,an)
b=(b1,b2,...,bn) 일 때,
a⋅b=∑nt=1aibi=a1b1+a2b2+...+anbn - a⋅b=||a|| ||b||cosθ
벡터곱 (cross product): a×b
- 오른손 법칙을 따름.
- ||a×b||=||a|| ||b||sinθ
- a×b의 길이는 a와 b에 의해 만들어지는 평행사변형의 넓이와 같다.
- 두 벡터
a=(ax,ay,az)
b=(bx,by,bz) 일 때,
a×b=(aybz−azby,azbx−axbz,axby−aybx) - a×b=−(a×b)
표준 기저를 구성하는 3개의 벡터 e1,e2,e3 간 상대적인 방향은 오른손 법칙에 따라 아래처럼 정의된다.
e1×e2=e3
e2×e3=e1
e3×e1=e2동일한 기저 벡터를 사용한 벡터곱 결과는 (0, 0, 0)이다.
e1×e1=e2×e2=e3×e3=0
직선 및 선형 보간(linear interpolation)
- 두 개의 점 p0와 p1을 지나는 직선은 p0와, p0와 p1를 잇는 벡터 p1−p0를 사용해 매개변수 방정식(parametric equation)으로 정의됨.
p(t)=p0+t(p1−p0) - 여기서 t는 [−\infin,\infin] 범위에 놓이는 매개변수(parameter)이다.
- 만약 t의 범위가 [0,\infin]이라면, p0에서 시작해서 p1−p0 방향으로 무한하게 뻗어나가는 광선(ray)가 됨.
- (1−t) 와 t를 각각 p0와 p1에 대한 가중치(weight)로 보면,
p(t)는 p0와 p1의 가중치 합(weight sum)이 된다.
t가 0일수록 p0에 가까워지고, t가 1일수록 p1에 가까워지게 된다. - 특히, t의 범위가 [0,1]일 때, p(t)는 p0와 p1의 선형보간(linear interpolation)이라고 한다.
- 함수 p(t)는 2차원 공간에서는 (x(t),y(t)), 3차원 공간에서는 (x(t),y(t),z(t))가 된다.
p0와 p1의 3차원 좌표를 각각 (x0,y0,z0)와 (x1,y1,z1)이라고 할 때, 각 좌표값에 선형보간을 적용해 p(t)의 좌표를 얻는다.
p(t)=(x(t) y(t) z(t))=((1−t)x0+tx1 (1−t)y0+ty1 (1−t)z0+tz1) - 만약, p0와 p1에 특정한 값이 저장되어 있다면, 그 값들도 선형보간될 수 있다.
예를 들어, p0에 c0라는 색상이 저장되어 있고 그 원소를 (R0,G0,B0)라 하자.
마찬가지로, p1에 c1이라는 색상이 저장되어 있고 그 원소를 (R1,G1,B1)라 하자.
RGB 원소 각각은 대개 [0, 255] 범위의 정수값, 혹은 [0, 1] 범위의 실수값을 가지는데,
선형보간된 색상 c(t)는 다음과 같이 정의된다.
c(t)=(1−t)c0+tc1=((1−t)R0+tR1 (1−t)G0+tG1 (1−t)B0+tB1)
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- useState
- 함수
- 리액트
- leetcode
- mdn
- Component
- 자료구조
- Context API
- 알고리즘
- 파이썬
- Browser
- 정렬
- git
- react
- 브라우저
- React Query
- 데이터베이스
- github
- JavaScript
- zustand
- 에러
- error
- BOJ
- CSS
- state
- DOM
- 그래프
- 자바스크립트
- Python
- DB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함
250x250