hirax.net::Keywords::「スペクトル」のブログ



2010-07-02[n年前へ]

エクセル2003(以前のバージョンも?)のグラフを綺麗にするアプリを作りました。 

 (既存のアドインやカスタマイズ方法の自由度や品質に満足できなかったので)Windows版 Excel 2003(以前のバージョンも?)のグラフを綺麗にするアプリを作ってみました。VBAを使えばもっと簡単に書けるのだろうなぁ、と思いつつC++で組んでしまいました。動作の仕組みは、エクセルのブックが保持しているカラーパレットの空き領域に対して、チャートで使う色を(それぞれのインデックスに対して)割り当てて、チャートの各領域の色にインデックスカラーを指定する、という具合です。そのような動作なので、近似色が使われることによる不自然さなどが生じることはありません。とても滑らかな綺麗なチャートを、Excelで一瞬で作り上げることができます。

 作ってみたアルファ版を、ここ(ExcelColorChanger2003.zip)に置いておきます。(Excel 2007,2010では動かないと思いますが、)もしも、Excel 2000などで動くことを確認した方がいらっしゃいましたら、教えて頂ければ幸いです。ソースコードなどは、いずれ公開する予定です。



 このアプリケーションを使うと、開かれているエクセルの中のチャート(複数のチャートがあれば、一番最初に作成したもの)を、等高面グラフや濃度グラフを、スペクトルカラー風にしてみたり、炎風の色表現にしてみたり、青→赤の色表現にしてみたり、と色々なことができます。…あるいは、Bitmapファイルを適当に作ってやれば、左端がグラフ中の下端の色として扱われ、一番右端の色が上端の色として使われたグラフに変えることができます。つまり、自由自在にチャートの色を簡単にカスタマイズすることができます。しかも、縦軸の最大・最小・分割幅なども設定することができるようになっています。

そのサンプル画面が下になります。上段の3つが、このアプリケーションが標準で備えているグラデーションパターンで、左下がExcelの標準そのままで作ったものになります。ちなみに、右下が、今回作ったアプリケーションです。

 ちなみに、今回作成したアプリケーションでは、チャートの縦軸分割数が24個以上あるものに関しては、24個までしか処理を行わないようになっています。Excel2003, 2007向けバージョンについては、今夜にでも、また別途作ってみようと考えています。

 綺麗な(チャート向け)グラデーション用画像を作成した方がいらっしゃれば、送付して頂ければ幸いです。また、何か追加機能などありましたら、教えて頂ければうれしく思います。

エクセル2003(以前のバージョンも?)のグラフを綺麗にするアプリを作りました。エクセル2003(以前のバージョンも?)のグラフを綺麗にするアプリを作りました。






2011-12-13[n年前へ]

続「ゴッホの本当のすごさを知った日」の「最も間違っている部分」 

 一月と少し前、『「ゴッホの本当のすごさを知った日」の「最も間違っている部分」』という雑文を書きました。 それは、「asada's memorandum (ゴッホの本当のすごさを知った日)」という記事に対し、「間違っている点」と「興味深い歴史的な情報」を書いてみたものです。

 「ゴッホの本当のすごさを知った日」に書かれている内容は、要約すると、およそ次のようになります。

  • ①ゴッホは色覚が異常だったのではないかと言われているそうだ。
  • ②P型色覚と「普通の」色覚の中間的なものを”疑似体験”させるような色変換をゴッホのRGB画像に掛けてみた。
  • ③色変換された画像は”自然で素晴らしく見えた”から、ゴッホはP型かD型の色覚特性を持っていたのだろう。
こういった論旨の、②(③も関連します)に関して、前回記事でこんなことを書きました。
 色覚”疑似体験”ツールというのは、原理上、ある色が「どの色」に変換されるかということには、あまり意味がありません。あくまで、どういった色群が「見分けにくい色」となってしまうかを疑似体験するものに過ぎません。それらの「見分けにくい色」を、実際のところ「どういう色」として感じているかまでを追体験できるものではないのです。ましてや、その色覚”疑似体験”ツールにより変換出力された色調をもって、絵画の色表現や階調表現を論じる・感じることができるようなものではありません。ここにある「使い方への間違い」は、「さまざまな”光”を、各個人が自分の中でどういう”色(存在)”として位置づけるか」ということを整理しないままに作業を行ってしまったのではないか、と思います。
