tips003

数値で制御する①
— Remap Numbers

Maths ▸ Domain ▸ Remap Numbers

値の範囲を、別の範囲に置き換えるコンポーネント。
0…10 で動く数値を 0…100 に読み替える、といったことができる。

①が Target を3通りに変えた形、②が Source を Bounds に作らせた形、③が範囲からはみ出させた形。小さいパネルが Source と Target の中身。クリックで拡大。

どうなるのか

Mapped左の列が入力値。Source は 0 To 10 のまま

Target0 To 1005 To 50-1 To 1
005-1
22014-0.6
44023-0.2
660320.2
880410.6
10100501

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 は 0100 で頭打ちになる

使いどころ

  • アトラクタ(基準にする点)からの距離を、半径や高さに変換する。
  • 解析値を色に写す。
  • スライダー1本を複数のパラメータに配る。
    0 To 1 の1本から、階高・開口率・分割数へ、それぞれ別の Target で分岐させる。

注意

Source の幅が 0 になると壊れる。
同じ値ばかりのリストを Bounds(最小と最大から範囲を作るコンポーネント)に通すと、範囲が 5 To 5 になる。
Mapped は Target の真ん中の値(0 To 100 なら 50)を全項目に返し、Clipped は全項目が null になる。
警告もエラーも出ないので、下流で形が壊れるまで気づけない。
入力が1種類に潰れうる場所では、Construct Domain(下端と上端を書いて範囲を作るコンポーネント)で固定してから通す。

#数値制御