Solved

室内照明(シーリングライト) 室内が人間の目にどう見えるかシミュレーションする方法

  • 13 July 2022
  • 1 reply
  • 336 views

Userlevel 3
Badge +1

室内照明(シーリングライト) で室内が人間の目にどう見えるかシミュレーション例について説明します。

 

過去の記事に今回使用したオブジェクトの作成内容が記載されております。

リンク

室内照明(シーリングライト)と照度の分布についてのシミュレーション例 | Zemax Community

icon

Best answer by Ryosuke.Niitsu 13 July 2022, 01:21

View original

1 reply

Userlevel 3
Badge +1

 

この記事では、室内照明(シーリングライト) で室内が人間の目にどう見えるかシミュレーション例について説明します。

 

前回記事にて部屋を照らす照明は作成しております。

今回は家具を作成するところから始めます。

 

◆家具の作成

パートデザイナーの機能を使用して部屋の家具を作成していきます。

下記はソファの例となっております。

同様にテレビ(テレビ台付き)、カーテン、テーブル、椅子を作成します。

それぞれのコーティングデータを作成します。

反射率は自由に設定していただいて問題ありません。

下記はソファに使用したときの例です。

同様に複数のコーティングを作成します。

今回は下記のように割り当てるようにコーティングを作成しました。

 

Sofa       :ソファとイスの座る部分に使用しております。

WOOD :テーブルとイス、およびテレビ台に使用しております。

Curtain :カーテンに使用しております。

 

それぞれの波長に対する反射率は下図のようにしております。

 

◆Sofa

 

◆WOOD

 

◆Curtain

 

オブジェクトのサーフェスをグループ分けします。

解析タブのオブジェクトエディタにてオブジェクトを開きます。

同じコーティングにする部分を同じフェイスに変換します。

それぞれのフェイスにて特性を持たせることで、サーフェスごとに設定する手間を省くことが可能です。

上記のように設定することで、椅子のface0にはWOODコーティングでランバーシアン散乱を起こす。という設定となります。

 

◆室内を人間の目でどのように見えるかのシミュレーション

人間の目でどのように見えるかのシミュレーション方法は下記が考えられます。

  • レンズを使用する。
  • RayRotatorを使用する。

しかし、レンズを使用すると被写界深度が浅いため室内全体をピンボケせずに映すことが

困難です。また、RayRotatorを使用すると、カメラ内に光源を置く必要があるので、

室内に設置した光源が室内をどのような明るさで照らしているのかは表示できません。

 

そこでピンホールカメラのように被写界深度が深く、

カメラの外に光源が置ける方法にてシミュレーションを行います。

 

下記が今回のノンシーケンシャルコンポーネントエディタとなります。

オブジェクト1    :光源となります。

オブジェクト2    :ディテクタ(色)を使用することで、像を検出します。

オブジェクト3    :ピンホールカメラの筐体となります。

オブジェクト4    :0.2mm×0.2mmのオブジェクトとなります。

            重要度サンプリングに使用するため非常に重要です。

オブジェクト5―10 :部屋の周囲の壁となります。

オブジェクト12―16:家具を設置しております。

 

カメラ部分は下記のように設定します。

 

オブジェクト2がディテクタとなります。

オブジェクト4にはものすごく小さい矩形が設置されております。

そして、「重要度サンプリング」にて、このオブジェクトに向けて光線が集まり、

その後ディテクタに記録されます。

 

オブジェクト3は、オブジェクト4を通らずに、ディテクタに直接光が入らないように

遮蔽物として作成しています。

 

この手法はピンホールカメラと同じ原理となり、

ディテクタ上には室内の像を映し出していることと同じです。

 

オブジェクト3からディテクタまでの距離は遠近感に影響を与えます。

短くなるほど遠近感が強調されます。

本例では50mmに設定しておりますが、これくらいにすると自然な遠近感となります。

オブジェクト4を散乱面として、重要度サンプリングを設定します。

こうすることで、被写体で散乱された光線を全てオブジェクト4に向けることが出来ます。

しかし、このままでは壁や床で反射した光が再度室内を照らすことが出来ません。

 

そこで、壁や天井で散乱される光を2本に分割することにします。

2本のうち1本をオブジェクト4に向けることにして、残りの1本は方向を指定しません。

この光線は散乱光となり、再度室内を照らすこととなります。

 

システムエクスプローラーのノンシーケンシャルにて設定を変更します。

理由は下記のとおりです。

  • ディテクタに届く光はものすごく小さいエネルギーとなるので最小相対光線強度を調整する。
  • 部屋の壁やオブジェクトにて散乱する光線など、非常に多くの光線が存在するので制限を設ける。
  •  

光線の最大交差数を15本という制限を設けます。

光源から出た光は、15回以上交差すると、光線追跡は中断されます。

 

光源→壁→壁→壁→壁→壁→壁→壁→壁→壁→壁→壁→壁→オブジェクト4→ディテクタ

壁による反射は13回が最大となります。

 

壁の反射率は65%に設定しているので、強度比は(0.65) ^ 13 = 0.3%程度となります。

つまりこのシミュレーションでは、ディテクタに届く最大の光線に対して、

0.3%以下の強度を持つ光線は無視されます。

これで設定は完了となります。

下記は光源から出た1本の光線が部屋の中をどのように進んでいるかを示します。

分割された光は1本がカメラへ、もう1本が部屋中を散乱していることが分かります。

 

光線本数を1億本にして光線追跡を行います。

私のPCスペックは

CPU:11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz   2.50 GHz

RAM:32.0 GB となりますが訳2時間の光線追跡となりました。

閾値によるエネルギーロスはほぼない状態となりましたので、

かなり正確なシミュレーションとなったかと思います。

 

ディテクタを確認すると、シーリングライトで室内が照らされている様子が分かります。

テレビやソファの下には影が映っており、壁や床は中心が明るいです。

これは照度分布を確認したときと同じかと思います。

 

また、室内と家具は分光反射率を定義しました。

そのため光源によるスペクトルも反映されている正確な色で表現されております。

 

Reply