この『さまざまな”光”を、各個人が自分の中でどういう”色(存在)”として位置づけるか、ということを考える』という点について、今回はもう少し詳しく書いてみることにします。

 下の図は、人が景色を眺め・その景色を描こうとする際に、人がどのように色を感じ・色を描くかを(簡易的に)示したものです。「目の前の景色から発せられた(さまざまな波長毎に異なる強さを持つ)光」は、眼の中にたくさん存在する(色を感じる)3種の錐体に刺激を与え、そして3種の(しかしたくさん存在する)錐体からの刺激は複合的に組み合わさった上で「明暗チャンネル」「緑ー赤チャンネル」「黄ー青チャンネル」の3つとなって、脳の中へと送り込まれた上で、大脳中枢でその情報が処理されていきます。その(眼から脳までの)人体内の色処理の繋がりを限りなく大雑把に示したものが、下図の右に描いた「処理システム」です。

 ここで注目すべきことは、眼の中にあるたくさんの錐体に辿り着いた「光」は、それが「さまざまな波長毎に異なる強さを持っている=多くの情報を持っている」にも関わらず、わずか3つの色情報へと変換されてしまう、ということです。それはつまり、本来は違うスペクトル(各波長に対する光強度)を持つ「光」を、人は同じ「色」として認識してしまう、ということです。 だから、たとえば、左下に貼り付けたようスペクトルを持つ光と、右下に貼り付けたような光を(多くの)人が眺めたならば、それら2つの光が「違う光波長分布」の「大きく異なる光」であるにも関わらず、それらを同じような・区別することができない「色」として感じてしまいます。

 

 あるいは、こうした「処理システム」、つまり私たちの頭の中での色は「明暗チャンネル」「(”緑っぽいか赤っぽいか”を示す)緑ー赤チャンネル」「(”黄っぽいか青っぽいか”を示す)黄ー青チャンネル」というった3チャンネルのみで処理されるがゆえに、私たちが「赤色と緑色」あるいは「黄色と青色」といった「補色」を同時に感じることができないという現象が生じることも自然と理解できる、というわけです。

 この(眼の中にある)錐体の光波長感度分布などは、人それぞれの個性・違いがあります。だから、「どのような光を同じ色と感じてしまうか」は異なります。あるいは、さまざまな異なる光を「どのような(どのように)違う色」として見分けるか、ということも異なります。

 そういった違いから生じる「(他の人の)違う色として区別しにくさ」を(ほんの少しだけ)理解することを目的として作られている道具の一つが、色覚”疑似体験”ツールです。それらのツールが行う処理がどのようなものかというと、(疑似体験したい錐体光波長感度分布下で)任意の光がどのような「明暗チャンネル」「緑ー赤チャンネル」「黄ー青チャンネル」を生じさせるかを計算し、その計算結果と同じ3刺激を与えるような光を表示させることで、(疑似体験したい錐体光波長分布などを持つ他の人にとっての)「違う色として区別しにくさ」を理解しようとするものです。

 …ただし、それらのツールにより変換出力された結果(色調など)は、「絵画の色表現や階調表現を論じる・感じる」ことができるようなものではありません。(ちなみに、RGB値から計算を行うような簡易ツールの場合、そのツールが行う処理は一種の単なる色域圧縮のようなものになります)

 たとえば、人が景色を眺め・その景色を絵の具を使って描こうとする時、その景色を見て感じる色も・その景色を描くために選ぶ絵の具も、選ばれた絵の具で描かれた絵も、すべて「それぞれ個人ごとに大なり小なりに異なる(人それぞれの)色処理」がかかります。だから、もしも色を忠実に再現しようとする画家=見た景色と同じ”色”に感じる絵の具をただ選び出すような画家が”もしも・仮に・百歩譲って”いたとしたならば、描かれた絵が派手であれば・その画家は景色をも派手に感じていたことになる…というわけです。

 そして、この「派手」とか(あるいはその逆の)「自然で滑らか」とかそういった感覚を育み・作り出すもの=毎日眺める景色・生活のすべてにも、そんな「処理」が掛けられているわけです。つまり…色変換処理を掛けた画像から、”自然”とか”良い”といったことを考えることができるほどには、単純な話ではないのです。画家本人の「色としての感じ方」を考えるのであれば、景色や絵具やキャンバス上の絵といったすべてに処理を掛け・考えなければいけないし、絵を見る側の「色としての感じ方」を想像しようとするならば、絵だけでなく・普段眺めるものすべてに変換処理を掛けた上で、想像しなければならないわけです。

 そういったことを考えながら、「ゴッホの本当のすごさを知った日」という記事を読んでいくと、あの記事が「さまざまな”光”を、各個人が自分の中でどういう”色(存在)”として位置づけるか」ということを考えないまま、思いを巡らせないまま、そして、整理しないままに書かれたのだろう、と感じてしまうのです。

続「ゴッホの本当のすごさを知った日」の「最も間違っている部分」続「ゴッホの本当のすごさを知った日」の「最も間違っている部分」続「ゴッホの本当のすごさを知った日」の「最も間違っている部分」






2012-01-29[n年前へ]

「Mathematicaの色(スペクトル計算)関数」手直し版 

 Mathematicaで色(スペクトル)計算をしたり、計算結果を表示するのに便利な関数を(ほんの少しだけ)作り直しました(ColorImagingFunctions.txt)。CMYKの画像ファイルを開き、「画像のこの辺りのピクセルは、一体どんな色(スペクトル)になるんだろう?」なんていう計算をする時の「叩き台」になるかもしれない(ならないかもしれない)という、そんな関数群です。

 たとえば、右に貼り付けた画像は「典型的なカラーインクの吸収スペクトル(シアン・マゼンタ・イエロー)で面積階調・濃度階調を表現した際の色変化を示したグラフです。こういった処理を下記のようなコードを書くことで行うことができる、そんな関数群を書き直してみました。

