<p>Let's suppose that we have a light source. Which of the following are correct for the tree of recursive ray-tracing (ray tree) that create when we make the colors for each pixel in the screen. Which of the following are correct:</p>
<p>a) if scene contains of one non-convex polyhedron (random shape and position) then we can't have a bound for the height of tree in general. (Even the camera is outside of object)</p>
<p>b) if scene contains of two convex polyhedrons then the height of tree can be at most 2 independent of the position of camera and the position of objects (the camera is outside two objects)</p>
<p>c) if scene contains of two non-convex polyhedrons (random shape and position) then we can't have a bound for the height of tree in general. (Even the camera is outside of object)</p>
<p>d) if scene contains of one convex polyhedron then the height of tree can be at most 1 independent of the position of camera and the position of objects (the camera is outside of object)</p>
<p>e) if scene contains of one non-convex polyhedron then the height of tree can be at most 1 independent of the position of camera and the position of object (the camera is outside of object)</p>
<p>My thoughts are the following:</p>
<p>if a ray R1 inserts into a convex polyhedron object from front then always leave from the back another ray R2.So for convex objects i believe that we can define a height for the tree.</p>
<p>if the object is non-convex then we can have multiple different rays that insert and leave in the object. Because there are parts of object that if we get a line are not all in this object. So can we define as upper bound the number of vertices (or something else) of the object as the maximum number of possible rays ?</p>

CC BY-SA 4.0
2021-06-16T14:01:51.537Z
Neither because the question is no properly posed. If one makes the additional necessary guesswork to figure out what your assignment means, then a), c) and d).  d) because if a mesh is convex, and we assume that there is no transmission, then the bounces are only in the upper hemisphere, but they will not intersect the object again because of convexity. a) because I can construct configurations with infinitely many self-intersections for a non-convex shape, and from this c) obviously follows.
lightxbulb
CC BY-SA 4.0
2021-06-16T14:56:37.557Z
I have two questions why b) is not correct ? If i have in row two convex polyhedra then why i don't have a tree with height 2? Also i don't understand why a) is correct . If someone said that i can have a bound that is at most the number of vertices , why it's wrong. In polyhedra the ray pass through object. After it is non-convex one ray will pass many times .
Emily Serone
CC BY-SA 4.0
2021-06-16T15:03:54.543Z
For example in this image (http://erich.realtimerendering.com/ptinpoly/fig1.gif) we'll have R1,R2,R3.
Emily Serone
CC BY-SA 4.0
2021-06-16T15:13:49.887Z
We seem to have a misunderstanding. Your question suggests you are doing some form of ray-tracing with bounces.
What does the linked image have to do with your question? Then again, there are still not enough details in the question, so maybe you can elaborate. b) isn't correct because you can pick a ray angle that results in infinitely many bounces between two surfaces. I already explained why a) is correct, but maybe I didn't understand your question to begin with.
lightxbulb
CC BY-SA 4.0
2021-06-16T15:28:47.450Z
Look the pages 47-49 / 92. https://www3.cs.stonybrook.edu/~cse328/2021-lecture-notes/ray-tracing.pdf
Emily Serone
CC BY-SA 4.0
2021-06-16T15:46:09.880Z
The ray doesn't bounce in a polyhedron.
Emily Serone
CC BY-SA 4.0
2021-06-16T15:48:05.083Z
As far as I understand it pages 47-48 only describe how to derive the intersection. Assuming a non-transmitting brdf, then what I stated is still relevant. The rays will keep bouncing around the scene - see the slides on what they call a ray tracing tree. The ray bounces off the polyhedron.
lightxbulb
CC BY-SA 4.0
2021-06-16T15:50:16.623Z
Yes but bouncing around the scene doesn't help us to make the tree of ray tracing.
Emily Serone
CC BY-SA 4.0
2021-06-16T15:53:36.153Z
Slides 30-36. You haven't read your lectures.
lightxbulb
CC BY-SA 4.0
2021-06-16T16:07:46.647Z
I try to understand the correct way to construct the tree. If i knew the way i didn't ask any question. Let's suppose that we have two convex object o1 and o2. A first ray R1 pass throught the object o1 and a new ray R2 has made. Then the R2 pass the object o2 and a new ray R3 has made. Then there is not other object to intersect so stop. In convex objects the ray enter from the front and go out from back. How rays will return again and again from one object to other ?
Emily Serone
CC BY-SA 4.0
2021-06-16T16:11:30.783Z
In the slides both reflection and transmission occurs, denoted by r and t. You can construct examples with 2 parallel mirrors where infinitely many reflections occur. 2 parallel mirrors can be modeled by 2 convex objects.
lightxbulb
CC BY-SA 4.0
2021-06-16T16:21:53.553Z
So here https://ibb.co/2P96Gh1 in c) the ray R2 or R3 return back ?
Emily Serone
CC BY-SA 4.0
2021-06-16T16:25:28.950Z
Imagine two mirrors parallel to each other. Shoot a laser at an adequate angle so it bounces back and forth between those enough times.
lightxbulb
<raytracing><rendering><ray>
Ray tracing tree
Emily Serone
# Ray tracing tree

