Clamping (graphics)
In computer science, clamping, or clipping is the process of limiting a value to a range between a minimum and a maximum value. Unlike wrapping, clamping merely moves the point to the nearest available value.
Y = clamp(X, 1, 3) | |
---|---|
X | Y |
0 | 1 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 3 |
In Python, clamping can be defined as follows:
def clamp(x, minimum, maximum): if x < minimum: return minimum if x > maximum: return maximum return x
This is equivalent to max(minimum, min(x, maximum))
for languages that support the functions min and max.
Uses
Several programming languages and libraries provide functions for fast and vectorized clamping. In Python, the pandas library offers the Series.clip
[1] and DataFrame.clip
[2] methods. The NumPy library offers the clip
[3] function. In the Wolfram Language, it is implemented as Clip[x, {minimum, maximum}]
.[4]
In OpenGL, the glClearColor
function takes four GLfloat
values which are then 'clamped' to the range [math]\displaystyle{ [0,1] }[/math].[5]
One of the many uses of clamping in computer graphics is the placing of a detail inside a polygon—for example, a bullet hole on a wall. It can also be used with wrapping to create a variety of effects.
References
- ↑ "Pandas Series.clip method documentation". https://pandas.pydata.org/docs/reference/api/pandas.Series.clip.html.
- ↑ "Pandas DataFrame.clip method documentation". https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.clip.html.
- ↑ "NumPy clip function documentation". https://numpy.org/doc/stable/reference/generated/numpy.clip.html.
- ↑ "Wolfram Language Clip funcion documentation". https://reference.wolfram.com/language/ref/Clip.html.
- ↑ "OpenGL 4 Reference Pages". https://www.khronos.org/registry/OpenGL-Refpages/gl4/.
Original source: https://en.wikipedia.org/wiki/Clamping (graphics).
Read more |