labs = Map[lab, 
  Table[transmissionLight[D65, 
   cyanFilter, d], {d, 0, 4, 0.4}]]
labPlot[ labs ]

「Mathematicaの色(スペクトル計算)関数」の更新「Mathematicaの色(スペクトル計算)関数」手直し版






2012-08-18[n年前へ]

続「ビールの法則」で「白ビールの酵母・小麦タンパクの量」を見極めろ!? 

 「ビールの法則」で「白ビールの酵母・小麦タンパクの量」を見極めろ!?で、「酵母や小麦蛋白が濾過されずにたくさん残っているヴァイツェンビールの色から、酵母や小麦蛋白の量を見極めるための研究」を始めました。具体的には、「ビールの法則」ならぬ「ランバート・ベアの法則」と「ビールに溶け込んでいる色素の色(分光吸収率)」を使って、ビールグラスを外から眺めた色とビールに溶け込むことなく濁っている成分の量を結びつける式を導き出してみました。

 そこで今回は、導き出した「ヴァイツェンビールの濁り成分量と外見色の関係式」から、濁り成分量を変えた時(つまり濾過されずグラス中に残っている酵母や小麦蛋白の量が違う時)、ビールの色がどう違って見えるかを眺めてみることにします。

 まず、ビールに溶け込んでいる(光を吸収しても散乱はさせない)成分の分光吸収率が右のような吸収スペクトルだとしてみます。「ビールといえば黄色」ですから、ほぼ黄色以外の波長の光を吸収するような特性です(グラフの黒領域が吸収される量を示しています)。

 そんな「黄色いビール」の中に含まれる濁り成分量を「全然入ってない~たくさん入ってる」まで9段階の条件下で、「ヴァイツェンビールの濁り成分量と外見色の関係式」を使って「ビールグラスの外見色(スペクトル)を算出してみると次のようになります。左上が濁り成分が全然入っていない状態で、右下がたくさん濁り成分がグラスの中に入っている状態です。

 「濁り成分」が全く入っていない条件では、青色や赤色の波長の光は多く吸収され、黄色近くの波長の光だけをビール外部に放出している=綺麗な黄色に見えていることがわかります。

 それに対して、濁り成分が増えてくると「ビール内部で光が散乱され・青色や赤色が吸収されないままビール外部に出ていくために、どの波長の光も結構強く残っている=白色に見える」ことが見てとれます。そして、その濁り成分の量と「ビールの白っぽさ」が対応していることも、(当たり前ですが)確認することができます(参考までにCIE Lab空間での色座標推移も右に貼り付けておきます)。

 こんな「ビール研究」を(ビールを飲みながら)していると、スマフォ・カメラでビールグラスを撮影するだけで、ビールの酵母・小麦タンパクの量…ありとあらゆるビールの特性を教えてくれるスマフォ・アプリなんていうものも、きっと近い将来には登場しているに違いない、という気がしてきます。


 作成した計算ノートブックはここに置いておきます。このノートブックは、以前作成した「色」を計算するためのMathematica用ライブラリの最新版です。また、このライブラリには三次元構造の中で反射・屈折・散乱を行う「光」のスペクトル変化過程を計算するための機能も入っているので、その機能を使って計算・解析してみるのも面白いかもしれません。

続「ビールの法則」で「白ビールの酵母・小麦タンパクの量」を見極めろ!?続「ビールの法則」で「白ビールの酵母・小麦タンパクの量」を見極めろ!?続「ビールの法則」で「白ビールの酵母・小麦タンパクの量」を見極めろ!?






2012-08-24[n年前へ]

大人のための自由研究 「ビールの色」を調べてみよう!? 

 「大人のための自由研究 「7色/虹色のビール」を作ってみよう!?」でビールに色んな食用色素を混ぜ込んで、彩り鮮やかなカラフル・ビールを作ってみました。今日は「ビールの色」について調べてみることにします。

 「ビールの色」を決めるやりかたのひとつにAmerican Society of Brewing Chemistsが決めた430nmの波長の光がビール中を通過する間に「どのくらい吸収されるか」で表すというものがあります。430nmということは「青色」ですから、それはつまり、「青色に相当する波長の光をどれだけ吸収するか」でビールの色を表すというわけです。

 「青色の波長光が吸収された光はどのように見えるか」というと、それは「黄色」です。(色処理ライブラリを使って)「青色の波長光が吸収された光スペクトル」(左下図)をRGBに変換し、そのRGB色でビールジョッキ状の円筒形を描いてみると右下のようになります。こう眺めてみると、それは確かにビールの色にも見えてきます。

 

 処理コード:

beerColor=(whiteLight[#]*(1-yellowFilter[#]))&;
spectorPlot[beerColor] (* スペクトル図示 *)
rgb = spectorFitting[ beerColor,
  redLight, greenLight, blueLight ];(* RGB近似 *)
Graphics3D[{RGBColor[rgb], Opacity[0.6], Cylinder[]}]

大人のための自由研究 「ビールの色」を調べてみよう!?大人のための自由研究 「ビールの色」を調べてみよう!?








■Powered by yagm.net