(Asked by: username_0 on 2021-06-16)

Let's suppose that we have a light source. Which of the following are correct for the tree of recursive ray-tracing (ray tree) that create when we make the colors for each pixel in the screen. Which of the following are correct:

a) if scene contains of one non-convex polyhedron (random shape and position) then we can't have a bound for the height of tree in general. (Even the camera is outside of object)

b) if scene contains of two convex polyhedrons then the height of tree can be at most 2 independent of the position of camera and the position of objects (the camera is outside two objects)

c) if scene contains of two non-convex polyhedrons (random shape and position) then we can't have a bound for the height of tree in general. (Even the camera is outside of object)

d) if scene contains of one convex polyhedron then the height of tree can be at most 1 independent of the position of camera and the position of objects (the camera is outside of object)

e) if scene contains of one non-convex polyhedron then the height of tree can be at most 1 independent of the position of camera and the position of object (the camera is outside of object)

My thoughts are the following:

if a ray R1 inserts into a convex polyhedron object from front then always leave from the back another ray R2.So for convex objects i believe that we can define a height for the tree.

if the object is non-convex then we can have multiple different rays that insert and leave in the object. Because there are parts of object that if we get a line are not all in this object. So can we define as upper bound the number of vertices (or something else) of the object as the maximum number of possible rays ?

**Tags:** raytracing, rendering, ray

> **Comments:**
> **username_1**: Neither because the question is no properly posed. If one makes the additional necessary guesswork to figure out what your assignment means, then a), c) and d).  d) because if a mesh is convex, and we assume that there is no transmission, then the bounces are only in the upper hemisphere, but they will not intersect the object again because of convexity. a) because I can construct configurations with infinitely many self-intersections for a non-convex shape, and from this c) obviously follows.  
> **username_0**: I have two questions why b) is not correct ? If i have in row two convex polyhedra then why i don't have a tree with height 2? Also i don't understand why a) is correct . If someone said that i can have a bound that is at most the number of vertices , why it's wrong. In polyhedra the ray pass through object. After it is non-convex one ray will pass many times .  
> **username_0**: For example in this image (http://erich.realtimerendering.com/ptinpoly/fig1.gif) we'll have R1,R2,R3.  
> **username_1**: We seem to have a misunderstanding. Your question suggests you are doing some form of ray-tracing with bounces. What does the linked image have to do with your question? Then again, there are still not enough details in the question, so maybe you can elaborate. b) isn't correct because you can pick a ray angle that results in infinitely many bounces between two surfaces. I already explained why a) is correct, but maybe I didn't understand your question to begin with.  
> **username_0**: Look the pages 47-49 / 92. https://www3.cs.stonybrook.edu/~cse328/2021-lecture-notes/ray-tracing.pdf  
> **username_0**: The ray doesn't bounce in a polyhedron.  
> **username_1**: As far as I understand it pages 47-48 only describe how to derive the intersection. Assuming a non-transmitting brdf, then what I stated is still relevant. The rays will keep bouncing around the scene - see the slides on what they call a ray tracing tree. The ray bounces off the polyhedron.  
> **username_0**: Yes but bouncing around the scene doesn't help us to make the tree of ray tracing.  
> **username_1**: Slides 30-36. You haven't read your lectures.  
> **username_0**: I try to understand the correct way to construct the tree. If i knew the way i didn't ask any question. Let's suppose that we have two convex object o1 and o2. A first ray R1 pass throught the object o1 and a new ray R2 has made. Then the R2 pass the object o2 and a new ray R3 has made. Then there is not other object to intersect so stop. In convex objects the ray enter from the front and go out from back. How rays will return again and again from one object to other ?  
> **username_1**: In the slides both reflection and transmission occurs, denoted by r and t. You can construct examples with 2 parallel mirrors where infinitely many reflections occur. 2 parallel mirrors can be modeled by 2 convex objects.  
> **username_0**: So here https://ibb.co/2P96Gh1 in c) the ray R2 or R3 return back ?  
> **username_1**: Imagine two mirrors parallel to each other. Shoot a laser at an adequate angle so it bounces back and forth between those enough times.  

---

## 0 answers

