モンテカルロ法の例 |
コンピュータでは色を赤R、緑G、青Bの組み合わせで表現しています。
それぞれの色は256段階に分けられ、その組み合わせによって、合計1677万7216色を表します。
色の強さは16進数 #00〜#ff で表し、R, G, B の順に並べます。
赤は#ff0000、
緑は#00ff00、
青は#0000ff、
黒は#000000、となります。
なお、このページの文字は#336666 、周りの緑色の四角は#adff8f です。
Web Safe Color
WindowsやMacintoshに共通の216色をWeb Safe Colorといいます。
RGBの3色が #00(0), #33(51), #66(102), #99(153), #cc(204), #ff(255) の組み合わせでできています。
これらを白(#ffffff)から黒(#000000)の順番に並べると下図のようになります。
R(700nm), G(546.1nm), B(435.8nm)の組み合わせでほぼ全ての色を表すことができますが、一部の色(カラースペクトルの波長 540nm から440nm)が表現できません。( R を負にすれば表すことができます )
そこで、仮想の色 X, Y, Z を用いて色を表す表色系が考えだされました。
X, Y, Z は R, G, B の値から次の式を用いて求めることができます。
X = 2.76883 R + 1.75171 G + 1.13014 B
Y = 1.00000 R + 4.59061 G + 0.06007 B
Z = 0.00000 R + 0.05651 G + 5.59417 B
この中で Y が明るさを表します。
下の図は、Web Safe Color 216色の X, Y, Z を求めて、グラフにしたものです。
右上は白(#ffffff) と黒(#000000)が重なるようにグラフを回転させたものです。
しかし、このままでは色の関係がわかりにくいので、絶対的な色合いを表現するために、X, Y, Z の絶対値 x, y, z を使うこととしました。
x = X / (X+Y+Z)
y = Y / (X+Y+Z)
z = Z / (X+Y+Z)
x+y+z =1となります。
ここで、x と y がわかれば z が決まることから、x と y で色を表したのが x-y 色度図です。
グラフ上の各点は Web Safe Color の x, y を求めたものです( 一部明るさを補正してあります )。
#00ff00 から #0000ff の直線の左側の部分が R, G, B の組み合わせでは表せない色です。
例えば、x = 0.1, y = 0.5 は R = -146, G = 255, B = 145 になります。
x-y 色度図では、Red 赤 #ff0000, #cc0000, ・・・ #330000 が同じ値 (0.735, 0.265) になります。ただし、明るさ Y は異なります。
R G B | X, Y, Z | x, y |
---|---|---|
#ff0000 | 706.1, 255, 0 | 0.735, 0.265 |
#cc0000 | 565, 204, 0 | |
#330000 | 151, 51, 0 | |
#ffff00 | 1152.8, 1425.6, 14.4 | 0.445, 0.550 |
#cccc00 | 922.2, 1140.5, 11.5 | |
#333300 | 230.6, 285.1, 2.9 | |
#ffffff | 1441.0, 1441.0, 1441.0 | 0.333, 0.333 |
#cccccc | 1152.8, 1152.8, 1152.8 | |
#333333 | 288.2, 288.2, 288.2 | |
#000000 | 0, 0, 0 | ???, ??? |
G - R線上の色を横から見ると下図のようになります。縦軸は明るさ Y です。
レストランなどの室内で料理などの写真を撮って、白っぽい食器などが赤く写ったことはないですか。 ![]() 鎌倉、アルモリックにて
見ているものは白なのに、写真には赤く写っている。これは照明の光が太陽光と違うためです。 ![]() ![]()
赤い物体は太陽光の中の赤の光を反射して、赤く見えます。 |
太陽光 |
白熱電球 |
日陰 |
![]() |
![]() |
![]() |
前述のクレープの写真を白熱電球の設定で撮ると、このようになります。 ![]()
料理によっては赤っぽい方がおいしく見えることもあります。いろいろな設定で写しておいて、よいと思うものを採用?しましょう。 ![]() 白熱電球の下で「太陽光」の設定 ![]() 白熱電球の下で「白熱電球」の設定 ![]() そして最後が、太陽光の下で「白熱電球」の設定で撮った場合です。 ![]()
注意 |
物体を暖めていくと、その温度によって、電磁波を放出します。
物体の温度が上がっていくと、波長はどんどん短くなって、赤外線、可視光、紫外線と変化していきます。
これを黒体放射といいます(黒体輻射ともいう)。
(物体に色がついていると、その色の影響が出てしまいますので、真っ黒な物体 = 黒体を仮定します)
電磁波の波長とエネルギー分布は次の式で表されます。
プランク定数 h
光の速度 c、波長 λ
ボルツマン定数 k
物体の温度(絶対温度) T
この式で、太陽光 5200K、日陰 7000K、くもり 6000K、白熱電球 3200K、白色蛍光灯 4000Kのエネルギー分布を計算すると、下図のようになります。
(温度設定は Canon EOS Kiss Digital X による)
(エネルギーの合計が等しくなるように正規化してあります。)
これらの光を、5200Kの分布を基準にして、RGBに分解すると次の表のようになります。
(表はグラフに合わせてBGRの順番に並べてあります)
温度 |
B |
G |
R |
色調 |
7000K |
255 |
185 |
142 |
#8eb9ff |
6000K |
255 |
216 |
187 |
#bbd8ff |
5200K |
255 |
255 |
255 |
#ffffff |
4000K |
126 |
184 |
255 |
#ffb87e |
3200K |
58 |
129 |
255 |
#ff813a |
表の右端の「色調」は、これらの光を白い物体に当てたときに、どのような色に見えるかを示してあります。
デジタルカメラに使われている撮像素子をまとめました。
撮像素子 |
横 × 縦 |
画素数 |
画素の面積 |
機種 |
---|---|---|---|---|
35mm |
36 × 24 |
21.1 |
40.95 |
Canon D1 |
APS-C |
22.2 × 14.8 |
10.1 |
32.53 |
Canon EOS Kiss Digital X |
1/ 1.7 |
12.43 × 8.29 |
10 |
10.30 |
Ricoh GR 2 |
1/ 2 |
10.57 × 7.04 |
8 |
9.31 |
|
1/ 2.3 |
9.19 × 6.13 |
10.1 |
5.63 |
Casio EXILIM FC150 |
1/ 2.7 |
7.53 × 5.64 |
2 |
21.27 |
Nikon Coolpix 2000 |
1/ 3.6 |
5.68 × 4.28 |
8.1 |
3.06 |
Casio EXILIM |
![]() 96dpiのモニターで、ほぼ実物大になります。 |
画素の面積は一つ一つの受光素子の面積です。受光素子の横×縦の面積を素子数で割って求めました。
最近の撮像素子1/ 2.3型は画素の面積は5μm2程度ですが、一昔前?の撮像素子では21μm2もあったんですね。総画素数は少ないですが、一つ一つの素子の面積はデジタル一眼レフ並みです。
実際、階調性はきれいです。
ケータイのカメラの3μm2では、RGB各色256階調を求めるのは無理なんでしょうか?
でも、けっこうきれいです。
先日、通勤途中できれいな虹を見ることができました。思わず持っていた携帯電話で写真を撮ったのがこの写真です。
JR海老名駅から、大山方面
虹の原理は、教科書では、このように水滴内部で屈折と反射をして7色に分かれる、と説明されています。
それで、ずーっと納得していたのですが、ふと、水滴に当たる光はこれ一本じゃないよねぇ、と思い始めました。他の部分に当たった光はどうなるの?、と考え始めると、夜も寝られない・・・なんてことはなかったのですが、しばらく気になっていて、ついに、エイ、自分で計算してしまえ、と思い立ち、エクセルで計算してみました。
まず、水の屈折率を理科年表で調べました。
虹の7色「赤橙黄緑青藍紫」の波長に対する屈折率はありませんでしたが、主な波長に対する屈折率は次のようなものでした。
波長 [ nm ] |
屈折率 |
色 |
1256.0 |
1.3210 |
赤外線 |
656.3 |
1.3311 |
赤/橙 |
589.3 |
1.3330 |
黄 |
546.1 |
1.3345 |
緑 |
404.7 |
1.3428 |
紫 |
303.4 |
1.3581 |
紫外線 |
理科年表<平成17年>より抜粋
注) 色名は筆者
これをもとに水滴に入る光を計算しました。
![]() 656.3 nm |
![]() 546.1 nm |
![]() 404.7 nm |
45度ぐらいの範囲でいろいろな方向に広がっていることがわかります。
ここで、角度によってどれくらいの光量があるか、計算してみます。
赤/橙(656.3nm)は約43度、緑(546.1nm)は約42度、紫(404.7nm)は41度が光量が多いことがわかります。
39度以下は全部の光がほぼ均等にありますから、白になります。また、この角度の外側では光が来ませんので、ちょっと暗くなります。上の写真で、虹の左側(外側)が暗くて、右側(内側)が明るいのがわかりますね。
さて、この角度が虹の視半径となるわけですが、虹の写真を撮る場合、カメラの画角は長辺で86度以上ないと、丸い虹(上半分)を収めることができません。35mmカメラでいうと18mmの超広角レンズになります。
画面の中央が観察者、虹の中心は観察者の影
ところで、某鉄道会社の青森のCMで、「今何時だ」「2時です」「ほら、虹だ」というものがあります。
では、本当に2時に虹は見えるでしょうか?
青森の緯度は40度49分です。春分の日、秋分の日の南中高度は49度11分になります。午後2時には少し下がって38度になりますので、虹のてっぺんが水平線の上にでてきます。
冬至の午後2時には、太陽の高度は18度まで下がりますから、虹の上端が水平線から25度のところに来ます。
![]() |
![]() |
単位は角度。横軸は0度が北、90度が東。
CMではもっと高い位置にあったような・・・、まあ、CMですから・・・。
屋根に太陽電池が乗っている家をたくさん見るようになりましたが、中にはこの向きで本当に大丈夫か?というような取り付け方をしている家があります。 ![]()
季節に関わらず、お昼頃に最大効率になって、春分の日、秋分の日には太陽電池にほぼ直角に太陽光線があたります。 ![]()
6月頃は午前10時頃に最大効率になりますが、12月は効率は0.6にもなりません。 ![]()
6月頃は午後1時頃に最大効率になりますが、12月は効率は0.6にもなりません。 |
円軌道の場合 ![]()
小惑星の分裂 ![]()
ロシュ限界に達した時点で分解は始まりますが、20分ぐらいまでは大きな変化は見られません。 |
軌道計算などという偉そうなものではありませんが、ケプラーの法則などを使って、楕円軌道の解析などをしてみました。 ![]() ホーマン遷移軌道
ケプラーの第三法則「公転周期の2乗は、軌道の長半径の3乗に比例する」を式で表すと次のようになります。 ![]() ケプラーの第三法則
惑星、小惑星、彗星 |
|
惑星 |
![]() |
月軌道付近において 10km/s で地球に接近する小惑星がどのようなコースで地球に突入するか、を計算しました。 ![]()
地球の中心から約9300km以上ずれると地球にはぶつかりません。 |
計算式を解く |
||
|
|
|
|
||
|
|
|
![]() 護衛艦 こんごう 横浜港にて |
答え イージス艦の目、フェイズド・アレイ・レーダー(Phased Array Radar)
八角形の中に数千のレーダーアンテナがおさめられています。
規則正しく並べたアンテナから電波を発信させると電波同士が干渉します。
下の図は5個のレーダーから電波を発信した場合をシミュレーション(大げさ)したものです。
左側の図のように電波の位相を合わせると、電波はまっすぐ進みます。
右側のように位相をずらすと電波の向きが変わります。
電波の強い部分だけ表すと下図のようになります。
![]() 位相ズレ 0.25 |
![]() 位相ズレ −0.2 |
実際のフェイズド・アレイ・レーダーではアンテナの数は数千個あるため、ビームの広がりは小さく(2度以下に)なります。
機械式のレーダーでは向きを変えるのに0.数秒かかりますが、フェイズド・アレイ・レーダーでは数ミリ秒で電波の向きを変えることができます。
このため、数十個の目標をほぼ同時に監視することができます。
土浦の花火 (2008年)です。 ![]() たーまやー ![]()
![]() 1秒間に10〜15回繰り返されます
![]() ![]() 励磁のシーケンス
![]() 零戦のエンジン栄は複列14気筒です |
計算の手順は
1) 乱数で x (0<= x <=1), y (0<= y <=1) を発生させる
2) L = √(x*x + y*y) を求める
3) L が 1以下ならば、カウンターの値に1加える
4) これを何万回も繰り返して、カウンターの値を繰り返した回数で割って、4倍する
5) これで、π が求まります。
計算自体は簡単なのですが、なかなか π = 3.141592 にはなりません。
100万回(1M回)繰り返して、3.141844、二回目は3.140716、10回繰り返して平均が3.142054。
1000万回(10M回)を10回繰り返して、平均が3.141743。
この分布は二項分布なのですが、n がめちゃくちゃ多いので、正規分布で近似できます。
標準偏差 σ を計算すると、
繰り返し回数 |
標準偏差 σ |
範囲 2σ |
1M回 |
0.0016422 |
3.138308〜3.144877 |
3.14159265 を求めるにはとんでもない回数を繰り返さなければならないようです。
実際の π は、グレゴリー級数やマチンの公式などを使って計算します。
グレゴリー級数
マチンの公式
4 arctan(1/5) - arctan(1/239) = π/4
この式を使うとn = 6までで 3.14159265 が得られます。
何とも簡単・・・
ビンゴって何個めでビンゴになるのが多いのかな、という疑問から確率を計算してみようということになりました。ただ、一般のビンゴゲームは 1 から 75 の数字の書かれたボールを使いますが、数が多すぎるのと、穴が開かないことが多いので、ここでは簡易的に 1 から 25 の数字で考えます。
(1) 5つ目でビンゴになる確率
5個の並び方は縦 5 列、横 5 行、斜め2つの12通りあります。5個並ぶ順番は5x 4x 3x 2x 1 = 120 通りになります。全部で 12 x 120 = 1440 通り
5x 5 のマス目に5個置く置き方は 25x 24 x 23x 22x 21 = 6,375,600 通り
確率は
1440 / 6375600 = 1 / 4427.5 = 0.0002259 = 0.023%
約 5000 回やれば、一回ぐらいは5つめでビンゴになるかもしれません。
(2) 6つ目でビンゴになる確率
列以外のところに置くのは1回目、2回目、3回目、4回目、5回目の5通りでそれぞれ20箇所に置けるので100通り、それに5個並べる並べ方が 120 通り。
全部で12x 100x 120 = 144000 通り
6個の置き方は 25x 24x 23x 22x 21x 20 = 127,512,000
6つめでビンゴの確率は
144000 / 127512000 = 1 / 885.5 =0.00113 = 0.11%
(3) 7つ目でビンゴになる確率
列以外のところに置くのは1から7の間で、
1-2, 1-3, 1-4, 1-5, 1-6, 2-3, 2-4, 2-5, 2-6, 3-4, 3-5, 3-6, 4-5, 4-6, 5-6 の15通り、
置き場所はそれぞれ 20x 19 = 380通り。
全部で 12x 15x 380x 120 = 8,208,000
7個の置き方は 25x 24x 23x 22x 21x 20x 19 = 2,422,728,000
7つめでビンゴの確率は
8208000 / 2422728000 = 1 / 295.17 = 0.00339 =0.34%
(4) 8つ目でビンゴになる確率
途中は省略
確率は
344736000 / 43609104000 = 1 / 126.5 = 0.0079 = 0.79%
(5) 21個目でビンゴになる確率
9つ目でのビンゴを考えると、別のところでビンゴになる場合もあり、重複の考え方が難しいので一気に最後21個目まで行きます。
20個まででビンゴにならない置き方、つまり、5個の空白をどのように配置すればいいかを考えます。
縦と横に並ばないようにすることを考えると、120通りの置き方ができますが、これでは斜めでビンゴになる場合があります。斜めのビンゴにならないように考えると48通りになります。
最後の一個(21個目)の置き方は 5 通り
これまでに置いた20個の置き方は、
20! = 2.43×10^18
25の升目に21個置く置き方は
25! / 4! = 6.46×10^23
21個目でビンゴになる確率は
2.43×10^18 × 48 × 5 / (6.46×10^23) = 1 / 1107.7 = 0.000903 = 0.09%
1000回に一回は21個目でビンゴになることになります。5個目でビンゴになる確率(0.023%)よりも大きいのです、びっくり。
(6) 9つ目から20個目の確率
組み合わせを考えるのがめんどくさいので、エクセルのマクロなどを使って、モンテカルロ法で計算します。
手順を簡単に説明すると、乱数で1〜25の数字を発生させて、マス目を埋めていって、何個目でビンゴになるかを求めます。それを何回も繰り返していって、何個目が一番多いかを求めていきます。当然数が多い方が精度が高くなります。
下のグラフは2000回の結果を示しています。
7つ目は0.35%、8つ目は0.8% となって、上記の計算とほぼ一致していました。
グラフから一番ビンゴになりやすい回数(穴数)は15, 16ということがわかります。
一般のビンゴゲームは75個のボールを使うので 25 の3倍、ビンゴになる確率が一番大きいのはボールの数で45個から48個目となるのでしょう。
表の数列 |
裏の数列 |
||
|
|
|
|