This commit is contained in:
Miloslav Ciz 2025-04-27 03:32:20 +02:00
parent 76e9db8a4c
commit 910eefc063
23 changed files with 2340 additions and 2120 deletions

View file

@ -25,7 +25,7 @@ The base case of interpolation takes place in one dimension (imagine e.g. interp
float interpolate(float a, float b, float t);
```
Many times we apply our interpolation not just to two points but to many points, by segments, i.e. we apply the interpolation between each two neighboring points (a segment) in a series of many points to create a longer curve through all the points. Here we are usually interested in how the segments transition into each other, i.e. what the whole curve looks like at the exact locations of the points.
Many times we apply our interpolation not just to two points but to many points, by segments, i.e. we apply the interpolation between each two adjacent points (a segment) in a series of many points to create a longer curve through all the points. Here we are usually interested in how the segments transition into each other, i.e. what the whole curve looks like at the exact locations of the points.
**[Nearest neighbor](nearest_neighbor.md)** is probably the simplest interpolation (so simple that it's sometimes not even called an interpolation, even though it technically is). This method simply returns the closest value, i.e. either *A* (for *t* < 0.5) or *B* (otherwise). This creates kind of sharp steps between the points, the function is not continuous, i.e. the transition between the points is not gradual but simply jumps from one value to the other at one point.