2019年5月1日水曜日

影が重なる時に伸びるように見えるやつ(2)

 今回のソースコードはこちら。

 まあ前回とほとんど変わってないです。変わったところは2点。

(1)integrate.quadをリストラし、単純な区分求積法で代用
 その結果、有限の連続光源の再現時に中央上に出現していた明るさ0未満の領域がなくなった。


 また、dが10^-2のオーダーだった時に出現していた明るい部分のボツボツの影も消えた。 


 そんなわけで、前回の反意図的な部分はintegrate.quadが影響していた可能性が高いです。

(2)照明パターンを追加
 (イメージとしては蛍光灯が間隔をあけて並んでいるような、)連続光源があったりなかったりするパターンを考えていなかったので、system_dottedクラスを作って実験。照明の長さ0.5、間隔0.5での結果。


 あっ、キレイ…( ^ω^)

 割と満足した結果が得られたのでこの話題は終わりかな。
 この記事書いてて思い出したものとして、「レンズの目の前にある物体の周りの像がゆがむ」のも再現できるかなーと思ったので、そのうち暇つぶしでやります。

(追記)
 新しい照明パターン、これあってんのか?a大きくしてると明るかった部分が明るくなったり暗くなったりするんか?

(追記2)
 まず画像をよく見ると、縞模様は縦と斜めの2つが出現している。思考実験上、縦の縞模様は光の当たり方(照明との距離、光の当たる角度)の影響で説明できそうなので、問題を簡単にするためにもまず縦の縞模様から取り組む。
 光の減衰の影響を減らして全体的にベターッと照らせば距離や角度の影響を除くことができそうなので、天井を上げてみる。これまでは天井の高さH=3としていたが、H=5, 10, 50と変えてみたところ次のようになった。




 H=5では変化は明らかでない。H=10で縦の縞模様が消えきるかと思ったが、意外にも斜めの模様だけ消えて(実際は見えないだけと思われる)、縦だけくっきり残っている。H=50にするとどちらも消えた(同)。
 この結果と思考実験から、縦模様に関してはもういいでしょう。
 積分のステップ幅の影響も考えて変えてみたが、模様に変化なし。
 光源の間隔が短くなったら分岐点が増えたりするかと考えて変えてみたが、模様に変化なし。
 触れたくない事実として、aはここまで0から1までしか動かしていない。なのでここまで見ていた影はかなり狭い範囲での出来事を確認していたことになる。これはaを大きくすると積分区間も計算しなければならないxも増えるからなのだが、他に考えることもなくなってしまったのでしぶしぶ着手する。ついでに座標軸もちゃんとググって正しくしたよ偉い!(1行追加するだけだったので早くググればよかったと後悔している(アホ))
 a=3, 5としたもの。




 どうもxの幅1くらいの範囲で起きているようである。板P2の左端通過0.5前~0.5後ってところやね。
 現時点でこの縞模様が正しいものなのかそうでないのかの区別がついていないのが問題である。今後は思考実験でこれを再現できるかどうかと、コードの確認と、2つを続けていかなければならなさそうである・・・。

0 件のコメント:

コメントを投稿