This commit is contained in:
Miloslav Ciz 2021-11-20 12:49:21 -06:00
parent a5a9021fa6
commit 966c393636
5 changed files with 33 additions and 14 deletions

View file

@ -7,7 +7,7 @@ Using approximations however doesn't have to imply decrease in precision of the
Example of approximations:
- **Distances**: instead of expensive **Euclidean** distance (`sqrt(dx^2 + dy^2)`) we may use **Chebyshev** distance (`dx + dy`) or **Taxicab** distance (`max(dx,dy)`).
- **Engineering approximations**: e.g. **sin(x) = x** for "small" values of *x* or **pi = 3** (integer instead of float).
- **Engineering approximations** ("guesstimations"): e.g. **sin(x) = x** for "small" values of *x* or **pi = 3** (integer instead of float).
- **Physics engines**: complex triangle meshes are approximated with simple analytical shapes such as **spheres**, **cuboids** and **capsules** or at least **convex hulls** which are much easier and faster to deal with. They also approximate **relativistic** physics with **Newtonian**.
- **Real time graphics engines**, on the other hand, normally approximate all shapes with triangle meshes.
- **[Ray tracing](ray_tracing.md)** neglects indirect lighting. Computer graphics in general is about approximating the solution of the rendering equation.