🎁 minirt 뽀개기!

(0) minirt 시작하기!

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

(2) 벡터에 대한 이해!

(3) 벡터의 연산!

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

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

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

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

Raytracing One Weekend 식 이해하기! 3


이번 시간에는 화면의 가운데 구를 띄워볼 것이다!!

이 과제를 진행하기 위해서는 우선 근의 공식에 대한 이해가 필요하다! 차근차근 아래 내용을 따라가보자!

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c9b66417-ac03-4676-ba09-2fd0128b993b/Untitled.png

Adding a Sphere


이 부분은 책에서 유도하는 방식을 차근차근 따라가보자!

1) 구 방정식

3차원 좌표에서 구를 표현하는 방정식은 아래와 같다.

$$ x^2 + y^2 + z^2 = r^2 $$

여기서 만약 구의 좌표가 C (x, y, z)에 있다면 아래와 같은 식을 얻을 수 있다. 이때 C는 point3클래스이다. C언어로 번역한 코드로 생각하면 t_vec클래스 변수인 것이다!

$$ (x - C.x)^2 + (y - C.y)^2 + (z - C.z)^2 = r^2 $$

❗여기서 우리는 vec3클래스와 point3클래스를 모두 동일한 t_vec구조체로 사용하는데 이 두개가 다른 것을 나타내는 것을 잊으면 안된다! vec3클래스는 벡터이고 point3클래스는 정적 좌표이다!