雑学界の権威・平林純の考える科学

 駅のホームに降りれば、みなスマホを眺めています。あるいは、ホームに入ってきた電車に乗り込むと、多くの人が、電車の中でもスマホを片手に、Facebookやtwitterなどを眺めています。誰もが、その瞬間のことを呟いてみたり、その瞬間に更新された地球上のことを、眺めていたりします。…そこで、今日は「その瞬間の地球を描く」tweetをするテクニックを書いてみることにします。

 数式処理・プログラミング環境”Mathematica”を開発しているWolframが、Wolfram言語(Mathematicaで使われるプログラミング言語) で書かれた130文字程度の関数を書くと(twetterで@wolframtap 宛にメンションすると)、関数実行結果をリプライしてくれるサービス Wolfram Tweet-a-Programを行っています。

 そこで、たとえば1日が終わる頃、こんな風に呟いてみます。

@wolframtap GeoGraphics[{GeoStyling[Opacity[0.5]], NightHemisphere[]}, GeoBackground -> GeoStyling["ReliefMap"], GeoCenter -> {0, 135}]


…すると、@wolframtapは、あなたに向けてこんな画像をリプライしてきます。それは、地球上の、太陽に照らされた領域と、夜の闇に覆われた地域を描いた地球の画像です。


 あるいは、こんな風に呟けば、太陽に照らされた球形の地球を描いた(下左図のような)画像が返ってきます。

