diff options
author | Nat Lasseter <user@4574.co.uk> | 2024-06-13 13:24:53 +0100 |
---|---|---|
committer | Nat Lasseter <user@4574.co.uk> | 2024-06-13 13:24:53 +0100 |
commit | b976ce98be7275bf92e01f6c86bf2b694530481e (patch) | |
tree | 0b405ce8ecb2ef3d01e17c2bf089adc7788d084e /lib/vec3.rb | |
parent | 523f9439ed0d2e4c2d51edc623b6c4d62885cfdd (diff) |
Done C10, Materials
Diffstat (limited to 'lib/vec3.rb')
-rw-r--r-- | lib/vec3.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/vec3.rb b/lib/vec3.rb index 08cbf69..3069b65 100644 --- a/lib/vec3.rb +++ b/lib/vec3.rb @@ -56,10 +56,18 @@ class Vec3 self / mag end + def reflect(normal) + self - normal * dot(normal) * 2 + end + def in_unit_sphere? mag_sqr < 1 end + def near_zero?(s = 1e-8) + @x.abs < s && @y.abs < s && @z.abs < s + end + def to_s "{#{@x}, #{@y}, #{@z}}" end |