2009-06-24[n年前へ]
■Mathematicaで発色シミュレーションをオブジェクト風記述にする
Mathematicaで発色シミュレーションをモンテカルロ法で行うライブラリを作りました。オブジェクト風記述にできるのが特徴です。(今週末まで修正作業を行うつもりなので、多少、仕様は変わるかもしれませんが)たとえば、
Light[new][in,Layer[new]][showTrace]という記述をすると、下のグラフのような、三次元構造の中で反射・屈折・散乱を行う「光」のスペクトルが、どのように変化していったかを知ることができます。
この例の場合は、Layer[new]で、デフォルトのコンストラクタで作成された水色の層に入射した光の挙動を眺めてみたものになります。層内で多重反射した後に、水色に染まって層の外へ出て行ったことがわかる、という例になります。
ライブラリは、週末にサイト上へアップロードする予定です。
2009-06-28[n年前へ]
■Mathematicaで眺める油絵 「印象派」編
17世紀以降, モデリング層とグレージング層を分離させず, 基本色を混合・調色した上で,目で認識した色をそのまま描く技法が広まりました。特に19 世紀以降, 印象派が, その場で、見た色をそのまま絵の具の色にして描く技法を盛んに用いるようになりました。たとえば、右上の画像は、そんな技法で描かれた、クロード・モネの「日傘をさす女」です。
このような技法により描かれた画像構造を、、Mathematicaで発色シミュレーションをオブジェクト風記述にするライブラリで表現してみました。やり方は、2種の色材を1層に混合し新たな吸収分光特性・散乱係数を持つ 「1層の色材」からなる画像構造に模して、計算・解析してみる、という具合です。その「1層の色材」層では、色絵具に(特に)白や黒を混ぜるため、層内での散乱が大きい、という条件になります。
・・・すると, 比較的彩度の低い発色になります。これは、光軌跡を見るとわかるように、色材層内で頻繁に散乱が起きるため、色材層の上層部周辺のみを光が通り抜けて、その後、光が表面層から出て行ってしまうからです。そのため、色材による分光吸収が十分に行われないままになります。そして、彩度の低い発色となるわけです。
というわけで、昨日に引き続き、今日は「Mathematicaで発色シミュレーションをオブジェクト風記述にするライブラリ」を使って、技術的に、印象派の絵画を鑑賞してみました。
2009-07-03[n年前へ]
■例題・説明文付き色処理・シミュレーションMathematicaライブラリ
Mathematicaで作った色処理関連の関数群・それらを使いさらにオブジェクト指向に書いた(モンテカルロ光伝播シミュレーション機能付き)クラス群のライブラリに例題や説明文を付けたものを作りました。そのライブラリを記述したノートブックを、ColorLib_amature_on_7.0_1.01.nb (5.6MB) として、サイト上に置いておきます。
Mathematicaを持っていない方でも、Mathematica Playerを使えば、Mathematicaのノートブックを眺めることができます。ですから、もしも題材に興味がある方ならば、「なるほど、この処理はこんな風に書いているのか」「ここはこう直した方が良いんじゃないのか」など、きっとそれなりに楽しむことができると思います。
たとえば、Mathematicaで書いたライブラリを他の言語で書き直そうとしたときに、書きにくいと感じる部分こそが、Mathematica「らしい」だろうと思います。もちろん、これはMathematicaに限らない、プログラム言語にも限らない「個性」ということに関する一般的な話です。
2009-09-22[n年前へ]
■Mathematica 発色シミュレーション・ライブラリのバグ修正
Mathematicaによる発色シミュレーション・ライブラリのバグ修正を行いました。基準光を設定する関数"setRefLight"に間違いがあったので、訂正版をMathematicaディレクトリに ColorLib_amature_on_7.0_1.02.nb (5937kB)として置いておきます。Version 6.0以前向けのバージョンColorLib_amature.nb などについては、また後ほど修正版を置いておきます。
2012-11-16[n年前へ]
■検証!「夏目アナの脇汗事故はなぜ起こったか?」ー灰色の服が汗染みに弱い理由
『検証!「夏目アナの脇汗事故はなぜ起こったか?」ー灰色の服が汗染みに弱い理由』を書きました。
「汗染みの目立ちやすさ」は、「白+(繊維本来の)○×色」と「(繊維本来の)○×色」の差が一番大きな色は何色か?という問題に置き換わります。 そして、白と最も違う色は…「そうだ黒に違いない!」ということにも気づくのではないでしょうか。 つまり、「白色に黒を混ぜた色=灰色(グレー)」の服が「一番汗染みが目立つ色」なのだろう、と思い至るはずです。
ちなみに、「鮮やかな色」の服の方が汗染みは目立ちませんから、汗染みができそうな場合には、そうした色を選んでおくのがコツかもしれません。
この解析で使った(作った)ライブラリやスクリプトは「Mathematica 色処理ライブラリを更新しました」を参考にして下さい。