🎁 minirt 뽀개기!

(0) minirt 시작하기!

(1) mlx 활용과 color 표현 하는 방법!

(2) 벡터에 대한 이해!

(4) Raytracing One Weekend 식 이해하기! 1

(5) Raytracing One Weekend 식 이해하기! 2

(6) Raytracing One Weekend 식 이해하기! 3

(7) Raytracing One Weekend 식 이해하기! 4

(8) Raytracing One Weekend 식 이해하기! 5

벡터와 스칼라의 연산


1) 스칼라(Scalar)란?

지금까지 벡터에 대해 배워 보았다.

<aside> 💡 스칼라란? 방향은 가지지 않고 크기만 가지는 성분. 즉, 단지 크기만 있는 물리량이다.

</aside>

2) 벡터 x 스칼라

벡터와 스칼라의 곱셈 연산을 통해 벡터의 크기를 조정할 수 있다. 아래의 그림을 보자!

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/05b8a01a-31a9-46f0-975e-7874b5b3c1b1/Untitled.png

벡터 **U = (2,1)**에 2를 곱해서 (4, 2)의 벡터를 얻었다. 곱한 스칼라만큼 벡터의 크기가 변한 것을 알 수 있다.

즉, 우리는 벡터와 스칼라의 곱셈은 아래와 같이 일반화 할 수 있다.

$$ ⁍ $$

만약 스칼라의 값이 음수이면 어떻게 될까?

아래의 사진을 보면 벡터에 음수인 스칼라 값을 곱하면 방향이 반대가 되는 것을 확인할 수 있다. 즉, 벡터에서의 마이너스는 벡터의 방향을 나타내는 것이다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0c634455-f7db-461d-850a-643ef52cdffe/Untitled.png

3) 어디서 사용할까?

우리는 이런 연산을 프로그램에서 어떻게 사용할 수 있을까? 만약 게임이라고 생각해보자. 캐릭터의 위치 벡터 A가 있고 이동방향 B와 이동거리(스칼라) t가 있다면 최종적으로 캐릭터가 이동할 위치P 를 구할 수 있다.

$$ P = A + t \times B $$