Update
This commit is contained in:
parent
59e56a6987
commit
e89960bcfb
12 changed files with 74 additions and 53 deletions
|
@ -9,6 +9,7 @@ Example of approximations:
|
|||
- **[Distances](distance.md)**: 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** ("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**.
|
||||
- **Addition/subtraction** can sometimes be approximates with [OR](or.md)/[AND](and.md) operation, as they behave a bit similarly. This can be used e.g. for brightening/darkening of pixel colors in [332](rgb332.md) or [565](rgb565.md) format -- without the approximation addition of colors in these formats is very expensive (basically requires conversion to RGB, addition, clamping and a conversion back).
|
||||
- **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.
|
||||
- **Real numbers** are practically always approximated with [floating point](floating_point.md) or [fixed point](fixed_point.md) (rational numbers).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue