水中カラーシミュレーター

水を通ったあと、ルアーの色がどれだけ残るかを計算します。実測された海水の吸収・散乱係数を使い、水深と距離と水の濁りを変えて確かめられます。魚にどう見えるかを再現するものではありません。

レッドヘッドの赤は、水の中でも赤いのでしょうか。答えは、たいてい赤くありません。

ルアーの水深と、魚の目からルアーまでの距離と、水の濁り方を決めてください。その条件で光がどれだけ残るかを計算します。

これは「魚にどう見えるか」ではありません。目に届く光がどう変わるかを計算しているだけです。理由は下記に書きました。計算の中身は水中で色が消える仕組みで解説しています。

水の種類Jerlov分類
光源昼か、常夜灯か
魚が見る向き背景が変わります
水の外
水を通したあと

色の名前は水の外の側にだけ出しています。水中側では背景を水の色に置き換えているためです。

ルアーの水深
魚の目からルアーまでの距離
光が水を通る長さ

水面からルアーへ届き、そこから目に戻るまでの合計です。
水深と距離を足した値になります。

外すと、実際に届く光の量そのままで暗くなります。色の変化だけを見たいときは入れてください。

ルアーが回って反射面が光る動きです。下記のとおり、光る色は塗装の色ではありません。

使えるのは PNG / JPEG / WebP / GIF です。iPhoneのHEICは開けないことがあるので、その場合はJPEGに変換してください。横幅が560pxを超える画像は縮小して読み込みます。
写真ではルアーと背景を区別できないため、背景も物体として扱います(見本では背景を水の色に置き換えています)。おすすめは、無地の中間の灰色を背景にした写真です。理由は下記に書きました。
選んだ写真は、あなたのブラウザの中だけで処理されます。サーバーへの送信も保存もしません。

波長ごとに、どれだけ残るか

色減衰係数 c(λ) (1/m)経路を通ったあとに残る割合

ルアーと背景の見分けやすさ

ルアーの色明るさ(背景の水を100とした値)背景と比べてコントラスト見え方

コントラストは、背景に対して明るさがどれだけ違うかの割合です。式は |ルアーの明るさ − 背景の明るさ| ÷ 背景の明るさ。背景で割っているので、全体が暗い場面と明るい場面を同じ物差しで比べられます。0.00なら背景と同じ明るさで輪郭が消え、1.00なら背景との差が背景そのものと同じ大きさです。明るいか暗いかは問いません。ルアーごとに1色だけを使っていて、背中と腹の塗り分けは計算に入れていません。数値が小さいほど背景に紛れます。背景は、上で選んだ見る向きに応じて計算した水の明るさです。「見え方」の欄は、コントラストが0.05未満を「ほぼ見えない」、0.15未満を「見つけにくい」として区切ったものです。この境目に根拠はありません。目安として置いた値です。フラッシングを入れているときは、光っていない瞬間の値です。

何を計算しているか

吸収と散乱を足した減衰係数を、経路の長さにあてはめています。光が水の中を進むと、進んだ距離に応じて指数関数的に減っていきます。これをBeer-Lambert則といいます。

経路は2つに分かれます。水面からルアーまでと、ルアーから見る人の目までです。この2つを足した長さが、光が水を通る合計の距離になります。だから水深が浅くても、遠くのルアーを見れば同じだけ色は落ちます。

もう一つ、水そのものが光って見える効果も入れています。散乱された光が横から目に入ってくるぶんで、遠くのものが白っぽく霞んでいく原因です。

より詳しい説明は水中で色が消える仕組みに書きました。

光源を選べます

常夜灯の下では、色の見え方が変わります。水の性質は同じでも、そもそも当たっている光に含まれていない波長は、返しようがないからです。

用意したのは5つです。CIEが定めている標準光源のスペクトルを使っています。

選択肢何に相当するかCIEの記号
昼光太陽光。基準にしていますD65
ナトリウム灯オレンジ色の常夜灯HP1
ナトリウム灯 演色改善型白っぽいナトリウム灯HP2
LED 電球色2733KLED-B1
LED 昼白色4103KLED-B3

昼光以外を選ぶと、6色が互いにどれだけ違って見えるかを、同じ条件の昼光を100とした数字で出します。

沿岸の1 m先で計算すると、ナトリウム灯で61、演色改善型とLED電球色で78、LED昼白色で105でした。ナトリウム灯の下では、色の違いが4割ほど失われます。

水銀灯は入れていません。CIEの標準光源に含まれていないためです。水俣条約で製造と輸出入が禁止され、置き換えが進んでいるので、現行の常夜灯としては優先度が低いと判断しました。

画面で表せない色が出ることがあります。ナトリウム灯のように狭い波長に偏った光では、計算結果が画面の色の範囲から外れます。そのぶんは彩度を落として範囲に収めています。実物はもう少し鮮やかな色のはずです。

見る向きで背景が変わります

ルアーが背景から浮くかどうかは、背後に何があるかで決まります。魚がどの向きから見るかで、背景はまったく違うものになります。

見る向き背景になるもの明るさ
見上げるその水深に届いている光いちばん明るい
横から見る水そのもの。無限に続く水からの散乱光中間
見下ろす光を返すものがない深みいちばん暗い

この3つは、新しい仮定なしで計算できます。すでに使っている吸収係数と散乱係数から出ます。

結果が分かりやすいのは見上げる向きです。背景が最も明るいので、どのカラーも背景より暗くなります。影絵です。沿岸の1 m先で計算すると、パールホワイトでもコントラストは0.08しかありません。見上げられている状況では、色を選んでも差が出にくいということになります。

逆に見下ろす向きでは、背景が暗いので明るい色ほど目立ちます。同じ条件で、パールが0.88、チャートが0.69。ブラックだけが0.01で、ほとんど背景に溶けます。

ただし、これは背景の明るさだけの話です。実際にどの向きから見られているかは、水深とルアーの層と魚の位置で変わります。そこは私には決められません。

このアプリは、光が上から一様に降ってくるものとして、ルアーに当たる光と背景の明るさを出しています。光が来る向きまで計算すると、数字が変わります。下を向いた腹に当たる光は上を向いた背の4%ほどで、横から見た水は見上げた水面側の1割もなく、見下ろした深みはさらに暗くなります。沿岸の水深2 m、1 m先、晴れで計算すると、見上げる向きではパールもブラックも −0.45前後の同じ影になり、横から見たパールは +0.33で背景より明るく浮き、見下ろす向きのブラックは −0.22で、消えはしませんでした (マイナスは背景より暗いこと)。総当たりの結果は結局どのカラーを選べばいいのかにまとめました。

写真を使うときの背景

写真を読み込むと、背景も物体として扱われます。どこがルアーでどこが背景かを判定できないためです。見本の画像では背景を水の色に置き換えていますが、写真ではそれができません。

そのうえで、おすすめは無地の中間の灰色です。画面のsRGB値で128前後、つまりカメラのグレーカードと同じ明るさです。

理由は3つあります。

白は上限に張り付きます。明るい背景は計算のあと画面の表示できる範囲を超えやすく、色の変化が読み取れなくなります。

黒は何も返しません。暗い背景は水の色がほとんど乗らないので、変化が見えません。

灰色は波長を選びません。どの波長も同じ割合で返すので、背景の色の変化が、そのまま水の色そのものになります。水がどう色を付けているかを読むのに、いちばん向いています。

ルアーの写り方そのものは、背景に左右されません。計算は画素ごとに独立しているので、背景を変えてもルアーの色は変わりません。背景の選び方は、読み取りやすさの問題です。

フラッシングについて

フラッシングを入れると、反射面が周期的に光ります。0.62秒で1回転する想定です。

ここで一つ、計算していて気づいたことがあります。光る部分の色は、塗装の色ではありません。

理由は反射のしかたの違いです。塗装の色は、白い光が当たって特定の波長だけ吸収され、残りが返ってくることで見えます。一方、金属面やホログラムの反射は、届いた光をほぼそのまま返します。波長を選びません。

つまりフラッシングの色は、そこまで届いた光の色そのものになります。濁った水では緑しか残っていないので、銀色のルアーが光っても、緑に光ります。水の種類を切り替えて、光る瞬間の色を見比べてみてください。

何を足して描いているか

光る瞬間に足しているのは、反射率1の白い面を置いたときの明るさです。

塗装の色を通さないので、波長を選びません。実際、鏡面反射として足している量は「白い面の明るさ − 水そのものの明るさ」とぴったり一致します。つまり「白を足している」のと同じ計算です。

だから光る瞬間は、必ず明るくなる方向に動きます。背景が暗い状況では目立ち、背景が明るい状況では背景に近づきます。

この足し込みは、ルアーの領域だけに適用しています。見本の画像ではルアーの位置が分かっているためです。写真を読み込んだ場合は判定できないので、画面全体に適用します。

画面上の明るさはそろえています。本来の明るさのまま描くと、澄んだ水では全部の成分が画面の上限を超えて真っ白に飛び、色が見えなくなります。そこで、どの条件でも色が分かる範囲に収めました。

本来の明るさの差は、上の欄に数字で出しています。同じ水深・距離の澄んだ外洋を100としたときの値です。濁るほど小さくなります。

そのうえで、明るさの倍率そのものには根拠がありません。実際のルアーの反射面が拡散反射の何倍で光るのかを測った資料を、私は見つけられませんでした。色と、条件による明るさの比のほうを見てください。

光る場所も限定的です。見本の画像ではルアーの領域が分かっているのでそこだけを光らせますが、写真を読み込んだ場合は、どこが反射面かを判定できないので画面全体を光らせます。写真で試すときは、そこを差し引いて見てください。

係数について

水の種類は、Jerlov分類という区分を使っています。スウェーデンの海洋学者Jerlovが世界の海を透明度で分類したもので、外洋が5種類、沿岸が5種類あります。

この分類には版がいくつもあります。1951年に始まり、1961年、1964年、1968年、1976年、1977年、1978年と改訂されました。いま広く使われるIA型・IB型という区分が入ったのは1964年です。版によって係数の表が違うので、他の資料と見比べるときは、どの版のものかを先に確かめる必要があります。

このアプリで使っている吸収係数と散乱係数は、Williamson and Hollins (2022)によるものです。世界の海洋光学データベース(WOOD)から実測値を集め、1,350万件の測定を53組の値に集約したもので、そこから300〜800 nmの全波長にわたる表が作られています。

この論文で値が得られたのは、10種類のうち6種類です。いちばん澄んだI型とIA型、いちばん濁った7C型と9C型は、データが足りずに除かれています。このアプリで選べるのがIBから5Cまでなのは、そのためです。

同じ水型に、違う係数が出回っています

ここが、この手の計算でいちばん誤解されやすいところです。

「Jerlov III型の減衰係数」という値は、一つに決まっていません。どうやって求めたかで変わります。同じ532 nmで比べると、こうなります。

求め方Jerlov II型Jerlov III型
実測 (Williamson and Hollins, 2022)0.2410.371
透明度の測定から逆算 (Solonenko and Mobley, 2015)0.4301.092
クロロフィル量からモデルで算出 (Abd El-Mottaleb et al., 2024)0.5301.900

単位はいずれも 1/m です。Jerlov III型で5.1倍の開きがあります。そして3つとも査読を通った論文です。

このアプリが実測の系統を選んでいるのは、そのためです。吸収と散乱を直接測った値が載っているのは、3つのうち1つだけです。残る2つは、透明度の測定やクロロフィル量から間接的に求めたものです。

どれが正しいかを私が判定したわけではありません。実測値を使うと決めただけです。他の記事やアプリの数字と合わないことがあれば、まず「どの系統の値か」を疑ってください。

2023年に出た水中量子鍵配送の総説も、同じことを書いています。同じ水型を採りながら、係数に違う数値を使う研究がある、と(Paglierani et al., 2023)。

濁ると、順番が入れ替わります

「赤が最初に消えて、青がいちばん深くまで届く」という話をよく聞きます。これは澄んだ外洋についてのみ成り立ちます。

実測の係数で、青(450 nm)・緑(550 nm)・赤(650 nm)の減衰係数を並べるとこうなります。

水の種類(Jerlov分類)青の減衰係数 (1/m)緑の減衰係数 (1/m)赤の減衰係数 (1/m)残りやすい順
澄んだ外洋 (IB)0.1760.1880.449青 → 緑 → 赤
外洋 (II)0.2570.2490.502緑 → 青 → 赤
濁った外洋 (III)0.4210.3750.622緑 → 青 → 赤
澄んだ沿岸 (1C)0.6030.5260.764緑 → 青 → 赤
沿岸 (3C)0.8860.7720.991緑 → 青 → 赤
濁った沿岸 (5C)1.5831.3491.532緑 → 赤 → 青

いちばん澄んだIB型を除くと、すべて緑がいちばん残ります。

そして濁った沿岸(5C)では、青が最下位になります。赤より先に消えます。汽水の河口や濁った港湾を思い浮かべてください。そこでは「青は遠くまで届く」が成り立ちません。

できないこと

魚にどう見えるかは計算していません。手を抜いたのではなく、変換式に入れる数値がそろわないためです。

スズキの網膜を測ったデータはあります。Tamura and Niwa (1967)が、スズキを含む10種の網膜からS電位という反応を記録しています。スズキで記録された33件の内訳は、明るさに応じる型が28件で85%、色に応じる型が5件で15%でした。明るさに応じる型は525〜548 nmで最大になり、色に応じる型は長波長側で正になるものが1種類だけでした。著者らはこの色に応じる型があることを、スズキが色を見分けられる根拠としています。

網膜全体の感度としてなら、525〜548 nmと読めます。この分野には、L応答の極大がいちばん多かった帯を、その魚の分光感度のピークとみなす慣行があります。中野ら (2006)がサクラマスで、松田ら (2009)がカレイ3種で、この方法を明記して使っています。スズキは33件のうち28件がL2型でしたから、同じ読み方をすれば525〜548 nmになります。

それでも錐体のλmaxは出ません。S電位は水平細胞などの細胞の中の電位と考えられていて(同じ論文)、光を吸収する錐体そのものを測ったものではありません。上の525〜548 nmは、網膜全体の感度の山が1つ出ただけで、色を分けるための情報ではありません。論文が色に応じる型から結論しているのは、色を区別できるというところまでです。錐体が何種類あって、それぞれが何nmで最大になるかは、この方法では出てきません。同じ方法を使った2000年代の研究も、報告しているのはサクラマス522 nm、カレイ3種で544 nm・518 nm・518 nmという1点ずつで、λmaxの組ではありません。

測り方も報告も粗いです。使われた干渉フィルタは404 nmから726 nmまでの12枚で、「525〜548 nm」は、この2枚のどちらかで最大になったという意味です。2000年代の研究も同じように離散的なフィルタで測っていますが、いちばん多かった1波長まで報告しています。サクラマスの522 nm、カレイ3種の544 nm・518 nm・518 nmがそれです。1967年の論文は、帯までしか出していません。記録数も、サクラマス415細胞・カレイ3種543/549/252細胞に対して、スズキは33件です。使った尾数は書かれていません。論文にあるのは大きさ約30 cmという記載だけで(体長か全長かは書かれていません)、実験は冬に、8〜15℃で、摘出した網膜を使って行われています。

写真に紫外線は写っていません。魚が紫外線を見るとしても、その情報は元の画像に最初から存在しないので、どんな計算でも作れません。

チャンネルを画面の3色に割り当てる方法も決められません。魚の色覚は種によって違い、メジナは紫外線まで見える4色型、スケトウダラは1色型と幅があります。仮にスズキの錐体の数とλmaxが分かったとしても、それを赤・緑・青のどこに置くかの決め方は恣意的になります。

