コンピュータサイエンスにおいて、クランプ(またはクリッピング)とは、値を最小値と最大値の間の範囲に制限するプロセスです。ラッピングとは異なり、クランプは値が許容範囲外にある場合、最も近い境界に移動します。
| Y = クランプ(X, 1, 3) | |
|---|---|
| X | はい |
| 0 | 1 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 3 |
Pythonでは、クランプは次のように定義できます。
def clamp ( x , minimum , maximum ): x < minimum の場合: minimumを返すx > maximumの場合: maximumを返すxを返すこれは、関数minおよびmax をサポートする言語の場合と同等です。 max(minimum,min(x,maximum))
いくつかのプログラミング言語やライブラリは、高速かつベクトル化されたクランプのための関数を提供しています。Pythonでは、pandasライブラリがSeries.clip[ 1 ]とDataFrame.clip[ 2 ]のメソッドを提供しています。NumPyライブラリは[ 3 ]の関数を提供しています。Wolframclip言語では、これは[ 4 ]として実装されています。Clip[x,{minimum,maximum}]
OpenGLでは、このglClearColor関数は4つのGLfloat値を取り、その値は範囲に「クランプ」されます。[ 5 ]
コンピュータグラフィックスにおけるクランプの多様な用途の一つは、ポリゴン内にディテールを配置することです。例えば、壁の銃弾の穴などです。また、ラッピングと組み合わせて様々なエフェクトを作成することもできます。
CSSでは、clamp()[ 6 ]はレスポンシブタイポグラフィやレスポンシブデザインを実装するのに役立ちます。[ 7 ]
Excel、Open Office Calc、Google Sheetsなどのスプレッドシートはクランプ関数を直接提供していませんが、MAX&などの関数をMIN一緒に使用したり、、MEDIAN[ 8 ] [ 9 ]またはセル関数マクロを使用することで同じ効果を得ることができます。[ 10 ]入力が配列である場合にクランプを実行しようとすると、他の方法を使用する必要があります。[ 11 ]