tips003
数値で制御する①
— Remap Numbers
Maths ▸ Domain ▸ Remap Numbers
値の範囲を、別の範囲に置き換えるコンポーネント。
0…10 で動く数値を 0…100 に読み替える、といったことができる。
どうなるのか
Mapped左の列が入力値。Source は 0 To 10 のまま
| Target | 0 To 100 | 5 To 50 | -1 To 1 |
|---|---|---|---|
| 0 | 0 | 5 | -1 |
| 2 | 20 | 14 | -0.6 |
| 4 | 40 | 23 | -0.2 |
| 6 | 60 | 32 | 0.2 |
| 8 | 80 | 41 | 0.6 |
| 10 | 100 | 50 | 1 |
Source は「いま手元にある値の範囲」、Target は「置き換えたあとの範囲」。
Source の下端が Target の下端に、上端が上端に対応し、間は同じ割合で分けられる。
Target を差し替えるだけで、同じ入力から出てくる値の幅を決められる。
Mapped と Clipped
- 入力が Source の範囲に収まっているうちは、Mapped (R) と Clipped (C) は同じ値になる
- 範囲の外に出ると分かれる。
Mapped は同じ割合のまま、Target の外側まで伸びた値を返す - Clipped は Target の端で止まる
- Source を
2 To 8に狭めて 0…10 を通したときの実測(図③)。
Mapped は-33.333333から133.333333まで振れ、Clipped は0と100で頭打ちになる
使いどころ
- アトラクタ(基準にする点)からの距離を、半径や高さに変換する。
- 解析値を色に写す。
- スライダー1本を複数のパラメータに配る。
0 To 1の1本から、階高・開口率・分割数へ、それぞれ別の Target で分岐させる。
注意
Source の幅が 0 になると壊れる。
同じ値ばかりのリストを Bounds(最小と最大から範囲を作るコンポーネント)に通すと、範囲が 5 To 5 になる。
Mapped は Target の真ん中の値(0 To 100 なら 50)を全項目に返し、Clipped は全項目が null になる。
警告もエラーも出ないので、下流で形が壊れるまで気づけない。
入力が1種類に潰れうる場所では、Construct Domain(下端と上端を書いて範囲を作るコンポーネント)で固定してから通す。