Update
This commit is contained in:
parent
af3e90bf66
commit
5db91153c8
13 changed files with 126 additions and 41 deletions
|
@ -5,6 +5,7 @@ Here let be listed exercises for the readers of this wiki. You can allow yoursel
|
|||
1. What's the difference between [free software](free_software.md) and [open source](open_source.md)?
|
||||
2. Say we have an algorithm that finds all pairs of equal numbers in an array of numbers of length *N* and adds all of these (unordered) pairs to a set *S*. The algorithm is (pseudocode): `for i := 0 to N: for j := 0 to N: if numbers[i] == numbers[j]: add(S,pair(i,j))`. How can we optimize the algorithm in terms of its execution speed (i.e. make it perform fewer operations while keeping its results the same)? How did the asymptotic time complexity ("big O") class change?
|
||||
3. In computer graphics, what is the difference between ray casting, ray tracing and path tracing?
|
||||
4. Why are manhole lids round and not square?
|
||||
|
||||
## Solutions
|
||||
|
||||
|
@ -32,4 +33,8 @@ While the first algorithm performs N^2 comparisons, the new one only needs N - 1
|
|||
|
||||
**solution 3**:
|
||||
|
||||
They are all image-order methods of 3D [rendering](rendering.md). [Ray casting](ray_casting.md) casts a single ray for each screen pixel and determines the pixel color from a single hit of the ray. [Ray tracing](ray_tracing.md) is a [recursive](recursion.md) form of ray casting -- it recursively spawns secondary rays from the first hit to more accurately determine the pixel color, allowing for effects such as shadows, reflections or refractions. Path tracing is a method also based on casting rays, but except for the primary rays the rays are cast at random (i.e. it is a [Monte Carlo](monte_carlo.md) method) to approximately solve the rendering equation, progressively computing a more accurate version of the image (i.e. the image contains significant noise at the beginning which lowers with more iterations performed) -- this allows computing [global illumination](global_illumination.md), i.e. a very realistic lighting that the two previous methods can't achieve.
|
||||
They are all image-order methods of 3D [rendering](rendering.md). [Ray casting](ray_casting.md) casts a single ray for each screen pixel and determines the pixel color from a single hit of the ray. [Ray tracing](ray_tracing.md) is a [recursive](recursion.md) form of ray casting -- it recursively spawns secondary rays from the first hit to more accurately determine the pixel color, allowing for effects such as shadows, reflections or refractions. Path tracing is a method also based on casting rays, but except for the primary rays the rays are cast at random (i.e. it is a [Monte Carlo](monte_carlo.md) method) to approximately solve the rendering equation, progressively computing a more accurate version of the image (i.e. the image contains significant noise at the beginning which lowers with more iterations performed) -- this allows computing [global illumination](global_illumination.md), i.e. a very realistic lighting that the two previous methods can't achieve.
|
||||
|
||||
**solution 4**:
|
||||
|
||||
Round lid can't fall into the hole.
|
Loading…
Add table
Add a link
Reference in a new issue