@wolframtap SphericalPlot3D[ 1, u, v, PlotStyle -> Texture[ GeoGraphics[ NightHemisphere[]]], TextureCoordinateFunction -> ({#5, -#4} &)]


そしてまた、次のようなtweetをしたならば、地球上の起伏と、太陽が照らす昼とまだ星を眺める夜の地球を映し出す(下右図のような)画像が、@wolframtapからリプライされてきます。

@wolframtap GeoGraphics[{White,DayHemisphere[]},GeoBackground->GeoStyling["ReliefMap"],GeoCenter->{0,135},GeoProjection->”LambertAzimuthal”]


 1億5千万キロメートルの彼方から、約8分もの時間を掛けて、太陽で生み出された光が地球や日本を照らします。24時間ごとに、昼と夜は地球の上を一周し、地球の公転面に対する自転軸の傾きが、南極や北極近くの白夜を生み出します。

 あなたが(上に書いたようなこれらのコマンドを)tweetterで呟けば、その瞬間の「太陽光に照らされた地球」のさまが切り取り・記録されます。 そんなさま…あなたが生きる瞬間の地球を、昼も夜も、朝日が照らす街並みも夕暮れから夜へと変わる夕闇を、今この瞬間にtweetしてみるのはいかがでしょうか?

 「知っているとトクする裏ワザ」紹介は、TV番組でもネットまとめ記事でも、定番中の定番です。裏技を知っていればいつか役に立つこともあるかもしれないし、あるいは、裏ワザを使わなかったとしても、それを話のネタにして楽しめるかもしれない、というわけです。実際のところ、数々ある裏ワザ中で現実に役立つことというのは意外に少ないものです。なぜかと言えば、普通に役立つのであれば、それは「裏」ワザなんて役回りでなくて、社会常識の必須知識なお得ワザになっているはずです。…だから、つまりは「あまり役立たないけれど面白いこと」を言い換えたものが「裏ワザ」と呼ばれるエトセトラになるわけです。

 そんな実際のところ役に立たないものばかりの「知ってトクする裏ワザ」の中で、これは意外に使えるかも!?と(裏ワザの科学解説をした際に)思わされた裏ワザが、今回の記事で紹介する「汗ばんだ時、顔の油テカリを拭き取りつつ、ついでに(拭き取ることで失われた)油補給をする…ことを約20円で済ませる裏技ワザ」です。

 もしも街中で汗ばみ・顔がテカリ始めたら…そして、その顔の油テカリを抑えたいと思ったなら、コンビニに入り株式会社やおきんのスナック菓子「うまい棒」を2本買いましょう。うまい棒1本だけを買ったならシールを貼られてお終いでしょうが、うまい棒2本を買うと、うまい棒は白いレジ袋にを入れて渡されます(うまい棒2本にシールをそれぞれ貼る…ということはなかなかできませんから)。そこで、コンビニを出たらすかさず、顔表面をレジ袋の表と裏で抑え拭くと、油を見事なまでに取ることができるのです。

 なぜかというと、白いレジ袋はずエチレンが直鎖状に結合した高密度ポリエチレンで作られていて、その表面は極性も少なく油に比較的なじみやすい上に、さらに、その表面はザラザラとしているものが多いのです。表面がザラついているということは、表面に大小の凹凸がたくさんついていて、表面積が多いということになります。たとえば、右の写真は、高密度ポリエチレンのレジ袋表面を顕微鏡で撮影したものですが、(表面の反射具合などを見ればわかるように)表面は平滑ではなくて、粗く凹凸が付いていることがわかると思います。つまり、この凹凸を持つ表面に、油をたやすく(比較的)多量に吸着させることができるというわけです。

 コンビニであぶらとり紙を買うと200円くらいするものです。しかし、高密度ポリエチレン製の白レジ袋を脂取り紙代わりに使えば、およそ表面積にして(裏表合わせて)2000平方cmほどにもなる超巨大な脂取り紙を、たった20円で(しかもうまい棒2本付き)で手に入れることができる…というわけです。もちろん、拭顔表面を拭き取ったことで失われた油分は、うまい棒を食べれば十分補うことができますから、お値段十分の一の超コストパフォーマンス高のお得な裏ワザが、「顔がテカったら、コンビニに入ってうまい棒2本を買う…という裏ワザ」というわけです。

 「知ってトクする裏ワザ」は役に立たないものばかりです。しかし、そんな中でも「これは意外に使えるかも!?」と一番思わされた裏ワザが、今回ご紹介のテクニックです。えっ、「これだって、使うにはかなり微妙じゃないの?」という言葉も聞こえてきそうですが、これを役立だて・使うことができることができるかどうか…それはあなた次第です。

 デジタルカメラやスマートフォンで撮影した画像は、色彩を協調して色鮮やかに変えてみたり、陰影を強調することで起伏をわかりやすく画像処理することが今では一般的になっています。かつて、フィルムカメラを使っていた頃は、そんな処理を実現するためには、暗室の中での作業をする必要がありました。だから、現実的には、そんなことをするのは、ごく限られた人たちだけでした。…しかし、今ではそんな画像加工は誰でもできる一般的なことになっています。

 今は、景色などを撮影した写真を眺める機会も多いものですが、漫画やアニメーションの画など、イラストレーション画像を眺める機会も多いものです。しかし、そんなイラストレーション画像に対しては、未だ画像処理を掛けることは一般的になっているとは言えません。そこで、今回は「アニメ的な画」に対して画像処理を掛けて、より立体的・リアルにしてみることにしました。…ちょうど、Tweetでアニメ絵が流れてきたので、そのアニメ絵から立体形状・キャラクターの表面形状や表面の向きを簡易的・擬似的に算出した上で、その情報を使って光の反射や陰影を合成し、つまりは、アニメ画像を「リアル」にする画像処理をしてみることにしました。処理内容は、「色調・明度から、同じような色領域を塊として滑らかな・丸っこい立体形状を作り出し、その形状が作り出す陰影やハイライトを(元のアニメ画に)合成することで、立体的に陰影豊かに見せる」というものです。

 そんな処理結果の一例が、右に貼り付けた2枚の画像です。左の画像は、tweetで流れてきた画像で、右画像がアニメ絵の立体形状・キャラクター表面形状(向き)を簡易的・擬似的に算出して、光の反射や陰影を合成してみた画像です。処理前後の画像2枚を見比べてみれば、ある意味で平面的だったアニメ絵を、立体的に3次元凹凸を強調した効果を確認することができると思います。キャラクターの腕・胸・腰・太もも…といったキャラクターの各パーツが、陰影豊かに、リアルにモリモリと手前に盛り上がっているさまが見えてくるのではないでしょうか。色鮮やかで立体的に見えるものが理想の画像だとしたならば、これはまさに理想の2次元像に違いありません。…ん?理想の立体的に盛り上がる2次元像…?…これは何だかおかしいぞ…?

 …考えてみれば、2次元世界に描かれたアニメ画の魅力は、決して3次元世界の立体性や陰影ではないような気もします。ということは、リアルに陰影豊かに立体的にしてみたところで、それはアニメ絵の魅力を増しているのではないようにも思われます。そんな落とし穴に気づくことなく、今回はとても本末転倒な作業をしてしまい、最後には、一種の「服脱がし画像作成ゲーム」みたいなことをしてしまったような気がします。

 とはいえ、普通の画像や風景やリアル3次元の人物ポートレートだけでなく、アニメ画に対する画像処理って少し面白いような気もします。色んな絵描きさんの手癖や好みを真似た画像処理・レンダリングを行うことで、雰囲気ある2次元アニメ画を作り出すのも楽しそうですし、キャラクターが着ている服のテカリや光模様をさらにリアルに強調するのも面白そうな気がします。