暗すぎて見えるかどうかは判定できません。このアプリが出しているのは、ルアーと背景の明るさの比、つまりコントラストです。深くなると、ルアーも背景も同じ光で照らされたまま暗くなるので、比はそれだけでは下がりません。変わるのは、光の色と、光の量そのものです。沿岸の水なら目安として、10 mと比べて40 mで百分の一ほど、50 mでは数百分の一まで光が減ります。「目が暗さに慣れたものとして描く」を選ぶと、この量の変化をわざと消して描きます。透明度8 mの湖で色違いのルアーを沈めて撮影したHondaの実験では、スプーンもプラグも40 mで大半が見えにくくなり、50 mではグロー以外のすべてが見えなくなりました。これは色の問題ではなく、光が足りないという問題で、このアプリの計算には出てきません。

蛍光と発光は計算に入っていません。このアプリは、届いた光を同じ波長で返す反射だけを計算しています。チャートの多くは蛍光色です。蛍光の塗料は短い波長の光(青や紫外)を吸って、長い波長(黄緑など)で光り直しますが、その上乗せは入っていません。上乗せの大きさは、蛍光を起こす青い光がどれだけ届くかで変わるはずで、青が先に消える濁った沿岸では小さく、澄んだ水では大きいと考えられます。これは推測で、確かめてはいません。グロー(蓄光)も同じく入っていません。上の撮影では、50 mで唯一残ったのがグローでした。

このあたりは魚は色をどう見ているのかと自然界にない色に、なぜ魚は食ってくるのかにも書きました。

そのほか確かめられていないこと

写真から本当の反射スペクトルは復元できません。画面のRGBは3つの数値ですが、同じRGBになる分光反射率は無数にあります。写真で同じ色に写る2つのルアーが、水中では違う色になることがあります。このアプリは「そのRGBと矛盾しない、ありうるスペクトルの一つ」を仮に置いて計算しています。

河川と河口の水は、この分類に入っていません。Jerlov分類は外洋と沿岸のものです。汽水域の濁りがどの型に近いかは、透明度板で測るしかありません。濁った沿岸(5C)を選ぶのが、いまのところいちばん近い当てはめだと考えています。透明度板の深さと水型の対応表は、水中で色が消える仕組みに載せました。

水の種類は、深さによって変わります。Jerlov分類は上の10 mで定義されたものです。Williamson and Hollins (2023)が2,500回以上の観測から求めたところ、表層で濁った沿岸水も、深くなると澄んだ型に近づきます。沿岸の3C型は、20 mまでは3C型のままですが、20〜30 mの層からは外洋のIII型として振る舞うのが典型でした。このアプリは、選んだ1つの水型を全深度で使っています。シーバスの釣り場はたいてい20 mより浅いので大きくは効きませんが、深場を想定するときは頭に置いてください。

元データは1947年から48年の観測に始まります。論文の著者自身が指摘しているとおり、75年前に定義された分類なので、海の性質がその後変わっている可能性があります。

実測値が集まった場所には偏りがあります。同じ論文によれば、吸収と散乱のデータが得られた204地点のうち185地点が、赤道より北の緯度20度から45度の範囲に集中しています。

水面での反射と屈折は入れていません。太陽の高さによる違いも計算していません。

影と、光の向きは入れていません。このアプリは、光が上から一様に降ってくるものとして計算しています。実際には浅いところほど太陽の方向がはっきりしていて、深くなるほど一様に近づきます。ルアーの背中と腹で当たる光の量が違うことも、扱えていません。平らな画像として計算しているので、立体の形が分からないためです。

光源を変えても、明るさは昼のままです。常夜灯の下は昼より何桁も暗いはずですが、その差は計算していません。光の色だけを差し替えています。

夜だからといって、見る向きが変わるわけではありません。光は夜も上から来るので、見上げれば背景は明るく、見下ろせば暗いという関係は昼と同じです。全体が暗くなるだけです。

魚が夜に色を見ているかは分かりません。色を見る錐体細胞は明るいところで働く細胞です。常夜灯の下がそれに足りる明るさなのか、明暗しか見えていないのかを示す資料は、シーバスについて見つけられませんでした。光源を切り替えて出てくる色は、その明るさで色が見えている場合の話です。

明暗部は計算していません。常夜灯は一点から照らすので、明るいところと暗いところの境目ができます。これを出すにはランプの高さ・出力・配光・水面での反射が要ります。どれも手元にないので、光が一様に降る前提のままです。

続けて読むなら

使ったもの・参考文献