diff --git a/img.bmp b/img.bmp index 4db9fb7..ee49154 100644 Binary files a/img.bmp and b/img.bmp differ diff --git a/log.txt b/log.txt new file mode 100644 index 0000000..b200ac6 --- /dev/null +++ b/log.txt @@ -0,0 +1,2801 @@ +Camera coords: 0. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 0.00000000, 0.00000000) +l: (0.00000000, 0.00000000, 20.00000000) +l_len: 20 +tc: 20 +d: 0 +Camera coords: 1. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 0.00000000, 0.00000000) +l: (-1.00000000, 0.00000000, 20.00000000) +l_len: 20.024984394500787 +tc: 20 +d: NaN +Camera coords: 2. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 0.00000000, 0.00000000) +l: (-2.00000000, 0.00000000, 20.00000000) +l_len: 20.09975124224178 +tc: 20 +d: NaN +Camera coords: 3. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 0.00000000, 0.00000000) +l: (-3.00000000, 0.00000000, 20.00000000) +l_len: 20.223748416156685 +tc: 20 +d: NaN +Camera coords: 4. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 0.00000000, 0.00000000) +l: (-4.00000000, 0.00000000, 20.00000000) +l_len: 20.396078054371138 +tc: 20 +d: NaN +Camera coords: 5. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 0.00000000, 0.00000000) +l: (-5.00000000, 0.00000000, 20.00000000) +l_len: 20.615528128088304 +tc: 20 +d: NaN +Camera coords: 6. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 0.00000000, 0.00000000) +l: (-6.00000000, 0.00000000, 20.00000000) +l_len: 20.8806130178211 +tc: 20 +d: NaN +Camera coords: 7. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 0.00000000, 0.00000000) +l: (-7.00000000, 0.00000000, 20.00000000) +l_len: 21.18962010041709 +tc: 20 +d: NaN +Camera coords: 8. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 0.00000000, 0.00000000) +l: (-8.00000000, 0.00000000, 20.00000000) +l_len: 21.540659228538015 +tc: 20 +d: NaN +Camera coords: 9. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 0.00000000, 0.00000000) +l: (-9.00000000, 0.00000000, 20.00000000) +l_len: 21.93171219946131 +tc: 20 +d: NaN +Camera coords: 10. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 0.00000000, 0.00000000) +l: (-10.00000000, 0.00000000, 20.00000000) +l_len: 22.360679774997898 +tc: 20 +d: NaN +Camera coords: 11. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 0.00000000, 0.00000000) +l: (-11.00000000, 0.00000000, 20.00000000) +l_len: 22.825424421026653 +tc: 20 +d: NaN +Camera coords: 12. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 0.00000000, 0.00000000) +l: (-12.00000000, 0.00000000, 20.00000000) +l_len: 23.323807579381203 +tc: 20 +d: NaN +Camera coords: 13. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 0.00000000, 0.00000000) +l: (-13.00000000, 0.00000000, 20.00000000) +l_len: 23.853720883753127 +tc: 20 +d: NaN +Camera coords: 14. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 0.00000000, 0.00000000) +l: (-14.00000000, 0.00000000, 20.00000000) +l_len: 24.413111231467404 +tc: 20 +d: NaN +Camera coords: 15. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 0.00000000, 0.00000000) +l: (-15.00000000, 0.00000000, 20.00000000) +l_len: 25 +tc: 20 +d: NaN +Camera coords: 16. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 0.00000000, 0.00000000) +l: (-16.00000000, 0.00000000, 20.00000000) +l_len: 25.612496949731394 +tc: 20 +d: NaN +Camera coords: 17. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 0.00000000, 0.00000000) +l: (-17.00000000, 0.00000000, 20.00000000) +l_len: 26.248809496813376 +tc: 20 +d: NaN +Camera coords: 18. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 0.00000000, 0.00000000) +l: (-18.00000000, 0.00000000, 20.00000000) +l_len: 26.90724809414742 +tc: 20 +d: NaN +Camera coords: 19. 0 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 0.00000000, 0.00000000) +l: (-19.00000000, 0.00000000, 20.00000000) +l_len: 27.586228448267445 +tc: 20 +d: NaN +Camera coords: 0. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 1.00000000, 0.00000000) +l: (0.00000000, -1.00000000, 20.00000000) +l_len: 20.024984394500787 +tc: 20 +d: NaN +Camera coords: 1. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 1.00000000, 0.00000000) +l: (-1.00000000, -1.00000000, 20.00000000) +l_len: 20.049937655763422 +tc: 20 +d: NaN +Camera coords: 2. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 1.00000000, 0.00000000) +l: (-2.00000000, -1.00000000, 20.00000000) +l_len: 20.12461179749811 +tc: 20 +d: NaN +Camera coords: 3. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 1.00000000, 0.00000000) +l: (-3.00000000, -1.00000000, 20.00000000) +l_len: 20.248456731316587 +tc: 20 +d: NaN +Camera coords: 4. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 1.00000000, 0.00000000) +l: (-4.00000000, -1.00000000, 20.00000000) +l_len: 20.42057785666214 +tc: 20 +d: NaN +Camera coords: 5. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 1.00000000, 0.00000000) +l: (-5.00000000, -1.00000000, 20.00000000) +l_len: 20.639767440550294 +tc: 20 +d: NaN +Camera coords: 6. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 1.00000000, 0.00000000) +l: (-6.00000000, -1.00000000, 20.00000000) +l_len: 20.904544960366874 +tc: 20 +d: NaN +Camera coords: 7. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 1.00000000, 0.00000000) +l: (-7.00000000, -1.00000000, 20.00000000) +l_len: 21.213203435596427 +tc: 20 +d: NaN +Camera coords: 8. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 1.00000000, 0.00000000) +l: (-8.00000000, -1.00000000, 20.00000000) +l_len: 21.563858652847824 +tc: 20 +d: NaN +Camera coords: 9. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 1.00000000, 0.00000000) +l: (-9.00000000, -1.00000000, 20.00000000) +l_len: 21.95449840010015 +tc: 20 +d: NaN +Camera coords: 10. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 1.00000000, 0.00000000) +l: (-10.00000000, -1.00000000, 20.00000000) +l_len: 22.38302928559939 +tc: 20 +d: NaN +Camera coords: 11. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 1.00000000, 0.00000000) +l: (-11.00000000, -1.00000000, 20.00000000) +l_len: 22.847319317591726 +tc: 20 +d: NaN +Camera coords: 12. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 1.00000000, 0.00000000) +l: (-12.00000000, -1.00000000, 20.00000000) +l_len: 23.345235059857504 +tc: 20 +d: NaN +Camera coords: 13. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 1.00000000, 0.00000000) +l: (-13.00000000, -1.00000000, 20.00000000) +l_len: 23.874672772626646 +tc: 20 +d: NaN +Camera coords: 14. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 1.00000000, 0.00000000) +l: (-14.00000000, -1.00000000, 20.00000000) +l_len: 24.43358344574123 +tc: 20 +d: NaN +Camera coords: 15. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 1.00000000, 0.00000000) +l: (-15.00000000, -1.00000000, 20.00000000) +l_len: 25.019992006393608 +tc: 20 +d: NaN +Camera coords: 16. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 1.00000000, 0.00000000) +l: (-16.00000000, -1.00000000, 20.00000000) +l_len: 25.632011235952593 +tc: 20 +d: NaN +Camera coords: 17. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 1.00000000, 0.00000000) +l: (-17.00000000, -1.00000000, 20.00000000) +l_len: 26.267851073127396 +tc: 20 +d: NaN +Camera coords: 18. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 1.00000000, 0.00000000) +l: (-18.00000000, -1.00000000, 20.00000000) +l_len: 26.92582403567252 +tc: 20 +d: NaN +Camera coords: 19. 1 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 1.00000000, 0.00000000) +l: (-19.00000000, -1.00000000, 20.00000000) +l_len: 27.60434748368452 +tc: 20 +d: NaN +Camera coords: 0. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 2.00000000, 0.00000000) +l: (0.00000000, -2.00000000, 20.00000000) +l_len: 20.09975124224178 +tc: 20 +d: NaN +Camera coords: 1. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 2.00000000, 0.00000000) +l: (-1.00000000, -2.00000000, 20.00000000) +l_len: 20.12461179749811 +tc: 20 +d: NaN +Camera coords: 2. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 2.00000000, 0.00000000) +l: (-2.00000000, -2.00000000, 20.00000000) +l_len: 20.199009876724155 +tc: 20 +d: NaN +Camera coords: 3. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 2.00000000, 0.00000000) +l: (-3.00000000, -2.00000000, 20.00000000) +l_len: 20.322401432901575 +tc: 20 +d: NaN +Camera coords: 4. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 2.00000000, 0.00000000) +l: (-4.00000000, -2.00000000, 20.00000000) +l_len: 20.493901531919196 +tc: 20 +d: NaN +Camera coords: 5. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 2.00000000, 0.00000000) +l: (-5.00000000, -2.00000000, 20.00000000) +l_len: 20.71231517720798 +tc: 20 +d: NaN +Camera coords: 6. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 2.00000000, 0.00000000) +l: (-6.00000000, -2.00000000, 20.00000000) +l_len: 20.97617696340303 +tc: 20 +d: NaN +Camera coords: 7. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 2.00000000, 0.00000000) +l: (-7.00000000, -2.00000000, 20.00000000) +l_len: 21.283796653792763 +tc: 20 +d: NaN +Camera coords: 8. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 2.00000000, 0.00000000) +l: (-8.00000000, -2.00000000, 20.00000000) +l_len: 21.633307652783937 +tc: 20 +d: NaN +Camera coords: 9. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 2.00000000, 0.00000000) +l: (-9.00000000, -2.00000000, 20.00000000) +l_len: 22.02271554554524 +tc: 20 +d: NaN +Camera coords: 10. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 2.00000000, 0.00000000) +l: (-10.00000000, -2.00000000, 20.00000000) +l_len: 22.44994432064365 +tc: 20 +d: NaN +Camera coords: 11. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 2.00000000, 0.00000000) +l: (-11.00000000, -2.00000000, 20.00000000) +l_len: 22.9128784747792 +tc: 20 +d: NaN +Camera coords: 12. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 2.00000000, 0.00000000) +l: (-12.00000000, -2.00000000, 20.00000000) +l_len: 23.40939982143925 +tc: 20 +d: NaN +Camera coords: 13. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 2.00000000, 0.00000000) +l: (-13.00000000, -2.00000000, 20.00000000) +l_len: 23.93741840717165 +tc: 20 +d: NaN +Camera coords: 14. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 2.00000000, 0.00000000) +l: (-14.00000000, -2.00000000, 20.00000000) +l_len: 24.49489742783178 +tc: 20 +d: NaN +Camera coords: 15. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 2.00000000, 0.00000000) +l: (-15.00000000, -2.00000000, 20.00000000) +l_len: 25.079872407968907 +tc: 20 +d: NaN +Camera coords: 16. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 2.00000000, 0.00000000) +l: (-16.00000000, -2.00000000, 20.00000000) +l_len: 25.69046515733026 +tc: 20 +d: NaN +Camera coords: 17. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 2.00000000, 0.00000000) +l: (-17.00000000, -2.00000000, 20.00000000) +l_len: 26.324893162176366 +tc: 20 +d: NaN +Camera coords: 18. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 2.00000000, 0.00000000) +l: (-18.00000000, -2.00000000, 20.00000000) +l_len: 26.981475126464083 +tc: 20 +d: NaN +Camera coords: 19. 2 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 2.00000000, 0.00000000) +l: (-19.00000000, -2.00000000, 20.00000000) +l_len: 27.65863337187866 +tc: 20 +d: NaN +Camera coords: 0. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 3.00000000, 0.00000000) +l: (0.00000000, -3.00000000, 20.00000000) +l_len: 20.223748416156685 +tc: 20 +d: NaN +Camera coords: 1. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 3.00000000, 0.00000000) +l: (-1.00000000, -3.00000000, 20.00000000) +l_len: 20.248456731316587 +tc: 20 +d: NaN +Camera coords: 2. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 3.00000000, 0.00000000) +l: (-2.00000000, -3.00000000, 20.00000000) +l_len: 20.322401432901575 +tc: 20 +d: NaN +Camera coords: 3. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 3.00000000, 0.00000000) +l: (-3.00000000, -3.00000000, 20.00000000) +l_len: 20.445048300260872 +tc: 20 +d: NaN +Camera coords: 4. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 3.00000000, 0.00000000) +l: (-4.00000000, -3.00000000, 20.00000000) +l_len: 20.615528128088304 +tc: 20 +d: NaN +Camera coords: 5. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 3.00000000, 0.00000000) +l: (-5.00000000, -3.00000000, 20.00000000) +l_len: 20.83266665599966 +tc: 20 +d: NaN +Camera coords: 6. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 3.00000000, 0.00000000) +l: (-6.00000000, -3.00000000, 20.00000000) +l_len: 21.095023109728988 +tc: 20 +d: NaN +Camera coords: 7. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 3.00000000, 0.00000000) +l: (-7.00000000, -3.00000000, 20.00000000) +l_len: 21.400934559032695 +tc: 20 +d: NaN +Camera coords: 8. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 3.00000000, 0.00000000) +l: (-8.00000000, -3.00000000, 20.00000000) +l_len: 21.748563170931547 +tc: 20 +d: NaN +Camera coords: 9. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 3.00000000, 0.00000000) +l: (-9.00000000, -3.00000000, 20.00000000) +l_len: 22.135943621178654 +tc: 20 +d: NaN +Camera coords: 10. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 3.00000000, 0.00000000) +l: (-10.00000000, -3.00000000, 20.00000000) +l_len: 22.561028345356956 +tc: 20 +d: NaN +Camera coords: 11. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 3.00000000, 0.00000000) +l: (-11.00000000, -3.00000000, 20.00000000) +l_len: 23.021728866442675 +tc: 20 +d: NaN +Camera coords: 12. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 3.00000000, 0.00000000) +l: (-12.00000000, -3.00000000, 20.00000000) +l_len: 23.515952032609693 +tc: 20 +d: NaN +Camera coords: 13. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 3.00000000, 0.00000000) +l: (-13.00000000, -3.00000000, 20.00000000) +l_len: 24.041630560342615 +tc: 20 +d: NaN +Camera coords: 14. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 3.00000000, 0.00000000) +l: (-14.00000000, -3.00000000, 20.00000000) +l_len: 24.596747752497688 +tc: 20 +d: NaN +Camera coords: 15. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 3.00000000, 0.00000000) +l: (-15.00000000, -3.00000000, 20.00000000) +l_len: 25.179356624028344 +tc: 20 +d: NaN +Camera coords: 16. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 3.00000000, 0.00000000) +l: (-16.00000000, -3.00000000, 20.00000000) +l_len: 25.787593916455254 +tc: 20 +d: NaN +Camera coords: 17. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 3.00000000, 0.00000000) +l: (-17.00000000, -3.00000000, 20.00000000) +l_len: 26.419689627245813 +tc: 20 +d: NaN +Camera coords: 18. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 3.00000000, 0.00000000) +l: (-18.00000000, -3.00000000, 20.00000000) +l_len: 27.073972741361768 +tc: 20 +d: NaN +Camera coords: 19. 3 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 3.00000000, 0.00000000) +l: (-19.00000000, -3.00000000, 20.00000000) +l_len: 27.748873851023216 +tc: 20 +d: NaN +Camera coords: 0. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 4.00000000, 0.00000000) +l: (0.00000000, -4.00000000, 20.00000000) +l_len: 20.396078054371138 +tc: 20 +d: NaN +Camera coords: 1. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 4.00000000, 0.00000000) +l: (-1.00000000, -4.00000000, 20.00000000) +l_len: 20.42057785666214 +tc: 20 +d: NaN +Camera coords: 2. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 4.00000000, 0.00000000) +l: (-2.00000000, -4.00000000, 20.00000000) +l_len: 20.493901531919196 +tc: 20 +d: NaN +Camera coords: 3. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 4.00000000, 0.00000000) +l: (-3.00000000, -4.00000000, 20.00000000) +l_len: 20.615528128088304 +tc: 20 +d: NaN +Camera coords: 4. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 4.00000000, 0.00000000) +l: (-4.00000000, -4.00000000, 20.00000000) +l_len: 20.784609690826528 +tc: 20 +d: NaN +Camera coords: 5. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 4.00000000, 0.00000000) +l: (-5.00000000, -4.00000000, 20.00000000) +l_len: 21 +tc: 20 +d: NaN +Camera coords: 6. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 4.00000000, 0.00000000) +l: (-6.00000000, -4.00000000, 20.00000000) +l_len: 21.2602916254693 +tc: 20 +d: NaN +Camera coords: 7. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 4.00000000, 0.00000000) +l: (-7.00000000, -4.00000000, 20.00000000) +l_len: 21.563858652847824 +tc: 20 +d: NaN +Camera coords: 8. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 4.00000000, 0.00000000) +l: (-8.00000000, -4.00000000, 20.00000000) +l_len: 21.908902300206645 +tc: 20 +d: NaN +Camera coords: 9. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 4.00000000, 0.00000000) +l: (-9.00000000, -4.00000000, 20.00000000) +l_len: 22.293496809607955 +tc: 20 +d: NaN +Camera coords: 10. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 4.00000000, 0.00000000) +l: (-10.00000000, -4.00000000, 20.00000000) +l_len: 22.715633383201094 +tc: 20 +d: NaN +Camera coords: 11. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 4.00000000, 0.00000000) +l: (-11.00000000, -4.00000000, 20.00000000) +l_len: 23.173260452512935 +tc: 20 +d: NaN +Camera coords: 12. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 4.00000000, 0.00000000) +l: (-12.00000000, -4.00000000, 20.00000000) +l_len: 23.664319132398465 +tc: 20 +d: NaN +Camera coords: 13. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 4.00000000, 0.00000000) +l: (-13.00000000, -4.00000000, 20.00000000) +l_len: 24.186773244895647 +tc: 20 +d: NaN +Camera coords: 14. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 4.00000000, 0.00000000) +l: (-14.00000000, -4.00000000, 20.00000000) +l_len: 24.73863375370596 +tc: 20 +d: NaN +Camera coords: 15. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 4.00000000, 0.00000000) +l: (-15.00000000, -4.00000000, 20.00000000) +l_len: 25.317977802344327 +tc: 20 +d: NaN +Camera coords: 16. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 4.00000000, 0.00000000) +l: (-16.00000000, -4.00000000, 20.00000000) +l_len: 25.92296279363144 +tc: 20 +d: NaN +Camera coords: 17. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 4.00000000, 0.00000000) +l: (-17.00000000, -4.00000000, 20.00000000) +l_len: 26.551836094703507 +tc: 20 +d: NaN +Camera coords: 18. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 4.00000000, 0.00000000) +l: (-18.00000000, -4.00000000, 20.00000000) +l_len: 27.202941017470888 +tc: 20 +d: NaN +Camera coords: 19. 4 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 4.00000000, 0.00000000) +l: (-19.00000000, -4.00000000, 20.00000000) +l_len: 27.874719729532707 +tc: 20 +d: NaN +Camera coords: 0. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 5.00000000, 0.00000000) +l: (0.00000000, -5.00000000, 20.00000000) +l_len: 20.615528128088304 +tc: 20 +d: NaN +Camera coords: 1. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 5.00000000, 0.00000000) +l: (-1.00000000, -5.00000000, 20.00000000) +l_len: 20.639767440550294 +tc: 20 +d: NaN +Camera coords: 2. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 5.00000000, 0.00000000) +l: (-2.00000000, -5.00000000, 20.00000000) +l_len: 20.71231517720798 +tc: 20 +d: NaN +Camera coords: 3. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 5.00000000, 0.00000000) +l: (-3.00000000, -5.00000000, 20.00000000) +l_len: 20.83266665599966 +tc: 20 +d: NaN +Camera coords: 4. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 5.00000000, 0.00000000) +l: (-4.00000000, -5.00000000, 20.00000000) +l_len: 21 +tc: 20 +d: NaN +Camera coords: 5. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 5.00000000, 0.00000000) +l: (-5.00000000, -5.00000000, 20.00000000) +l_len: 21.213203435596427 +tc: 20 +d: NaN +Camera coords: 6. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 5.00000000, 0.00000000) +l: (-6.00000000, -5.00000000, 20.00000000) +l_len: 21.470910553583888 +tc: 20 +d: NaN +Camera coords: 7. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 5.00000000, 0.00000000) +l: (-7.00000000, -5.00000000, 20.00000000) +l_len: 21.77154105707724 +tc: 20 +d: NaN +Camera coords: 8. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 5.00000000, 0.00000000) +l: (-8.00000000, -5.00000000, 20.00000000) +l_len: 22.11334438749598 +tc: 20 +d: NaN +Camera coords: 9. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 5.00000000, 0.00000000) +l: (-9.00000000, -5.00000000, 20.00000000) +l_len: 22.494443758403985 +tc: 20 +d: NaN +Camera coords: 10. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 5.00000000, 0.00000000) +l: (-10.00000000, -5.00000000, 20.00000000) +l_len: 22.9128784747792 +tc: 20 +d: NaN +Camera coords: 11. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 5.00000000, 0.00000000) +l: (-11.00000000, -5.00000000, 20.00000000) +l_len: 23.366642891095847 +tc: 20 +d: NaN +Camera coords: 12. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 5.00000000, 0.00000000) +l: (-12.00000000, -5.00000000, 20.00000000) +l_len: 23.853720883753127 +tc: 20 +d: NaN +Camera coords: 13. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 5.00000000, 0.00000000) +l: (-13.00000000, -5.00000000, 20.00000000) +l_len: 24.372115213907882 +tc: 20 +d: NaN +Camera coords: 14. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 5.00000000, 0.00000000) +l: (-14.00000000, -5.00000000, 20.00000000) +l_len: 24.919871588754223 +tc: 20 +d: NaN +Camera coords: 15. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 5.00000000, 0.00000000) +l: (-15.00000000, -5.00000000, 20.00000000) +l_len: 25.495097567963924 +tc: 20 +d: NaN +Camera coords: 16. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 5.00000000, 0.00000000) +l: (-16.00000000, -5.00000000, 20.00000000) +l_len: 26.095976701399778 +tc: 20 +d: NaN +Camera coords: 17. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 5.00000000, 0.00000000) +l: (-17.00000000, -5.00000000, 20.00000000) +l_len: 26.720778431774775 +tc: 20 +d: NaN +Camera coords: 18. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 5.00000000, 0.00000000) +l: (-18.00000000, -5.00000000, 20.00000000) +l_len: 27.367864366808018 +tc: 20 +d: NaN +Camera coords: 19. 5 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 5.00000000, 0.00000000) +l: (-19.00000000, -5.00000000, 20.00000000) +l_len: 28.035691537752374 +tc: 20 +d: NaN +Camera coords: 0. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 6.00000000, 0.00000000) +l: (0.00000000, -6.00000000, 20.00000000) +l_len: 20.8806130178211 +tc: 20 +d: NaN +Camera coords: 1. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 6.00000000, 0.00000000) +l: (-1.00000000, -6.00000000, 20.00000000) +l_len: 20.904544960366874 +tc: 20 +d: NaN +Camera coords: 2. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 6.00000000, 0.00000000) +l: (-2.00000000, -6.00000000, 20.00000000) +l_len: 20.97617696340303 +tc: 20 +d: NaN +Camera coords: 3. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 6.00000000, 0.00000000) +l: (-3.00000000, -6.00000000, 20.00000000) +l_len: 21.095023109728988 +tc: 20 +d: NaN +Camera coords: 4. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 6.00000000, 0.00000000) +l: (-4.00000000, -6.00000000, 20.00000000) +l_len: 21.2602916254693 +tc: 20 +d: NaN +Camera coords: 5. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 6.00000000, 0.00000000) +l: (-5.00000000, -6.00000000, 20.00000000) +l_len: 21.470910553583888 +tc: 20 +d: NaN +Camera coords: 6. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 6.00000000, 0.00000000) +l: (-6.00000000, -6.00000000, 20.00000000) +l_len: 21.72556098240043 +tc: 20 +d: NaN +Camera coords: 7. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 6.00000000, 0.00000000) +l: (-7.00000000, -6.00000000, 20.00000000) +l_len: 22.02271554554524 +tc: 20 +d: NaN +Camera coords: 8. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 6.00000000, 0.00000000) +l: (-8.00000000, -6.00000000, 20.00000000) +l_len: 22.360679774997898 +tc: 20 +d: NaN +Camera coords: 9. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 6.00000000, 0.00000000) +l: (-9.00000000, -6.00000000, 20.00000000) +l_len: 22.737634001804146 +tc: 20 +d: NaN +Camera coords: 10. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 6.00000000, 0.00000000) +l: (-10.00000000, -6.00000000, 20.00000000) +l_len: 23.15167380558045 +tc: 20 +d: NaN +Camera coords: 11. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 6.00000000, 0.00000000) +l: (-11.00000000, -6.00000000, 20.00000000) +l_len: 23.600847442411894 +tc: 20 +d: NaN +Camera coords: 12. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 6.00000000, 0.00000000) +l: (-12.00000000, -6.00000000, 20.00000000) +l_len: 24.08318915758459 +tc: 20 +d: NaN +Camera coords: 13. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 6.00000000, 0.00000000) +l: (-13.00000000, -6.00000000, 20.00000000) +l_len: 24.596747752497688 +tc: 20 +d: NaN +Camera coords: 14. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 6.00000000, 0.00000000) +l: (-14.00000000, -6.00000000, 20.00000000) +l_len: 25.13961017995307 +tc: 20 +d: NaN +Camera coords: 15. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 6.00000000, 0.00000000) +l: (-15.00000000, -6.00000000, 20.00000000) +l_len: 25.709920264364882 +tc: 20 +d: NaN +Camera coords: 16. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 6.00000000, 0.00000000) +l: (-16.00000000, -6.00000000, 20.00000000) +l_len: 26.30589287593181 +tc: 20 +d: NaN +Camera coords: 17. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 6.00000000, 0.00000000) +l: (-17.00000000, -6.00000000, 20.00000000) +l_len: 26.92582403567252 +tc: 20 +d: NaN +Camera coords: 18. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 6.00000000, 0.00000000) +l: (-18.00000000, -6.00000000, 20.00000000) +l_len: 27.568097504180443 +tc: 20 +d: NaN +Camera coords: 19. 6 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 6.00000000, 0.00000000) +l: (-19.00000000, -6.00000000, 20.00000000) +l_len: 28.231188426986208 +tc: 20 +d: NaN +Camera coords: 0. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 7.00000000, 0.00000000) +l: (0.00000000, -7.00000000, 20.00000000) +l_len: 21.18962010041709 +tc: 20 +d: NaN +Camera coords: 1. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 7.00000000, 0.00000000) +l: (-1.00000000, -7.00000000, 20.00000000) +l_len: 21.213203435596427 +tc: 20 +d: NaN +Camera coords: 2. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 7.00000000, 0.00000000) +l: (-2.00000000, -7.00000000, 20.00000000) +l_len: 21.283796653792763 +tc: 20 +d: NaN +Camera coords: 3. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 7.00000000, 0.00000000) +l: (-3.00000000, -7.00000000, 20.00000000) +l_len: 21.400934559032695 +tc: 20 +d: NaN +Camera coords: 4. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 7.00000000, 0.00000000) +l: (-4.00000000, -7.00000000, 20.00000000) +l_len: 21.563858652847824 +tc: 20 +d: NaN +Camera coords: 5. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 7.00000000, 0.00000000) +l: (-5.00000000, -7.00000000, 20.00000000) +l_len: 21.77154105707724 +tc: 20 +d: NaN +Camera coords: 6. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 7.00000000, 0.00000000) +l: (-6.00000000, -7.00000000, 20.00000000) +l_len: 22.02271554554524 +tc: 20 +d: NaN +Camera coords: 7. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 7.00000000, 0.00000000) +l: (-7.00000000, -7.00000000, 20.00000000) +l_len: 22.315913604421397 +tc: 20 +d: NaN +Camera coords: 8. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 7.00000000, 0.00000000) +l: (-8.00000000, -7.00000000, 20.00000000) +l_len: 22.64950330581225 +tc: 20 +d: NaN +Camera coords: 9. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 7.00000000, 0.00000000) +l: (-9.00000000, -7.00000000, 20.00000000) +l_len: 23.021728866442675 +tc: 20 +d: NaN +Camera coords: 10. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 7.00000000, 0.00000000) +l: (-10.00000000, -7.00000000, 20.00000000) +l_len: 23.430749027719962 +tc: 20 +d: NaN +Camera coords: 11. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 7.00000000, 0.00000000) +l: (-11.00000000, -7.00000000, 20.00000000) +l_len: 23.874672772626646 +tc: 20 +d: NaN +Camera coords: 12. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 7.00000000, 0.00000000) +l: (-12.00000000, -7.00000000, 20.00000000) +l_len: 24.351591323771842 +tc: 20 +d: NaN +Camera coords: 13. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 7.00000000, 0.00000000) +l: (-13.00000000, -7.00000000, 20.00000000) +l_len: 24.859605789312106 +tc: 20 +d: NaN +Camera coords: 14. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 7.00000000, 0.00000000) +l: (-14.00000000, -7.00000000, 20.00000000) +l_len: 25.39685019840059 +tc: 20 +d: NaN +Camera coords: 15. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 7.00000000, 0.00000000) +l: (-15.00000000, -7.00000000, 20.00000000) +l_len: 25.96150997149434 +tc: 20 +d: NaN +Camera coords: 16. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 7.00000000, 0.00000000) +l: (-16.00000000, -7.00000000, 20.00000000) +l_len: 26.551836094703507 +tc: 20 +d: NaN +Camera coords: 17. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 7.00000000, 0.00000000) +l: (-17.00000000, -7.00000000, 20.00000000) +l_len: 27.16615541441225 +tc: 20 +d: NaN +Camera coords: 18. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 7.00000000, 0.00000000) +l: (-18.00000000, -7.00000000, 20.00000000) +l_len: 27.80287754891569 +tc: 20 +d: NaN +Camera coords: 19. 7 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 7.00000000, 0.00000000) +l: (-19.00000000, -7.00000000, 20.00000000) +l_len: 28.460498941515414 +tc: 20 +d: NaN +Camera coords: 0. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 8.00000000, 0.00000000) +l: (0.00000000, -8.00000000, 20.00000000) +l_len: 21.540659228538015 +tc: 20 +d: NaN +Camera coords: 1. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 8.00000000, 0.00000000) +l: (-1.00000000, -8.00000000, 20.00000000) +l_len: 21.563858652847824 +tc: 20 +d: NaN +Camera coords: 2. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 8.00000000, 0.00000000) +l: (-2.00000000, -8.00000000, 20.00000000) +l_len: 21.633307652783937 +tc: 20 +d: NaN +Camera coords: 3. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 8.00000000, 0.00000000) +l: (-3.00000000, -8.00000000, 20.00000000) +l_len: 21.748563170931547 +tc: 20 +d: NaN +Camera coords: 4. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 8.00000000, 0.00000000) +l: (-4.00000000, -8.00000000, 20.00000000) +l_len: 21.908902300206645 +tc: 20 +d: NaN +Camera coords: 5. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 8.00000000, 0.00000000) +l: (-5.00000000, -8.00000000, 20.00000000) +l_len: 22.11334438749598 +tc: 20 +d: NaN +Camera coords: 6. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 8.00000000, 0.00000000) +l: (-6.00000000, -8.00000000, 20.00000000) +l_len: 22.360679774997898 +tc: 20 +d: NaN +Camera coords: 7. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 8.00000000, 0.00000000) +l: (-7.00000000, -8.00000000, 20.00000000) +l_len: 22.64950330581225 +tc: 20 +d: NaN +Camera coords: 8. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 8.00000000, 0.00000000) +l: (-8.00000000, -8.00000000, 20.00000000) +l_len: 22.978250586152114 +tc: 20 +d: NaN +Camera coords: 9. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 8.00000000, 0.00000000) +l: (-9.00000000, -8.00000000, 20.00000000) +l_len: 23.345235059857504 +tc: 20 +d: NaN +Camera coords: 10. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 8.00000000, 0.00000000) +l: (-10.00000000, -8.00000000, 20.00000000) +l_len: 23.748684174075834 +tc: 20 +d: NaN +Camera coords: 11. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 8.00000000, 0.00000000) +l: (-11.00000000, -8.00000000, 20.00000000) +l_len: 24.186773244895647 +tc: 20 +d: NaN +Camera coords: 12. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 8.00000000, 0.00000000) +l: (-12.00000000, -8.00000000, 20.00000000) +l_len: 24.657656011875904 +tc: 20 +d: NaN +Camera coords: 13. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 8.00000000, 0.00000000) +l: (-13.00000000, -8.00000000, 20.00000000) +l_len: 25.15949125081825 +tc: 20 +d: NaN +Camera coords: 14. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 8.00000000, 0.00000000) +l: (-14.00000000, -8.00000000, 20.00000000) +l_len: 25.69046515733026 +tc: 20 +d: NaN +Camera coords: 15. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 8.00000000, 0.00000000) +l: (-15.00000000, -8.00000000, 20.00000000) +l_len: 26.248809496813376 +tc: 20 +d: NaN +Camera coords: 16. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 8.00000000, 0.00000000) +l: (-16.00000000, -8.00000000, 20.00000000) +l_len: 26.832815729997478 +tc: 20 +d: NaN +Camera coords: 17. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 8.00000000, 0.00000000) +l: (-17.00000000, -8.00000000, 20.00000000) +l_len: 27.440845468024488 +tc: 20 +d: NaN +Camera coords: 18. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 8.00000000, 0.00000000) +l: (-18.00000000, -8.00000000, 20.00000000) +l_len: 28.071337695236398 +tc: 20 +d: NaN +Camera coords: 19. 8 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 8.00000000, 0.00000000) +l: (-19.00000000, -8.00000000, 20.00000000) +l_len: 28.722813232690143 +tc: 20 +d: NaN +Camera coords: 0. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 9.00000000, 0.00000000) +l: (0.00000000, -9.00000000, 20.00000000) +l_len: 21.93171219946131 +tc: 20 +d: NaN +Camera coords: 1. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 9.00000000, 0.00000000) +l: (-1.00000000, -9.00000000, 20.00000000) +l_len: 21.95449840010015 +tc: 20 +d: NaN +Camera coords: 2. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 9.00000000, 0.00000000) +l: (-2.00000000, -9.00000000, 20.00000000) +l_len: 22.02271554554524 +tc: 20 +d: NaN +Camera coords: 3. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 9.00000000, 0.00000000) +l: (-3.00000000, -9.00000000, 20.00000000) +l_len: 22.135943621178654 +tc: 20 +d: NaN +Camera coords: 4. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 9.00000000, 0.00000000) +l: (-4.00000000, -9.00000000, 20.00000000) +l_len: 22.293496809607955 +tc: 20 +d: NaN +Camera coords: 5. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 9.00000000, 0.00000000) +l: (-5.00000000, -9.00000000, 20.00000000) +l_len: 22.494443758403985 +tc: 20 +d: NaN +Camera coords: 6. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 9.00000000, 0.00000000) +l: (-6.00000000, -9.00000000, 20.00000000) +l_len: 22.737634001804146 +tc: 20 +d: NaN +Camera coords: 7. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 9.00000000, 0.00000000) +l: (-7.00000000, -9.00000000, 20.00000000) +l_len: 23.021728866442675 +tc: 20 +d: NaN +Camera coords: 8. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 9.00000000, 0.00000000) +l: (-8.00000000, -9.00000000, 20.00000000) +l_len: 23.345235059857504 +tc: 20 +d: NaN +Camera coords: 9. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 9.00000000, 0.00000000) +l: (-9.00000000, -9.00000000, 20.00000000) +l_len: 23.706539182259394 +tc: 20 +d: NaN +Camera coords: 10. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 9.00000000, 0.00000000) +l: (-10.00000000, -9.00000000, 20.00000000) +l_len: 24.1039415863879 +tc: 20 +d: NaN +Camera coords: 11. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 9.00000000, 0.00000000) +l: (-11.00000000, -9.00000000, 20.00000000) +l_len: 24.535688292770594 +tc: 20 +d: NaN +Camera coords: 12. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 9.00000000, 0.00000000) +l: (-12.00000000, -9.00000000, 20.00000000) +l_len: 25 +tc: 20 +d: NaN +Camera coords: 13. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 9.00000000, 0.00000000) +l: (-13.00000000, -9.00000000, 20.00000000) +l_len: 25.495097567963924 +tc: 20 +d: NaN +Camera coords: 14. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 9.00000000, 0.00000000) +l: (-14.00000000, -9.00000000, 20.00000000) +l_len: 26.019223662515376 +tc: 20 +d: NaN +Camera coords: 15. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 9.00000000, 0.00000000) +l: (-15.00000000, -9.00000000, 20.00000000) +l_len: 26.570660511172846 +tc: 20 +d: NaN +Camera coords: 16. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 9.00000000, 0.00000000) +l: (-16.00000000, -9.00000000, 20.00000000) +l_len: 27.147743920996454 +tc: 20 +d: NaN +Camera coords: 17. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 9.00000000, 0.00000000) +l: (-17.00000000, -9.00000000, 20.00000000) +l_len: 27.748873851023216 +tc: 20 +d: NaN +Camera coords: 18. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 9.00000000, 0.00000000) +l: (-18.00000000, -9.00000000, 20.00000000) +l_len: 28.372521918222215 +tc: 20 +d: NaN +Camera coords: 19. 9 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 9.00000000, 0.00000000) +l: (-19.00000000, -9.00000000, 20.00000000) +l_len: 29.017236257093817 +tc: 20 +d: NaN +Camera coords: 0. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 10.00000000, 0.00000000) +l: (0.00000000, -10.00000000, 20.00000000) +l_len: 22.360679774997898 +tc: 20 +d: NaN +Camera coords: 1. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 10.00000000, 0.00000000) +l: (-1.00000000, -10.00000000, 20.00000000) +l_len: 22.38302928559939 +tc: 20 +d: NaN +Camera coords: 2. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 10.00000000, 0.00000000) +l: (-2.00000000, -10.00000000, 20.00000000) +l_len: 22.44994432064365 +tc: 20 +d: NaN +Camera coords: 3. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 10.00000000, 0.00000000) +l: (-3.00000000, -10.00000000, 20.00000000) +l_len: 22.561028345356956 +tc: 20 +d: NaN +Camera coords: 4. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 10.00000000, 0.00000000) +l: (-4.00000000, -10.00000000, 20.00000000) +l_len: 22.715633383201094 +tc: 20 +d: NaN +Camera coords: 5. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 10.00000000, 0.00000000) +l: (-5.00000000, -10.00000000, 20.00000000) +l_len: 22.9128784747792 +tc: 20 +d: NaN +Camera coords: 6. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 10.00000000, 0.00000000) +l: (-6.00000000, -10.00000000, 20.00000000) +l_len: 23.15167380558045 +tc: 20 +d: NaN +Camera coords: 7. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 10.00000000, 0.00000000) +l: (-7.00000000, -10.00000000, 20.00000000) +l_len: 23.430749027719962 +tc: 20 +d: NaN +Camera coords: 8. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 10.00000000, 0.00000000) +l: (-8.00000000, -10.00000000, 20.00000000) +l_len: 23.748684174075834 +tc: 20 +d: NaN +Camera coords: 9. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 10.00000000, 0.00000000) +l: (-9.00000000, -10.00000000, 20.00000000) +l_len: 24.1039415863879 +tc: 20 +d: NaN +Camera coords: 10. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 10.00000000, 0.00000000) +l: (-10.00000000, -10.00000000, 20.00000000) +l_len: 24.49489742783178 +tc: 20 +d: NaN +Camera coords: 11. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 10.00000000, 0.00000000) +l: (-11.00000000, -10.00000000, 20.00000000) +l_len: 24.919871588754223 +tc: 20 +d: NaN +Camera coords: 12. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 10.00000000, 0.00000000) +l: (-12.00000000, -10.00000000, 20.00000000) +l_len: 25.37715508089904 +tc: 20 +d: NaN +Camera coords: 13. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 10.00000000, 0.00000000) +l: (-13.00000000, -10.00000000, 20.00000000) +l_len: 25.865034312755125 +tc: 20 +d: NaN +Camera coords: 14. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 10.00000000, 0.00000000) +l: (-14.00000000, -10.00000000, 20.00000000) +l_len: 26.38181191654584 +tc: 20 +d: NaN +Camera coords: 15. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 10.00000000, 0.00000000) +l: (-15.00000000, -10.00000000, 20.00000000) +l_len: 26.92582403567252 +tc: 20 +d: NaN +Camera coords: 16. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 10.00000000, 0.00000000) +l: (-16.00000000, -10.00000000, 20.00000000) +l_len: 27.49545416973504 +tc: 20 +d: NaN +Camera coords: 17. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 10.00000000, 0.00000000) +l: (-17.00000000, -10.00000000, 20.00000000) +l_len: 28.089143810376278 +tc: 20 +d: NaN +Camera coords: 18. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 10.00000000, 0.00000000) +l: (-18.00000000, -10.00000000, 20.00000000) +l_len: 28.705400188814647 +tc: 20 +d: NaN +Camera coords: 19. 10 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 10.00000000, 0.00000000) +l: (-19.00000000, -10.00000000, 20.00000000) +l_len: 29.34280150224242 +tc: 20 +d: NaN +Camera coords: 0. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 11.00000000, 0.00000000) +l: (0.00000000, -11.00000000, 20.00000000) +l_len: 22.825424421026653 +tc: 20 +d: NaN +Camera coords: 1. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 11.00000000, 0.00000000) +l: (-1.00000000, -11.00000000, 20.00000000) +l_len: 22.847319317591726 +tc: 20 +d: NaN +Camera coords: 2. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 11.00000000, 0.00000000) +l: (-2.00000000, -11.00000000, 20.00000000) +l_len: 22.9128784747792 +tc: 20 +d: NaN +Camera coords: 3. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 11.00000000, 0.00000000) +l: (-3.00000000, -11.00000000, 20.00000000) +l_len: 23.021728866442675 +tc: 20 +d: NaN +Camera coords: 4. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 11.00000000, 0.00000000) +l: (-4.00000000, -11.00000000, 20.00000000) +l_len: 23.173260452512935 +tc: 20 +d: NaN +Camera coords: 5. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 11.00000000, 0.00000000) +l: (-5.00000000, -11.00000000, 20.00000000) +l_len: 23.366642891095847 +tc: 20 +d: NaN +Camera coords: 6. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 11.00000000, 0.00000000) +l: (-6.00000000, -11.00000000, 20.00000000) +l_len: 23.600847442411894 +tc: 20 +d: NaN +Camera coords: 7. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 11.00000000, 0.00000000) +l: (-7.00000000, -11.00000000, 20.00000000) +l_len: 23.874672772626646 +tc: 20 +d: NaN +Camera coords: 8. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 11.00000000, 0.00000000) +l: (-8.00000000, -11.00000000, 20.00000000) +l_len: 24.186773244895647 +tc: 20 +d: NaN +Camera coords: 9. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 11.00000000, 0.00000000) +l: (-9.00000000, -11.00000000, 20.00000000) +l_len: 24.535688292770594 +tc: 20 +d: NaN +Camera coords: 10. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 11.00000000, 0.00000000) +l: (-10.00000000, -11.00000000, 20.00000000) +l_len: 24.919871588754223 +tc: 20 +d: NaN +Camera coords: 11. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 11.00000000, 0.00000000) +l: (-11.00000000, -11.00000000, 20.00000000) +l_len: 25.337718918639855 +tc: 20 +d: NaN +Camera coords: 12. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 11.00000000, 0.00000000) +l: (-12.00000000, -11.00000000, 20.00000000) +l_len: 25.787593916455254 +tc: 20 +d: NaN +Camera coords: 13. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 11.00000000, 0.00000000) +l: (-13.00000000, -11.00000000, 20.00000000) +l_len: 26.267851073127396 +tc: 20 +d: NaN +Camera coords: 14. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 11.00000000, 0.00000000) +l: (-14.00000000, -11.00000000, 20.00000000) +l_len: 26.77685567799177 +tc: 20 +d: NaN +Camera coords: 15. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 11.00000000, 0.00000000) +l: (-15.00000000, -11.00000000, 20.00000000) +l_len: 27.313000567495326 +tc: 20 +d: NaN +Camera coords: 16. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 11.00000000, 0.00000000) +l: (-16.00000000, -11.00000000, 20.00000000) +l_len: 27.874719729532707 +tc: 20 +d: NaN +Camera coords: 17. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 11.00000000, 0.00000000) +l: (-17.00000000, -11.00000000, 20.00000000) +l_len: 28.460498941515414 +tc: 20 +d: NaN +Camera coords: 18. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 11.00000000, 0.00000000) +l: (-18.00000000, -11.00000000, 20.00000000) +l_len: 29.068883707497267 +tc: 20 +d: NaN +Camera coords: 19. 11 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 11.00000000, 0.00000000) +l: (-19.00000000, -11.00000000, 20.00000000) +l_len: 29.698484809834994 +tc: 20 +d: NaN +Camera coords: 0. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 12.00000000, 0.00000000) +l: (0.00000000, -12.00000000, 20.00000000) +l_len: 23.323807579381203 +tc: 20 +d: NaN +Camera coords: 1. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 12.00000000, 0.00000000) +l: (-1.00000000, -12.00000000, 20.00000000) +l_len: 23.345235059857504 +tc: 20 +d: NaN +Camera coords: 2. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 12.00000000, 0.00000000) +l: (-2.00000000, -12.00000000, 20.00000000) +l_len: 23.40939982143925 +tc: 20 +d: NaN +Camera coords: 3. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 12.00000000, 0.00000000) +l: (-3.00000000, -12.00000000, 20.00000000) +l_len: 23.515952032609693 +tc: 20 +d: NaN +Camera coords: 4. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 12.00000000, 0.00000000) +l: (-4.00000000, -12.00000000, 20.00000000) +l_len: 23.664319132398465 +tc: 20 +d: NaN +Camera coords: 5. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 12.00000000, 0.00000000) +l: (-5.00000000, -12.00000000, 20.00000000) +l_len: 23.853720883753127 +tc: 20 +d: NaN +Camera coords: 6. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 12.00000000, 0.00000000) +l: (-6.00000000, -12.00000000, 20.00000000) +l_len: 24.08318915758459 +tc: 20 +d: NaN +Camera coords: 7. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 12.00000000, 0.00000000) +l: (-7.00000000, -12.00000000, 20.00000000) +l_len: 24.351591323771842 +tc: 20 +d: NaN +Camera coords: 8. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 12.00000000, 0.00000000) +l: (-8.00000000, -12.00000000, 20.00000000) +l_len: 24.657656011875904 +tc: 20 +d: NaN +Camera coords: 9. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 12.00000000, 0.00000000) +l: (-9.00000000, -12.00000000, 20.00000000) +l_len: 25 +tc: 20 +d: NaN +Camera coords: 10. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 12.00000000, 0.00000000) +l: (-10.00000000, -12.00000000, 20.00000000) +l_len: 25.37715508089904 +tc: 20 +d: NaN +Camera coords: 11. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 12.00000000, 0.00000000) +l: (-11.00000000, -12.00000000, 20.00000000) +l_len: 25.787593916455254 +tc: 20 +d: NaN +Camera coords: 12. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 12.00000000, 0.00000000) +l: (-12.00000000, -12.00000000, 20.00000000) +l_len: 26.229754097208 +tc: 20 +d: NaN +Camera coords: 13. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 12.00000000, 0.00000000) +l: (-13.00000000, -12.00000000, 20.00000000) +l_len: 26.70205984563738 +tc: 20 +d: NaN +Camera coords: 14. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 12.00000000, 0.00000000) +l: (-14.00000000, -12.00000000, 20.00000000) +l_len: 27.202941017470888 +tc: 20 +d: NaN +Camera coords: 15. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 12.00000000, 0.00000000) +l: (-15.00000000, -12.00000000, 20.00000000) +l_len: 27.730849247724095 +tc: 20 +d: NaN +Camera coords: 16. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 12.00000000, 0.00000000) +l: (-16.00000000, -12.00000000, 20.00000000) +l_len: 28.284271247461902 +tc: 20 +d: NaN +Camera coords: 17. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 12.00000000, 0.00000000) +l: (-17.00000000, -12.00000000, 20.00000000) +l_len: 28.861739379323623 +tc: 20 +d: NaN +Camera coords: 18. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 12.00000000, 0.00000000) +l: (-18.00000000, -12.00000000, 20.00000000) +l_len: 29.46183972531247 +tc: 20 +d: NaN +Camera coords: 19. 12 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 12.00000000, 0.00000000) +l: (-19.00000000, -12.00000000, 20.00000000) +l_len: 30.083217912982647 +tc: 20 +d: NaN +Camera coords: 0. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 13.00000000, 0.00000000) +l: (0.00000000, -13.00000000, 20.00000000) +l_len: 23.853720883753127 +tc: 20 +d: NaN +Camera coords: 1. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 13.00000000, 0.00000000) +l: (-1.00000000, -13.00000000, 20.00000000) +l_len: 23.874672772626646 +tc: 20 +d: NaN +Camera coords: 2. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 13.00000000, 0.00000000) +l: (-2.00000000, -13.00000000, 20.00000000) +l_len: 23.93741840717165 +tc: 20 +d: NaN +Camera coords: 3. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 13.00000000, 0.00000000) +l: (-3.00000000, -13.00000000, 20.00000000) +l_len: 24.041630560342615 +tc: 20 +d: NaN +Camera coords: 4. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 13.00000000, 0.00000000) +l: (-4.00000000, -13.00000000, 20.00000000) +l_len: 24.186773244895647 +tc: 20 +d: NaN +Camera coords: 5. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 13.00000000, 0.00000000) +l: (-5.00000000, -13.00000000, 20.00000000) +l_len: 24.372115213907882 +tc: 20 +d: NaN +Camera coords: 6. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 13.00000000, 0.00000000) +l: (-6.00000000, -13.00000000, 20.00000000) +l_len: 24.596747752497688 +tc: 20 +d: NaN +Camera coords: 7. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 13.00000000, 0.00000000) +l: (-7.00000000, -13.00000000, 20.00000000) +l_len: 24.859605789312106 +tc: 20 +d: NaN +Camera coords: 8. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 13.00000000, 0.00000000) +l: (-8.00000000, -13.00000000, 20.00000000) +l_len: 25.15949125081825 +tc: 20 +d: NaN +Camera coords: 9. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 13.00000000, 0.00000000) +l: (-9.00000000, -13.00000000, 20.00000000) +l_len: 25.495097567963924 +tc: 20 +d: NaN +Camera coords: 10. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 13.00000000, 0.00000000) +l: (-10.00000000, -13.00000000, 20.00000000) +l_len: 25.865034312755125 +tc: 20 +d: NaN +Camera coords: 11. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 13.00000000, 0.00000000) +l: (-11.00000000, -13.00000000, 20.00000000) +l_len: 26.267851073127396 +tc: 20 +d: NaN +Camera coords: 12. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 13.00000000, 0.00000000) +l: (-12.00000000, -13.00000000, 20.00000000) +l_len: 26.70205984563738 +tc: 20 +d: NaN +Camera coords: 13. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 13.00000000, 0.00000000) +l: (-13.00000000, -13.00000000, 20.00000000) +l_len: 27.16615541441225 +tc: 20 +d: NaN +Camera coords: 14. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 13.00000000, 0.00000000) +l: (-14.00000000, -13.00000000, 20.00000000) +l_len: 27.65863337187866 +tc: 20 +d: NaN +Camera coords: 15. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 13.00000000, 0.00000000) +l: (-15.00000000, -13.00000000, 20.00000000) +l_len: 28.178005607210743 +tc: 20 +d: NaN +Camera coords: 16. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 13.00000000, 0.00000000) +l: (-16.00000000, -13.00000000, 20.00000000) +l_len: 28.722813232690143 +tc: 20 +d: NaN +Camera coords: 17. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 13.00000000, 0.00000000) +l: (-17.00000000, -13.00000000, 20.00000000) +l_len: 29.29163703175362 +tc: 20 +d: NaN +Camera coords: 18. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 13.00000000, 0.00000000) +l: (-18.00000000, -13.00000000, 20.00000000) +l_len: 29.88310559496787 +tc: 20 +d: NaN +Camera coords: 19. 13 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 13.00000000, 0.00000000) +l: (-19.00000000, -13.00000000, 20.00000000) +l_len: 30.495901363953813 +tc: 20 +d: NaN +Camera coords: 0. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 14.00000000, 0.00000000) +l: (0.00000000, -14.00000000, 20.00000000) +l_len: 24.413111231467404 +tc: 20 +d: NaN +Camera coords: 1. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 14.00000000, 0.00000000) +l: (-1.00000000, -14.00000000, 20.00000000) +l_len: 24.43358344574123 +tc: 20 +d: NaN +Camera coords: 2. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 14.00000000, 0.00000000) +l: (-2.00000000, -14.00000000, 20.00000000) +l_len: 24.49489742783178 +tc: 20 +d: NaN +Camera coords: 3. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 14.00000000, 0.00000000) +l: (-3.00000000, -14.00000000, 20.00000000) +l_len: 24.596747752497688 +tc: 20 +d: NaN +Camera coords: 4. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 14.00000000, 0.00000000) +l: (-4.00000000, -14.00000000, 20.00000000) +l_len: 24.73863375370596 +tc: 20 +d: NaN +Camera coords: 5. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 14.00000000, 0.00000000) +l: (-5.00000000, -14.00000000, 20.00000000) +l_len: 24.919871588754223 +tc: 20 +d: NaN +Camera coords: 6. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 14.00000000, 0.00000000) +l: (-6.00000000, -14.00000000, 20.00000000) +l_len: 25.13961017995307 +tc: 20 +d: NaN +Camera coords: 7. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 14.00000000, 0.00000000) +l: (-7.00000000, -14.00000000, 20.00000000) +l_len: 25.39685019840059 +tc: 20 +d: NaN +Camera coords: 8. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 14.00000000, 0.00000000) +l: (-8.00000000, -14.00000000, 20.00000000) +l_len: 25.69046515733026 +tc: 20 +d: NaN +Camera coords: 9. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 14.00000000, 0.00000000) +l: (-9.00000000, -14.00000000, 20.00000000) +l_len: 26.019223662515376 +tc: 20 +d: NaN +Camera coords: 10. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 14.00000000, 0.00000000) +l: (-10.00000000, -14.00000000, 20.00000000) +l_len: 26.38181191654584 +tc: 20 +d: NaN +Camera coords: 11. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 14.00000000, 0.00000000) +l: (-11.00000000, -14.00000000, 20.00000000) +l_len: 26.77685567799177 +tc: 20 +d: NaN +Camera coords: 12. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 14.00000000, 0.00000000) +l: (-12.00000000, -14.00000000, 20.00000000) +l_len: 27.202941017470888 +tc: 20 +d: NaN +Camera coords: 13. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 14.00000000, 0.00000000) +l: (-13.00000000, -14.00000000, 20.00000000) +l_len: 27.65863337187866 +tc: 20 +d: NaN +Camera coords: 14. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 14.00000000, 0.00000000) +l: (-14.00000000, -14.00000000, 20.00000000) +l_len: 28.142494558940577 +tc: 20 +d: NaN +Camera coords: 15. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 14.00000000, 0.00000000) +l: (-15.00000000, -14.00000000, 20.00000000) +l_len: 28.653097563788805 +tc: 20 +d: NaN +Camera coords: 16. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 14.00000000, 0.00000000) +l: (-16.00000000, -14.00000000, 20.00000000) +l_len: 29.189039038652847 +tc: 20 +d: NaN +Camera coords: 17. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 14.00000000, 0.00000000) +l: (-17.00000000, -14.00000000, 20.00000000) +l_len: 29.748949561287034 +tc: 20 +d: NaN +Camera coords: 18. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 14.00000000, 0.00000000) +l: (-18.00000000, -14.00000000, 20.00000000) +l_len: 30.331501776206203 +tc: 20 +d: NaN +Camera coords: 19. 14 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 14.00000000, 0.00000000) +l: (-19.00000000, -14.00000000, 20.00000000) +l_len: 30.93541659651604 +tc: 20 +d: NaN +Camera coords: 0. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 15.00000000, 0.00000000) +l: (0.00000000, -15.00000000, 20.00000000) +l_len: 25 +tc: 20 +d: NaN +Camera coords: 1. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 15.00000000, 0.00000000) +l: (-1.00000000, -15.00000000, 20.00000000) +l_len: 25.019992006393608 +tc: 20 +d: NaN +Camera coords: 2. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 15.00000000, 0.00000000) +l: (-2.00000000, -15.00000000, 20.00000000) +l_len: 25.079872407968907 +tc: 20 +d: NaN +Camera coords: 3. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 15.00000000, 0.00000000) +l: (-3.00000000, -15.00000000, 20.00000000) +l_len: 25.179356624028344 +tc: 20 +d: NaN +Camera coords: 4. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 15.00000000, 0.00000000) +l: (-4.00000000, -15.00000000, 20.00000000) +l_len: 25.317977802344327 +tc: 20 +d: NaN +Camera coords: 5. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 15.00000000, 0.00000000) +l: (-5.00000000, -15.00000000, 20.00000000) +l_len: 25.495097567963924 +tc: 20 +d: NaN +Camera coords: 6. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 15.00000000, 0.00000000) +l: (-6.00000000, -15.00000000, 20.00000000) +l_len: 25.709920264364882 +tc: 20 +d: NaN +Camera coords: 7. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 15.00000000, 0.00000000) +l: (-7.00000000, -15.00000000, 20.00000000) +l_len: 25.96150997149434 +tc: 20 +d: NaN +Camera coords: 8. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 15.00000000, 0.00000000) +l: (-8.00000000, -15.00000000, 20.00000000) +l_len: 26.248809496813376 +tc: 20 +d: NaN +Camera coords: 9. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 15.00000000, 0.00000000) +l: (-9.00000000, -15.00000000, 20.00000000) +l_len: 26.570660511172846 +tc: 20 +d: NaN +Camera coords: 10. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 15.00000000, 0.00000000) +l: (-10.00000000, -15.00000000, 20.00000000) +l_len: 26.92582403567252 +tc: 20 +d: NaN +Camera coords: 11. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 15.00000000, 0.00000000) +l: (-11.00000000, -15.00000000, 20.00000000) +l_len: 27.313000567495326 +tc: 20 +d: NaN +Camera coords: 12. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 15.00000000, 0.00000000) +l: (-12.00000000, -15.00000000, 20.00000000) +l_len: 27.730849247724095 +tc: 20 +d: NaN +Camera coords: 13. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 15.00000000, 0.00000000) +l: (-13.00000000, -15.00000000, 20.00000000) +l_len: 28.178005607210743 +tc: 20 +d: NaN +Camera coords: 14. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 15.00000000, 0.00000000) +l: (-14.00000000, -15.00000000, 20.00000000) +l_len: 28.653097563788805 +tc: 20 +d: NaN +Camera coords: 15. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 15.00000000, 0.00000000) +l: (-15.00000000, -15.00000000, 20.00000000) +l_len: 29.154759474226502 +tc: 20 +d: NaN +Camera coords: 16. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 15.00000000, 0.00000000) +l: (-16.00000000, -15.00000000, 20.00000000) +l_len: 29.68164415931166 +tc: 20 +d: NaN +Camera coords: 17. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 15.00000000, 0.00000000) +l: (-17.00000000, -15.00000000, 20.00000000) +l_len: 30.23243291566195 +tc: 20 +d: NaN +Camera coords: 18. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 15.00000000, 0.00000000) +l: (-18.00000000, -15.00000000, 20.00000000) +l_len: 30.805843601498726 +tc: 20 +d: NaN +Camera coords: 19. 15 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 15.00000000, 0.00000000) +l: (-19.00000000, -15.00000000, 20.00000000) +l_len: 31.400636936215164 +tc: 20 +d: NaN +Camera coords: 0. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 16.00000000, 0.00000000) +l: (0.00000000, -16.00000000, 20.00000000) +l_len: 25.612496949731394 +tc: 20 +d: NaN +Camera coords: 1. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 16.00000000, 0.00000000) +l: (-1.00000000, -16.00000000, 20.00000000) +l_len: 25.632011235952593 +tc: 20 +d: NaN +Camera coords: 2. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 16.00000000, 0.00000000) +l: (-2.00000000, -16.00000000, 20.00000000) +l_len: 25.69046515733026 +tc: 20 +d: NaN +Camera coords: 3. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 16.00000000, 0.00000000) +l: (-3.00000000, -16.00000000, 20.00000000) +l_len: 25.787593916455254 +tc: 20 +d: NaN +Camera coords: 4. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 16.00000000, 0.00000000) +l: (-4.00000000, -16.00000000, 20.00000000) +l_len: 25.92296279363144 +tc: 20 +d: NaN +Camera coords: 5. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 16.00000000, 0.00000000) +l: (-5.00000000, -16.00000000, 20.00000000) +l_len: 26.095976701399778 +tc: 20 +d: NaN +Camera coords: 6. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 16.00000000, 0.00000000) +l: (-6.00000000, -16.00000000, 20.00000000) +l_len: 26.30589287593181 +tc: 20 +d: NaN +Camera coords: 7. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 16.00000000, 0.00000000) +l: (-7.00000000, -16.00000000, 20.00000000) +l_len: 26.551836094703507 +tc: 20 +d: NaN +Camera coords: 8. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 16.00000000, 0.00000000) +l: (-8.00000000, -16.00000000, 20.00000000) +l_len: 26.832815729997478 +tc: 20 +d: NaN +Camera coords: 9. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 16.00000000, 0.00000000) +l: (-9.00000000, -16.00000000, 20.00000000) +l_len: 27.147743920996454 +tc: 20 +d: NaN +Camera coords: 10. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 16.00000000, 0.00000000) +l: (-10.00000000, -16.00000000, 20.00000000) +l_len: 27.49545416973504 +tc: 20 +d: NaN +Camera coords: 11. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 16.00000000, 0.00000000) +l: (-11.00000000, -16.00000000, 20.00000000) +l_len: 27.874719729532707 +tc: 20 +d: NaN +Camera coords: 12. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 16.00000000, 0.00000000) +l: (-12.00000000, -16.00000000, 20.00000000) +l_len: 28.284271247461902 +tc: 20 +d: NaN +Camera coords: 13. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 16.00000000, 0.00000000) +l: (-13.00000000, -16.00000000, 20.00000000) +l_len: 28.722813232690143 +tc: 20 +d: NaN +Camera coords: 14. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 16.00000000, 0.00000000) +l: (-14.00000000, -16.00000000, 20.00000000) +l_len: 29.189039038652847 +tc: 20 +d: NaN +Camera coords: 15. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 16.00000000, 0.00000000) +l: (-15.00000000, -16.00000000, 20.00000000) +l_len: 29.68164415931166 +tc: 20 +d: NaN +Camera coords: 16. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 16.00000000, 0.00000000) +l: (-16.00000000, -16.00000000, 20.00000000) +l_len: 30.199337741083 +tc: 20 +d: NaN +Camera coords: 17. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 16.00000000, 0.00000000) +l: (-17.00000000, -16.00000000, 20.00000000) +l_len: 30.740852297878796 +tc: 20 +d: NaN +Camera coords: 18. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 16.00000000, 0.00000000) +l: (-18.00000000, -16.00000000, 20.00000000) +l_len: 31.304951684997057 +tc: 20 +d: NaN +Camera coords: 19. 16 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 16.00000000, 0.00000000) +l: (-19.00000000, -16.00000000, 20.00000000) +l_len: 31.89043743820395 +tc: 20 +d: NaN +Camera coords: 0. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 17.00000000, 0.00000000) +l: (0.00000000, -17.00000000, 20.00000000) +l_len: 26.248809496813376 +tc: 20 +d: NaN +Camera coords: 1. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 17.00000000, 0.00000000) +l: (-1.00000000, -17.00000000, 20.00000000) +l_len: 26.267851073127396 +tc: 20 +d: NaN +Camera coords: 2. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 17.00000000, 0.00000000) +l: (-2.00000000, -17.00000000, 20.00000000) +l_len: 26.324893162176366 +tc: 20 +d: NaN +Camera coords: 3. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 17.00000000, 0.00000000) +l: (-3.00000000, -17.00000000, 20.00000000) +l_len: 26.419689627245813 +tc: 20 +d: NaN +Camera coords: 4. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 17.00000000, 0.00000000) +l: (-4.00000000, -17.00000000, 20.00000000) +l_len: 26.551836094703507 +tc: 20 +d: NaN +Camera coords: 5. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 17.00000000, 0.00000000) +l: (-5.00000000, -17.00000000, 20.00000000) +l_len: 26.720778431774775 +tc: 20 +d: NaN +Camera coords: 6. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 17.00000000, 0.00000000) +l: (-6.00000000, -17.00000000, 20.00000000) +l_len: 26.92582403567252 +tc: 20 +d: NaN +Camera coords: 7. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 17.00000000, 0.00000000) +l: (-7.00000000, -17.00000000, 20.00000000) +l_len: 27.16615541441225 +tc: 20 +d: NaN +Camera coords: 8. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 17.00000000, 0.00000000) +l: (-8.00000000, -17.00000000, 20.00000000) +l_len: 27.440845468024488 +tc: 20 +d: NaN +Camera coords: 9. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 17.00000000, 0.00000000) +l: (-9.00000000, -17.00000000, 20.00000000) +l_len: 27.748873851023216 +tc: 20 +d: NaN +Camera coords: 10. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 17.00000000, 0.00000000) +l: (-10.00000000, -17.00000000, 20.00000000) +l_len: 28.089143810376278 +tc: 20 +d: NaN +Camera coords: 11. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 17.00000000, 0.00000000) +l: (-11.00000000, -17.00000000, 20.00000000) +l_len: 28.460498941515414 +tc: 20 +d: NaN +Camera coords: 12. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 17.00000000, 0.00000000) +l: (-12.00000000, -17.00000000, 20.00000000) +l_len: 28.861739379323623 +tc: 20 +d: NaN +Camera coords: 13. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 17.00000000, 0.00000000) +l: (-13.00000000, -17.00000000, 20.00000000) +l_len: 29.29163703175362 +tc: 20 +d: NaN +Camera coords: 14. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 17.00000000, 0.00000000) +l: (-14.00000000, -17.00000000, 20.00000000) +l_len: 29.748949561287034 +tc: 20 +d: NaN +Camera coords: 15. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 17.00000000, 0.00000000) +l: (-15.00000000, -17.00000000, 20.00000000) +l_len: 30.23243291566195 +tc: 20 +d: NaN +Camera coords: 16. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 17.00000000, 0.00000000) +l: (-16.00000000, -17.00000000, 20.00000000) +l_len: 30.740852297878796 +tc: 20 +d: NaN +Camera coords: 17. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 17.00000000, 0.00000000) +l: (-17.00000000, -17.00000000, 20.00000000) +l_len: 31.272991542223778 +tc: 20 +d: NaN +Camera coords: 18. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 17.00000000, 0.00000000) +l: (-18.00000000, -17.00000000, 20.00000000) +l_len: 31.827660925679098 +tc: 20 +d: NaN +Camera coords: 19. 17 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 17.00000000, 0.00000000) +l: (-19.00000000, -17.00000000, 20.00000000) +l_len: 32.4037034920393 +tc: 20 +d: NaN +Camera coords: 0. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 18.00000000, 0.00000000) +l: (0.00000000, -18.00000000, 20.00000000) +l_len: 26.90724809414742 +tc: 20 +d: NaN +Camera coords: 1. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 18.00000000, 0.00000000) +l: (-1.00000000, -18.00000000, 20.00000000) +l_len: 26.92582403567252 +tc: 20 +d: NaN +Camera coords: 2. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 18.00000000, 0.00000000) +l: (-2.00000000, -18.00000000, 20.00000000) +l_len: 26.981475126464083 +tc: 20 +d: NaN +Camera coords: 3. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 18.00000000, 0.00000000) +l: (-3.00000000, -18.00000000, 20.00000000) +l_len: 27.073972741361768 +tc: 20 +d: NaN +Camera coords: 4. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 18.00000000, 0.00000000) +l: (-4.00000000, -18.00000000, 20.00000000) +l_len: 27.202941017470888 +tc: 20 +d: NaN +Camera coords: 5. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 18.00000000, 0.00000000) +l: (-5.00000000, -18.00000000, 20.00000000) +l_len: 27.367864366808018 +tc: 20 +d: NaN +Camera coords: 6. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 18.00000000, 0.00000000) +l: (-6.00000000, -18.00000000, 20.00000000) +l_len: 27.568097504180443 +tc: 20 +d: NaN +Camera coords: 7. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 18.00000000, 0.00000000) +l: (-7.00000000, -18.00000000, 20.00000000) +l_len: 27.80287754891569 +tc: 20 +d: NaN +Camera coords: 8. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 18.00000000, 0.00000000) +l: (-8.00000000, -18.00000000, 20.00000000) +l_len: 28.071337695236398 +tc: 20 +d: NaN +Camera coords: 9. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 18.00000000, 0.00000000) +l: (-9.00000000, -18.00000000, 20.00000000) +l_len: 28.372521918222215 +tc: 20 +d: NaN +Camera coords: 10. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 18.00000000, 0.00000000) +l: (-10.00000000, -18.00000000, 20.00000000) +l_len: 28.705400188814647 +tc: 20 +d: NaN +Camera coords: 11. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 18.00000000, 0.00000000) +l: (-11.00000000, -18.00000000, 20.00000000) +l_len: 29.068883707497267 +tc: 20 +d: NaN +Camera coords: 12. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 18.00000000, 0.00000000) +l: (-12.00000000, -18.00000000, 20.00000000) +l_len: 29.46183972531247 +tc: 20 +d: NaN +Camera coords: 13. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 18.00000000, 0.00000000) +l: (-13.00000000, -18.00000000, 20.00000000) +l_len: 29.88310559496787 +tc: 20 +d: NaN +Camera coords: 14. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 18.00000000, 0.00000000) +l: (-14.00000000, -18.00000000, 20.00000000) +l_len: 30.331501776206203 +tc: 20 +d: NaN +Camera coords: 15. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 18.00000000, 0.00000000) +l: (-15.00000000, -18.00000000, 20.00000000) +l_len: 30.805843601498726 +tc: 20 +d: NaN +Camera coords: 16. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 18.00000000, 0.00000000) +l: (-16.00000000, -18.00000000, 20.00000000) +l_len: 31.304951684997057 +tc: 20 +d: NaN +Camera coords: 17. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 18.00000000, 0.00000000) +l: (-17.00000000, -18.00000000, 20.00000000) +l_len: 31.827660925679098 +tc: 20 +d: NaN +Camera coords: 18. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 18.00000000, 0.00000000) +l: (-18.00000000, -18.00000000, 20.00000000) +l_len: 32.37282811247729 +tc: 20 +d: NaN +Camera coords: 19. 18 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 18.00000000, 0.00000000) +l: (-19.00000000, -18.00000000, 20.00000000) +l_len: 32.93933818400121 +tc: 20 +d: NaN +Camera coords: 0. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (0.00000000, 19.00000000, 0.00000000) +l: (0.00000000, -19.00000000, 20.00000000) +l_len: 27.586228448267445 +tc: 20 +d: NaN +Camera coords: 1. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (1.00000000, 19.00000000, 0.00000000) +l: (-1.00000000, -19.00000000, 20.00000000) +l_len: 27.60434748368452 +tc: 20 +d: NaN +Camera coords: 2. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (2.00000000, 19.00000000, 0.00000000) +l: (-2.00000000, -19.00000000, 20.00000000) +l_len: 27.65863337187866 +tc: 20 +d: NaN +Camera coords: 3. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (3.00000000, 19.00000000, 0.00000000) +l: (-3.00000000, -19.00000000, 20.00000000) +l_len: 27.748873851023216 +tc: 20 +d: NaN +Camera coords: 4. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (4.00000000, 19.00000000, 0.00000000) +l: (-4.00000000, -19.00000000, 20.00000000) +l_len: 27.874719729532707 +tc: 20 +d: NaN +Camera coords: 5. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (5.00000000, 19.00000000, 0.00000000) +l: (-5.00000000, -19.00000000, 20.00000000) +l_len: 28.035691537752374 +tc: 20 +d: NaN +Camera coords: 6. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (6.00000000, 19.00000000, 0.00000000) +l: (-6.00000000, -19.00000000, 20.00000000) +l_len: 28.231188426986208 +tc: 20 +d: NaN +Camera coords: 7. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (7.00000000, 19.00000000, 0.00000000) +l: (-7.00000000, -19.00000000, 20.00000000) +l_len: 28.460498941515414 +tc: 20 +d: NaN +Camera coords: 8. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (8.00000000, 19.00000000, 0.00000000) +l: (-8.00000000, -19.00000000, 20.00000000) +l_len: 28.722813232690143 +tc: 20 +d: NaN +Camera coords: 9. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (9.00000000, 19.00000000, 0.00000000) +l: (-9.00000000, -19.00000000, 20.00000000) +l_len: 29.017236257093817 +tc: 20 +d: NaN +Camera coords: 10. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (10.00000000, 19.00000000, 0.00000000) +l: (-10.00000000, -19.00000000, 20.00000000) +l_len: 29.34280150224242 +tc: 20 +d: NaN +Camera coords: 11. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (11.00000000, 19.00000000, 0.00000000) +l: (-11.00000000, -19.00000000, 20.00000000) +l_len: 29.698484809834994 +tc: 20 +d: NaN +Camera coords: 12. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (12.00000000, 19.00000000, 0.00000000) +l: (-12.00000000, -19.00000000, 20.00000000) +l_len: 30.083217912982647 +tc: 20 +d: NaN +Camera coords: 13. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (13.00000000, 19.00000000, 0.00000000) +l: (-13.00000000, -19.00000000, 20.00000000) +l_len: 30.495901363953813 +tc: 20 +d: NaN +Camera coords: 14. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (14.00000000, 19.00000000, 0.00000000) +l: (-14.00000000, -19.00000000, 20.00000000) +l_len: 30.93541659651604 +tc: 20 +d: NaN +Camera coords: 15. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (15.00000000, 19.00000000, 0.00000000) +l: (-15.00000000, -19.00000000, 20.00000000) +l_len: 31.400636936215164 +tc: 20 +d: NaN +Camera coords: 16. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (16.00000000, 19.00000000, 0.00000000) +l: (-16.00000000, -19.00000000, 20.00000000) +l_len: 31.89043743820395 +tc: 20 +d: NaN +Camera coords: 17. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (17.00000000, 19.00000000, 0.00000000) +l: (-17.00000000, -19.00000000, 20.00000000) +l_len: 32.4037034920393 +tc: 20 +d: NaN +Camera coords: 18. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (18.00000000, 19.00000000, 0.00000000) +l: (-18.00000000, -19.00000000, 20.00000000) +l_len: 32.93933818400121 +tc: 20 +d: NaN +Camera coords: 19. 19 +self.pos: (0.00000000, 0.00000000, 20.00000000) +primary_ray.pos: (19.00000000, 19.00000000, 0.00000000) +l: (-19.00000000, -19.00000000, 20.00000000) +l_len: 33.49626844888845 +tc: 20 +d: NaN +Result: (0.00000000, 1.25000000, 4.00000000) diff --git a/src/main.rs b/src/main.rs index 7a41d60..75b091b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,36 +4,35 @@ use std::mem; extern crate bmp; extern crate nalgebra; -use nalgebra::Pnt3; -use nalgebra::Vec3; +use nalgebra::*; use bmp::Image; use bmp::Pixel; struct Ray { - pos: nalgebra::Pnt3, - dir: nalgebra::Vec3 + pos: Vec3, + dir: Vec3 } impl Ray { - fn new(pos: nalgebra::Pnt3, dir: nalgebra::Vec3) -> Ray { + fn new(pos: Vec3, dir: Vec3) -> Ray { Ray { pos: pos, dir: dir } } - fn at(&self, t: f64) -> Pnt3 { + fn at(&self, t: f64) -> Vec3 { self.pos + t * self.dir } } struct OrthoCamera { - pos: nalgebra::Pnt3, + pos: Vec3, plane: bmp::Image } impl OrthoCamera { - fn new(pos: nalgebra::Pnt3) -> OrthoCamera { + fn new(pos: Vec3) -> OrthoCamera { OrthoCamera { pos: pos, plane: Image::new(256,256) @@ -42,59 +41,66 @@ impl OrthoCamera { } struct Sphere { - pos: nalgebra::Pnt3, + pos: Vec3, radius: f64 } impl Sphere { - fn new(pos: nalgebra::Pnt3, radius: f64) -> Sphere { + fn new(pos: Vec3, radius: f64) -> Sphere { Sphere { pos: pos, radius: radius } } - fn intersection(primary_ray: Ray) -> Vec3 { - let t0: f64; - let t1: f64; + // Implemented from + // http://kylehalladay.com/blog/tutorial/math/2013/12/24/Ray-Sphere-Intersection.html + fn intersection(&self, primary_ray: Ray, t1: &mut f64, t2: &mut f64) -> bool { + let l = self.pos - primary_ray.pos; + let tc = dot(&l, &primary_ray.dir); - let center = Vec3::new(pos); - - return center; - } - - fn solve_quadratic(a: f64, b: f64, c: f64, x0: &mut f64, x1: &mut f64) -> bool { - let discr: f64 = b * b - 4.0 * a * c; - if discr < 0.0 { + if tc < 0.0 { return false; - } else if discr == 0.0 { - *x0 = - 0.5 * b / a; - *x1 = - 0.5 * b / a; - } else { - let q: f64 = if b > 0.0 { -0.5 * (b + f64::sqrt(discr)) } else { -0.5 * (b - f64::sqrt(discr)) }; - *x0 = q / a; - *x1 = c / q; } - if x0 > x1 { mem::swap(x0, x1); } + + let d = f64::sqrt((l.norm() * l.norm()) as f64 - (tc*tc)); + + if d > self.radius { return false }; + + let t1c = f64::sqrt(f64::powf(self.radius, 2.0) - f64::powf(d, 2.0)); + *t1 = tc - t1c; + *t2 = tc + t1c; + return true; } } fn main() { - let mut camera = OrthoCamera::new(Pnt3::new(0.0, 0.0, 0.0)); + let mut camera = OrthoCamera::new(Vec3::new(0.0, 0.0, 0.0)); let mut spheres = Vec::new(); - spheres.push(Sphere::new(Pnt3::new(0.0, 0.0, 20.0), 5.0)); + spheres.push(Sphere::new(Vec3::new(100.0, 100.0, 50.0), 25.0)); for (x, y) in camera.plane.coordinates() { - camera.plane.set_pixel(x, y, px!(x, y, 200)); + println!("Camera coords: {}. {}", x, y); + for sphere in &spheres { + let ray = Ray::new(Vec3::new(x as f64, y as f64, camera.pos.z as f64), Vec3::new(0.0, 0.0, 1.0)); + let mut t1 = 0.0; + let mut t2 = 0.0; + let result = sphere.intersection(ray, &mut t1, &mut t2); + if result == true { + camera.plane.set_pixel(x, y, px!(255, 255, 255)); + } else { + camera.plane.set_pixel(x, y, px!(0, 0, 0)); + } + } } let _ = camera.plane.save("img.bmp"); // Testing rays - let ray = Ray::new(Pnt3::new(0.0, 0.0, 0.0), Vec3::new(0.0, 0.25, 0.8)); + let ray = Ray::new(Vec3::new(0.0, 0.0, 0.0), Vec3::new(0.0, 0.25, 0.8)); let result = ray.at(5.0);