緑と赤の、二点間の距離が近づくほど、青の振動を強くする。
逆に、緑と赤、二点間の距離が離れるほど、青の振動を弱くする。
▼処理の概要
距離と振動量を割合に変換し、
距離が1%増えると、振動量は1%減り、
距離が1%減ると、振動量は1%増える。
このような処理になるようにする。
▼処理内容
・緑と赤、二点間の距離を測る。
・距離の最大値を設定する
・振動の最大値を設定する。
・距離が最大値を超えても、値は最大値のままにする。
・距離を割合に変換する。
・割合の上限値から、距離の割合を引いた値を、振動量の割合にする。
・振動量の上限値と振動量の割合を掛けて、振動量を出す。
▼二点間の距離を測る方法
lengthメソッドを使う。
kyori = length(レイヤー緑の位置、レイヤー赤の位置)
と入力すれば、
変数kyoriに、レイヤー緑と、レイヤー赤の、二点間の距離が入る。
※この値を四捨五入する場合は、
kyori = Math.round(kyori)
と入力すする。
▼距離を割合に変換する。
割合 = ( 現在の二点間の距離 ÷ 任意に設定した二点間の距離の範囲 ) × 100
▼割合上限値から距離の割合を引いた値を、振動の割合とする。
振動の割合 = 1 - 距離の割合
▼振動の割合から、振動の量を出す。
振動の量 = 設定した振動の上限値×振動の割合
▼例1:
振動量の最大値を50、距離の範囲を300に設定したとき、
二点間の距離(kyori)が60だった場合の振動量を求める。
二点間の距離(kyori)が60だった場合の振動量を求める。
wariai = (kyori / 300)
距離の割合は20%(0.2)。
割合の最大値 - 距離の割合 = 振動量の割合
100% – 20% = 80% (1 – 0.2 = 0.8)
この値から振動量を求める。
振動量 = 割合の差 × 振動量の最大値
sindou = 0.8 * 50
振動量は40
▼振動とスケールの割合を、角度の割合に連動させる。
横棒グラフの割合と、赤丸の振動量の割合は、メーターの針の角度の割合と連動させている。
針の角度が100%のとき、横棒グラフも100%、赤丸の振動量も100%になる。
メーター針の角度の範囲:0~90度
横棒グラフの範囲:0~500pixel
振動量の範囲:40(-20~20)pixel