照明シミュレータ
【課題】発光領域に複数個の点光源を配置して表現する場合に、配光を考慮しながらも計算負荷を大幅に低減することが可能な照明シミュレータを提供する。
【解決手段】入力部1は、仮想空間を構築する情報と光源を規定する情報とを少なくとも入力する。モデリング部10は、仮想空間に配置する光源の発光領域を、発光領域の外周縁の全周に亘る外周領域と外周領域に囲まれた内側領域とに分割し、外周領域に点光源を配置する。さらに、光源の発光領域から放射される光線束を、外周領域に配置した点光源から放射される光線束と内側領域から放射される平行光線束とにより表す。
【解決手段】入力部1は、仮想空間を構築する情報と光源を規定する情報とを少なくとも入力する。モデリング部10は、仮想空間に配置する光源の発光領域を、発光領域の外周縁の全周に亘る外周領域と外周領域に囲まれた内側領域とに分割し、外周領域に点光源を配置する。さらに、光源の発光領域から放射される光線束を、外周領域に配置した点光源から放射される光線束と内側領域から放射される平行光線束とにより表す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータグラフィックスによる3次元の仮想空間を用いて照明空間のシミュレーションを行う照明シミュレータに関するものである。
【背景技術】
【0002】
近年、コンピュータグラフィックスによる3次元の仮想空間により照明空間のシミュレーションを行う技術が種々提案されている。この種の技術を用いて照明空間における照明状態を可視化することにより、照明環境の設計に際して施工の前に種々の条件での照明状態を検討することが可能になる。
【0003】
たとえば、特許文献1では、照明空間における光の流れのような照明状態を可視化する照明シミュレータでは、照明空間を小面積単位の単位表面に分割し、単位表面の照度を照明条件に基づいて計算するとともに、照明空間に3次元格子の格子点を設定し、各格子点における照明状態を単位表面の照度値に基づいて計算する技術が提案されている。
【0004】
特許文献1に記載の技術では、単位表面の照度を、光源の位置、光束、配光などの照明条件に基づいて計算している。また、各格子点の照明状態は、格子点の照度と格子点を通る光の流れとで表しており、格子点の照度は、格子点を中心とする仮想球体を形成し、仮想球体の全表面における照度を合算して求め、また、格子点を通る光の流れは、格子点を中心に等立体角に分割するとともに、各方向のベクトルの大きさを計算して求めている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−36360号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術では、照明空間に光源を配置した例が示されているが、単位表面毎の照度は、光源の位置、光束、配光などの照明条件に基づいて計算することのみが記載されており、照明条件をどのようにして設定するかはとくに記載がない。特許文献1には光源に関する具体的な説明はなく、図から見て直管形蛍光ランプを用いた照明器具を想定していると考えられるが、光束や配光をどのように扱っているかは不明である。
【0007】
一般に使用されている光源のほとんどは、白熱電球か蛍光ランプであり、電球型、直管形、円環形などの各種形状が採用されている。一方、最近では、発光ダイオードや有機ELのように、白熱電球や蛍光ランプとは発光原理の異なる光源を照明用に用いることが提案されている。この種の光源を用いると、発光領域が線状や面状である自由な形状の照明器具を容易に実現することができる。このように光源の種類が豊富になった現状では、光源に関して照明条件を適正に設定することが、照明空間のシミュレーションにとって欠かせない重要事項と言える。
【0008】
ところで、コンピュータグラフィックスにおいて光源を配置する際には、点光源または面光源とし、ラジオシティなどの手法を用いて3次元空間内の照度を計算することが考えられている。点光源や面光源は、理想化されており、点光源では光束を全方向に均一に放射するものとして表現される。
【0009】
たとえば、面光源は、図20のように、発光領域D0に点光源S1を一定間隔で配置することによって表現される。したがって、発光領域D0は、正面方向に光束を均一に放射する完全拡散面と等価に扱うことができる。
【0010】
このような発光領域D0に配光特性を付与しようとすれば、発光領域D0を構成している各点光源S1に配光特性を付与することが考えられるが、発光領域D0に含まれるすべての点光源S1に対して個別に配光特性を付与すると、計算負荷が非常に大きくなる。
【0011】
とくに、発光領域D0の位置や形状の条件を変更するとすれば、少数の条件を変更するだけでも、発光領域D0を形成している各点光源S1のすべてを対象として再計算を行わなければならないから、計算負荷が非常に大きくなり、長時間の計算が必要になるという問題が生じる。この問題は面光源だけではなく、線光源であっても同様に生じる。
【0012】
本発明は上記事由に鑑みて為されたものであり、その目的は、線光源や面光源のように広がりを持つ光源を複数個の点光源の集合により表現する場合に、配光を考慮しながらも従来技術に比較して計算負荷を大幅に低減することが可能な照明シミュレータを提供することにある。
【課題を解決するための手段】
【0013】
本発明は、上記目的を達成するために、3次元の照明空間について実空間と等価な仮想空間をコンピュータで生成し、仮想空間内で照明計算を行うことにより照明環境を評価する照明シミュレータであって、仮想空間を構築する情報と光源を規定する情報とを少なくとも入力する入力部と、仮想空間に配置する光源の発光領域を、発光領域の外周縁の全周に亘る外周領域と外周領域に囲まれた内側領域とに分割し、外周領域に点光源を配置するとともに、光源の発光領域から放射される光線束を、外周領域に配置した点光源から放射される光線束と内側領域から放射される平行光線束とにより表すモデリング部とを備えることを特徴とする。
【0014】
モデリング部は、点光源から放射される光線束のうち発光領域の外向きに放射される光線束を照明計算に採用するのが望ましい。
【0015】
また、モデリング部は、入力部の操作により発光領域を変形させる形状変更部を備えることが望ましい。
【0016】
この場合、モデリング部は、発光領域の基本形であって複数個の格子点を備えた基準形状をあらかじめ記憶している記憶部を有し、形状変更部は、基準形状の外接矩形であるバウンディングボックスを変形させることにより基準形状を変形させる操作と、基準形状に設けた格子点を移動させることにより基準形状を変形させる操作とが可能であることが望ましい。
【0017】
さらに、モデリング部は、点光源の配置間隔が均等化されるように外周領域の形状に合わせて点光源の位置を決定する最適化部を備えることが望ましい。
【0018】
加えて、モデリング部は、外周領域について点光源の1個について入力部の操作により配光特性を決定する配置・姿勢設定部と、残りの点光源について配置・姿勢設定部で決定した配光特性を適用する点光源割付部とを備えることが望ましい。
【0019】
また、モデリング部は、外周領域に配置した点光源の光束と、内側領域から放射される平行光線束の光束とに境界が生じないように、外周領域と内側領域とに光束を自動的に分配する光束割付部を備えることが望ましい。
【発明の効果】
【0020】
本発明の構成によれば、光源の発光領域を外周領域と内側領域とに分け、外周領域については点光源を配置することによりモデル化し、発光領域から放射される光線束を、点光源から放射された光線束と、内側領域から放射された平行光線束とにより表すから、照明計算の際に、発光領域については、外周領域に配置される少数の点光源の特性と、内側領域から放射される一様な平行光線束との特性について考慮するだけでよく、多数個の点光源について特性を考慮する従来構成に比較すると、計算負荷が大幅に低減されることになる。また、計算負荷が低減される結果、照明条件を変更したときの照明計算を短時間で行うことが可能であり、コンピュータの計算能力にもよるが、照明計算を実時間で行うことも可能である。
【0021】
点光源から放射される光線束のうち発光領域の外向きに放射される光線束を照明計算に採用するようにすれば、点光源から放射されるすべての光線束を照明計算に用いる場合に比較して計算負荷をさらに低減することができる。
【0022】
また、入力部の操作により発光領域を変形させることを可能にすることで、各種形状の発光領域を仮想空間に配置することが可能になる。
【0023】
とくに、複数個の格子点を備えた基準形状を、バウンディングボックスの変形あるいは格子点の移動によって変形させることにより発光領域を形成する構成を採用すると、発光領域を簡単な操作で自由形状に形成することが可能になる。
【0024】
点光源の配置間隔を自動的に均等化する構成では、外周領域を点光源で代用しているにもかかわらず、1個の連続した光源とみなすことが可能になり、発光領域として用いるモデルの精度が高くなる。すなわち、計算負荷を低減しながらも、精度のよい照明計算が可能になる。
【0025】
また、外周領域の1個の点光源について決定した配光特性を残りの点光源に適用する構成では、1個の点光源のみ配光特性を調整するだけで、外周領域の配光特性を決定することができるから、発光領域のモデルを生成する作業が簡単になる。
【0026】
外周領域と内側領域との光束に境界が生じないように光束を分配する構成では、発光領域の周部のみで光束が低減したり光束が増加したりすることによる不自然感を生じることがない。
【図面の簡単な説明】
【0027】
【図1】実施形態を示すブロック図である。
【図2】同上の動作説明図である。
【図3】同上に用いる基本形状の例を示す図である。
【図4】同上に用いる座標系の説明図である。
【図5】同上における基本形状の変形方法を説明する図である。
【図6】同上における基本形状の変形例を示す図である。
【図7】同上における基本形状の変形例を示す図である。
【図8】同上における最適化部の動作を説明する図である。
【図9】同上における点光源の配置例を説明する図である。
【図10】同上における点光源の配置例を説明する図である。
【図11】同上における配光特性の設定例を説明する図である。
【図12】同上における角度の定義を説明する図である。
【図13】同上における水平角度の有効範囲を説明する図である。
【図14】同上における垂直角度の有効範囲を説明する図である。
【図15】同上における垂直角度の有効範囲を説明する図である。
【図16】同上における垂直角度の有効範囲を説明する図である。
【図17】同上における外周領域と内側領域との光束の関係を説明する図である。
【図18】同上を線光源に適用した例を示す図である。
【図19】同上を両面に光線束を放射する発光領域に適用した例を示す図である。
【図20】従来構成におけるモデルを示す図である。
【発明を実施するための形態】
【0028】
本発明は、コンピュータを用いて照明空間のシミュレーションを行うにあたり、実空間と等価な仮想空間における光源の形状、配光、位置、光束の設定を容易にすることを目的にしている。以下に説明する実施形態において、「光源」という用語は、光線束を放射する機能を有した面の意味で用いる。したがって、本発明における「光源」の定義には、理想化された点光源や線光源は含まれない。
【0029】
このように「光源」から点光源および線光源を除外しても、実空間における光源は一般に発光領域に面積を有しているから差し支えない。ただし、本発明では、仮想空間に点光源や線光源を配置することを除外するのではなく、仮想空間内に1個の点光源を単独で配置すれば点光源を表すことができ、仮想空間に複数個の点光源を線上(直線上でも曲線上でもよい)に並べて配置すれば線光源を表すことができる。また、「光源」は、ランプの発光面だけではなく、照明器具の発光面であってもよく、また物体表面のように光の反射により光線束を放射する面を「光源」として扱うことも可能である。
【0030】
本発明では、上記目的の達成のために、図8に示すように、光源の発光領域D0(図8(a))を、図8(b)のような発光領域D0の外周縁の全周に亘る外周領域D1と、図8(c)のような外周領域D1に囲まれた内側領域D2とに2分し、内側領域D2からは一様な平行光線束を放射し、外周領域D1は発光領域D0の外周縁に沿って配置した複数個の点光源Sから光線束を放射する構成を有する構成として扱う。要するに、発光領域D0を、外周領域D1と内側領域D2とを有する構成にモデル化して照明計算を行う。
【0031】
発光領域の配光は、外周領域D1と内側領域D2との各光束E1,E2の放射方向に配光特性を付与することにより決定することができる。また、外周領域D1の光束E1は、外周領域D1に設けた点光源Sから放射される光線束の合成として決定され、内側領域D2の光束E2は、平行光線束の光度と内側領域D2の面積とで決定される。したがって、発光領域D0の全光束E0は、外周領域D1から放射される光束E1と内側領域D2から放射される光束E2との合算で表される。
【0032】
本発明は、実空間の照明空間に対応する仮想空間を設定する段階と、仮想空間において照明空間のシミュレーションの計算を行う段階との間の段階で、照明条件を規定する段階の技術に関するものであり、コンピュータでプログラムを実行することにより以下の機能が実現される。
【0033】
プログラムの実行によりコンピュータで実現される機能を図1に示す。図1は光源の照明条件を設定する要素を示している。仮想空間を構築する機能は、入力部1において必要に応じて実現される。また、仮想空間内の物体表面における照度を計算する機能、仮想空間内の光線束の流れを算出する機能は、計算部9において必要に応じて実現される。これらの機能は、先行技術文献などに記載された周知の技術を用いて実現することができる。本発明の特徴は、仮想空間に配置する光源の発光領域D0を計算部9での照明計算が容易になるようにモデル化することであり、発光領域D0のモデル化のためにモデリング部10が設けられる。
【0034】
入力部1は、仮想空間における照明条件(光源の形状、配光、位置、光束)などの光源に関する必要事項を入力する機能を有する。具体的には、コンピュータにおけるモニタ装置11の画面に表示された入力フィールドやチェックボックスに、キーボードやマウスを用いて必要事項を入力することにより、照明条件を対話的に入力する。ただし、仮想空間における光源の条件に関する設計データなどの別途のデータが存在する場合には、それらのデータを読み込むことによって照明条件を入力してもよい。
【0035】
まず、本実施形態のモデリング部10における照明条件の設定手順の概略を図2を用いて簡単に説明する。入力部1では、幾何学的に規定されている基準形状を選択し(S1)、その後、形状変更部2において、入力部1の操作により基準形状から所望形状に変形し、所望の形状の発光領域D0に形成する(S2)。もちろん、発光領域D0の所望形状が基準形状に一致している場合には変形は不要である。形状変更部2の具体的な動作は後述する。
【0036】
形状変更部2において発光領域D0の形状が決定されると、上述したように、光源の発光領域D0が外周領域D1と内側領域D2とに2分される。外周領域D1と内側領域D2とに分ける処理は最適化部3において行い、最適化部3では、さらに外周領域D1に複数個の点光源Sを配置する(S3)。すなわち、最適化部3では、外周領域D1に配置する点光源Sの個数と間隔とを決定する。
【0037】
次に、姿勢設定部4において、外周領域D1に配置された点光源Sのうちの1個について、入力部1で指示された照明条件に従って、光線束の広がりが決定されるとともに(S4)、光線束を放射する向きが決定される(S5)。このようにして姿勢設定部4において1個の点光源Sから放射する光線束の向きと広がりとが決定されると、点光源割付部5において、外周領域D1に配置されたすべての点光源について光線束の向きおよび広がりが決定される(S6)。
【0038】
外周領域D1に配置する各点光源Sについて、光線束の向きと広がりとの特性が決定されると、方向設定部6では、内側領域D2の平行光線束の向きを、姿勢設定部4において決定した点光源Sからの光線束の向き(最大光度の向き)に一致させる(S7)。このようにして、外周領域D1と内側領域D2との光線束の向きおよび広がりが決定される。さらに、方向設定部6では、照明計算に必要な向きに放射される光束に関するデータのみを有効なデータとして抽出する(S8)。
【0039】
その後、光束割付部7において、入力部1から入力された照明条件(発光領域D0の全光束)に基づいて、外周領域D1のすべての点光源Sと内側領域D2の平行光線束とのそれぞれに必要な光束を分配し(S9)、さらに、各点光源Sから放射する光束と、平行光線束の単位面積あたりの光束とを決定する(S10)。
【0040】
本実施形態の照明シミュレータは記憶部8を備え、記憶部8には、光源の発光領域D0に関する基準形状、外周領域D1に配置する点光源Sの配光特性、照明計算に用いる仮想空間、照明計算を行った結果などの種々のデータが格納される。記憶部8に格納されるデータは、あらかじめ登録されているデータのほか、上述の処理過程で生じる各種データがある。記憶部8に保存されているデータは、必要に応じて読み出されて利用される。上述の処理過程において一時的に保存されるデータは、不要になった時点で消去される。
【0041】
以下では、図1に示した各要素の機能について詳述する。上述したように入力部1から照明条件を入力するとともに、入力部1の操作により光源の発光領域D0の形状を決めるための幾何学的に規定された基準形状を選択する。基準形状Tは、単純な幾何学形状であって、本実施形態では、図3(a)に示すような正方形と図3(b)に示すような円形とのいずれかの形状から選択される。基準形状Tの内側は、複数の部分に規則的に分割される。
【0042】
図3(a)のように基準形状Tが正方形である場合は、各辺に沿った複数本ずつの直線により網目状に分割される。図3(b)のように基準形状が円形の場合は、基準形状Tの中心を通る複数本の直線と複数個の同心円とにより網目状に分割される。このように、基準形状Tの内側を網目状に分割することにより、基準形状Tには複数個の格子点Gが設けられる。基準形状Tが正方形の場合は、互いに直交する直線の交点と、基準形状Tの頂点と、基準形状Tの各辺と直線との交点とがそれぞれ格子点Gになる。また、基準形状Tが円形の場合は、基準形状Tおよび同心円と各直線との交点がそれぞれ格子点Gになる。基準形状Tを分割する際には、隣接する格子点Gの間隔が、実空間において比較的小さい寸法(たとえば、最大5〔cm〕程度)になるように分割の際の寸法が規定される。
【0043】
各基準形状Tの大きさは、入力部1を通して利用者が所望値を指示するか、形状変更部2が、初期値として規定寸法(たとえば、10〔cm〕四方など)の基準形状Tをモニタ装置11に提示した後に、利用者に寸法の調整をさせる。また、形状変更部2は、入力部1を通して利用者に基準形状Tの縦横比を変更させる機能を有しており、基準形状Tが正方形であれば長方形に変形させることが可能であり、基準形状Tが円形であれば楕円形に変形させることが可能である。
【0044】
以下では、説明を容易にするために、座標系を設定して説明する。図4に示すように、基準形状Tの発光領域D0について、基準形状Tに平行である平面をxz平面とし、y軸方向の負の向きに光線束Eを放射するように座標系が設定されているものとする。この座標系の原点の位置は仮想空間の適宜の位置に設定される。
【0045】
形状変更部2では、基準形状Tの外形を変形させるか、基準形状Tに含まれる各格子点Gの位置を移動させることにより、基準形状Tを変形させる。
【0046】
基準形状Tには、図5に示すように、外接矩形であるバウンディングボックスBBが規定されており、モニタ装置11の画面上で基準形状Tを選択すると(基準形状Tにマウスカーソルを合わせてクリックすると)、図5のように、モニタ装置11の画面上に、当該基準形状Tを囲むバウンディングボックスBBが表示される。バウンディングボックスBBの各頂点位置とバウンディングボックスBBの各辺の中央とには、それぞれアンカーポイントAPが表示される。これらのアンカーポイントAPをマウス(ポインティングデバイス)で操作すると(ドラッグを行うと)、バウンディングボックスBBを変形させることができ、結果的に基準形状Tを変形させることが可能になる。
【0047】
アンカーポイントAPの操作は、コンピュータグラフィックスにおけるドローで一般に用いられている操作と同様である。すなわち、8個のアンカーポイントAPが表示されている状態では、図5(a)のようにバウンディングボックスBBの頂点位置のアンカーポイントAPのドラッグを行うと、バウンディングボックスBBの縦横の寸法を同時に変更することができる。また、バウンディングボックスBBの上辺または下辺の中央に位置するアンカーポイントAPをドラッグすると、バウンディングボックスBBの縦寸法の変更することができ、バウンディングボックスBBの左辺または右辺の中央に位置するアンカーポイントAPをドラッグすると、バウンディングボックスBBの横寸法の変更することができる。
【0048】
さらに、マウスのクリックなどによってモードを切り換えると、バウンディングボックスBBの頂点位置の4個のアンカーポイントAPのみが表示される状態になり、図5(b)のようにアンカーポイントAPのドラッグによりアンカーポイントAPの位置を自由に移動させることが可能になる。すなわち、図5(a)のモードでは、バウンディングボックスBBは矩形に保たれるが、図5(b)のモードでは、バウンディングボックスBBは任意形状の四角形に変形させることが可能になる。
【0049】
格子点Gを移動させる場合は、所望の格子点Gを選択し(マウスでクリックを行い)、入力部1から座標位置を指定するか、所望の格子点Gにマウスカーソルを合わせてドラッグを行う。後者の場合、格子点Gの位置を直感的に操作することができるが、格子点Gの座標位置はモニタ装置11の画面上の適宜の領域(たとえば、ステータスバーあるいはパレット)に表示される。ここに、格子点Gは多数個存在するから、選択した格子点Gのみの座標位置が表示される。
【0050】
たとえば、図6(a)の基準形状Tについて、格子点Gを移動させることにより、図6(b)のような形状の発光領域D0を形成することが可能になる。なお、格子点Gの座標位置だけではなく、バウンディングボックスBBの変形後の寸法や形状をモニタ装置11の画面上に表示する機能を付加してもよい。また、後述する円形の場合と同様に、格子点Gをy軸方向に移動させることにより、基準形状Tをy軸方向に変形させることもできる。
【0051】
上述の例は、基準形状Tが正方形である場合を示したが、基準形状Tが円形である場合には、xz平面に平行な面内では、格子点Gの移動は行われず、基準形状Tの変形は、バウンディングボックスBBの変形のみによって行われる。一方、バウンディングボックスBBは、xz平面に平行な面内で設定されているから、y軸方向については、バウンディングボックスBBによって基準形状Tを変形させることはできない。そこで、y軸方向については、格子点Gを移動させることにより、基準形状Tを変形させる。
【0052】
したがって、図7(a)(b)に示すように、モニタ装置11には、xz平面に平行である面内の形状と、xy平面に平行である面内の形状とが示され、xz平面に平行な面内ではバウンディングボックスBBのみによる基準形状Tの変形を行い、zy平面に平行な面内では格子点Gの移動のみによる基準形状Tの変形を行う。
【0053】
バウンディングボックスBBは、基準形状Tが円形である場合も、基準形状Tが正方形である場合と同様に外接矩形となるように設定される。すなわち、基準形状Tが円形である場合は、図7(a)のように、xz平面に平行な面内では変形後も不連続点のない閉曲線で囲まれることになる。
【0054】
なお、基準形状Tが円形である場合に、xz平面に平行な面内で格子点Gの移動を行わないのは次の理由による。すなわち、基準形状Tが円形である場合に格子点Gを移動させると、部分円弧を格子点Gで不連続に連結した形になり、しかも、隣接する一対の格子点Gの距離は実空間において比較的小さい寸法(たとえば、5〔cm〕程度)に設定しているから、格子点Gの間の曲線を直線で近似しても光源の形状に大きな誤差は生じないと言える。このように、格子点Gを連結する曲線を直線で近似した形状は、基準形状Tを正方形として変形させた形状でも実現できる形状であるから、円形の基準形状Tから格子点Gを移動させて変形させる意味がない。したがって、基準形状Tが円形である場合には、xz平面に平行な面内での格子点Gの移動は行わないようにしているのである。
【0055】
1.点光源の配置
形状変更部2で基準形状Tから生成した光源の形状は、最適化部3に与えられる。最適化部3では、図8に示しているように、まず、光源の発光領域D0を外周領域D1と内側領域D2とに2分する。外周領域D1は発光領域D0の外周縁を意味し、内側領域D2は発光領域D0の外周縁以外の領域を意味する。したがって、内側領域D2は実質的に光源の発光領域D0の全面を占めていることになる。最適化部3では、外周領域D1に点光源S(図8参照)を配置し、内側領域D2は平行光線束を放射する発光面として扱う。
【0056】
最適化部3は、発光領域D0を外周領域D1と内側領域D2とに分割した後、外周領域D1に点光源Sを配置する。つまり、外周領域D1に配置する点光源Sの個数と間隔とを決定し、各点光源Sの座標位置を決定する。最適化部3は、外周領域D1における点光源Sの座標位置を以下の手順に従って定める。点光源Sの座標位置を定める手順は、基準形状Tが正方形である場合と円形である場合とで異なっている。
【0057】
a.基準形状Tが正方形の場合
基準形状Tからの変形に際して、バウンディングボックスBBのみで変形させた場合には光源は四角形になり、格子点Gを移動させた場合には光源は多角形(凸多角形と凹多角形とのどちらもある)になる。どちらの場合であっても、以下の手順で点光源Sの位置を決定することができる。
【0058】
(1)光源の頂点の位置に点光源Sを配置するとともに、各辺ごとに長さ寸法Bn(n=1,2,…)を求める。
【0059】
(2)最短辺の長さ寸法Bminを用い、点光源Sによる最短辺の分割数Mを以下の関係で決定する。分割数Mは、光源の頂点を除いて最短辺に配置される点光源Sの個数をmとすれば、M=m+1になる。
a×(M−1)<Bmin<a×M
すなわち、M=[Bmin/a]+1である。ここに、[x]はxの商を意味しており、定数aは、点光源Sの間隔の最大値として与えられる規定値であって、たとえば実空間で5〔cm〕に相当する値に設定する。
【0060】
(3)点光源Sの間隔の基準値K′を所定寸法b(たとえば、5mm)刻みで決定するために、次式を最小にする基準値K′の値を、{a−ib,a−(i−1)b,…,a−b,a}の範囲から求める。iは適宜の正整数である。a=5〔cm〕、b=5〔mm〕、i=8とすれば、基準値K′は、〔cm〕を単位として、{1,1.5,…,4.5,5}の範囲から求められる。
|Bmin/M−K′|
(4)残りの各辺の長さ寸法Bnから、各辺ごとの点光源Sの間隔の基準値Kn′を次式により求める。
Kn′=Bn/[Bn/K′]
ここに、[Bn/K′]は、当該辺に基準値K′の間隔で点光源Sを配置した場合の当該辺の分割数に相当する。したがって、間隔の基準値Kn′は、当該辺における点光源Sの仮の間隔ということができる。
【0061】
(5)基準値K′と基準値Kn′との差分の大きさに基づいて、各辺に点光源Sを配置する間隔Knを以下のように決定する。
Kn′−K′>bならば、Kn=Bn/([Bn/K′]+1) …(規則1)
−b≦Kn−K′≦bならば、Kn=Kn′ …(規則2)
Kn−K′<−bならば、Kn=Bn/([Bn/K′]−1) …(規則3)
このようにして、各辺における点光源Sの間隔のばらつきが±bの範囲内になるように、各辺ごとの点光源Sの間隔Knを決定する。
【0062】
上述の手順(2)において、点光源Sの間隔の最大値を規定する定数aは、外周領域D1に配置される複数個の点光源Sを連続した1個の光源の代用とすることができる程度の大きさに設定される。したがって、定数aを小さい値にすれば光源のシミュレーションの精度を高めることができるが、実用上では、上述の例のように、a=5〔cm〕と設定すれば条件を満足することができる。
【0063】
(1)〜(5)の手順により点光源Sの間隔Knを決定する具体例を以下に示す。この例では、形状変更部2により形成された発光領域D0が図9(a)の形状を有しているものとする。図9(a)は、外周領域A1の各頂点の位置に点光源Sを配置した状態を示している。また、各辺の長さは、B1=14.5〔cm〕、B2=17.0〔cm〕、B3=7.8〔cm〕、B4=9.2〔cm〕であり、上述した定数aが5〔cm〕、所定寸法bが5〔mm〕であるものとする。
【0064】
この例では、最短辺の長さ寸法Bminは、Bmin=B3=7.8〔cm〕であるから、最短辺の分割数Mは、M=[7.8/5]+1=1+1=2になる。すなわち、Bmin/M=7.8/2=3.9であるから、点光源Sの間隔の基準値K′は、{1,1.5,…,4.5,5}の範囲から|Bmin/M−K′|=|3.9−K′|を最小にする値として選択すれば、K′=4〔cm〕になる。
【0065】
したがって、他辺における点光源Sの間隔の基準値K1′,K2′,K4′は、それぞれ以下のように求められる。
K1′=14.5/[14.5/4]=14.5/3≒4.833
K2′=17/[17/4]=17/4=4.25
K4′=9.2/[9.2/4]=4.6
よって、K1′−K′≒0.833であり、上述した(規則1)の条件を満たすから、K1=14.5/([14.5/4]+1)=14.5/4=3.625になる。また、K2′−K′=0.25であり、上述した(規則2)の条件を満たすから、K2=4.25になる。さらに、K4′−K′=0.6であり、(規則1)の条件を満たすから、K4=9.2/([9.2/4]+1)=3.067になる。
【0066】
以上の手順により、図9(b)のように、各辺上に配置される点光源Sの個数は、それぞれ3個、3個、1個、2個になる。したがって、外周領域A1に配置する点光源Sの個数は、各頂点にそれぞれ配置された点光源Sと合わせて合計13個になる。
【0067】
なお、上述の例では、K2=4.25〔cm〕、K4=3.067〔cm〕であって、異なる辺上に配置される点光源Sの間隔の最大値と最小値との間に、1〔cm〕以上の差があるから、間隔K2あるいは間隔K4の再計算を行うことで、最大値と最小値との差が小さくなるように調整してもよい。たとえば、間隔K2を調整する場合には、図9(c)のように、点光源Sの個数を1個増やして、K2=17/([17/4]+1)=17/5=3.4〔cm〕とすればよい。このように、間隔K2を調整すれば、点光源Sの間隔の最大値と最小値との差は、K3−K4=3.9−3.067=0.833〔cm〕になり、点光源Sの間隔のばらつきを減少させることができる。
【0068】
上述のように、各辺に配置される点光源Sの間隔のばらつきが規定値(たとえば、1〔cm〕)を超える場合に、適宜の辺上の点光源Sの個数を増加させる作業を繰り返せば、点光源Sの間隔のばらつきを低減させることが可能である。ただし、点光源Sを追加することによって点光源Sの間隔が最小値以下になると、間隔の最大値と最小値との差が拡大することになる。
【0069】
たとえば、上述の例では、最短辺(図の右辺)に点光源Sを1個加えると、K3=7.8/3=2.6〔cm〕になる。ここで、上述のように、K2=3.4〔cm〕に調整した後であれば(図9(c)参照)、点光源Sの間隔の最大値はK1=3.625〔cm〕であるから、間隔の最大値と最小値との差は、3.625−2.6=1.025〔cm〕になり、結局、間隔の最大値と最小値との差が拡大することになる。
【0070】
したがって、点光源Sを追加する際は、最短辺における点光源Sの個数を増加させず、点光源Sの間隔が最大である辺に点光源Sを追加するとともに、点光源Sの間隔が最小値以下になるか否かを判断し、最小値以下になる場合には点光源Sの追加を終了する必要がある。
【0071】
ところで、点光源Sを規定するパラメータは、表1のように、点光源Sを区別するための識別子と、点光源Sの3次元の座標位置と、後述する点光源Sの光軸の向き(最大光度の向き)と、後述する水平有効範囲および鉛直有効範囲と、後述する範囲内光度との組で表される。これらのパラメータは記憶部8に格納される。最適化部3では座標位置が決定されるから、最適化部3での処理後には、表1のパラメータのうち識別子と座標位置のみが記憶部8に格納される。
【0072】
【表1】
基準形状Tが正方形である場合に、点光源Sの間隔を決定するにあたって、上述の手順のほか、以下の手順を採用することも可能である。すなわち、上述の手順では、最短辺の長さ寸法Bminに基づいて各辺における点光源Sの間隔を順に決定しているが、すべての辺について点光源Sの間隔を同時に決定する手順を採用することも可能である。
【0073】
(1)は上述の手順と同様である。
【0074】
(2)点光源Sについて仮の間隔Jnを設定し、辺の長さ寸法Bnに対して、Bn/Jnの商である分割数Mn′と剰余Rnとを求める(Jn×Mn′+Rn=Bn)。ここで、規定値cに対して、Rn/Mn′<cになれば、Jn+Rnを点光源Sの間隔の候補とする。規定値cは、たとえば5mmに設定する。また、仮の間隔Jnは、最大間隔dから始めて所定寸法e刻みで減少させる。たとえば、最大間隔dを5〔cm〕とし、所定寸法eを5〔mm〕とすれば、間隔Jnを、5.0〔cm〕,4.5〔cm〕,4.0〔cm〕,…と変化させることになる。ここに仮の間隔Jnは、すべての辺について同じ値を適用して、各辺ごとに「Rn/Mn′<c」か否かの条件判断を行う。
【0075】
(3)仮の間隔Jnがある値になった時点で、光源のすべての辺について点光源Sの間隔の候補が求められると、間隔の候補の検出を終了する。上述したように、仮の間隔Jnを次第に減少させて間隔の候補を求めているから、仮の間隔Jnは、この時点で最小値Jminになっている。ここで、点光源Sの間隔の候補の個数は、各辺で一致するとは限らないが、各辺ごとに最低1個の候補が求められる。
【0076】
(4)各辺について求めた点光源Sの間隔の候補(Jn+Rn)のうちの最小値を求めて間隔の基準値に用い、基準値を求めた辺を除く他辺については、当該辺について求めた候補のうち、基準値との差が最小になる候補を選択する。
【0077】
(5)このようにして選択した各辺における点光源Sの間隔の候補の差(最大値と最小値との差)が規定値c未満であれば、各辺における点光源Sの間隔の候補(Jn+Rn)を当該辺における点光源Sの間隔として採用する。
【0078】
手順(5)において、各辺における点光源Sの間隔の候補の差が規定値c以上である場合には、仮の間隔Jnの最小値Jminから規定値cを減算した値を仮の間隔Jnに用いて(つまり、Jn=Jmin−cを用いて)、間隔の候補(Jn+Rn)を求める。ただし、仮の間隔Jnには最小値dが規定されており、最小値dを用いても各辺における点光源Sの候補の間隔の差が規定値c未満にならない場合には、各辺について求めた点光源Sの間隔の候補の差が、規定値c以上であっても、間隔の候補の差が最小になる間隔の候補を、各辺における点光源Sの間隔として採用する。
【0079】
b.基準形状Tが円形の場合
上述したように、基準形状Tが円形である場合、xz平面に平行な面内ではバウンディングボックスBBを用いる変形のみが可能であるから、変形後の光源の外周領域D1は閉じた曲線になる。この曲線に対して、図10のように外接円Ccを設定し、外接円Ccの中心を通る直線を一定角度間隔ωで設定し、各直線と外周領域D1との交点を点光源Sの配置位置とする。外接円Ccの半径をrとし、点光源Sの所望の間隔をeとするときに、角度間隔ωは、rω≦eとなるように設定される。間隔eは、たとえば5〔cm〕に設定される。
【0080】
図10では外周領域D1が円形ではないが、外周領域D1が円形である場合も同様であって、外周領域D1が外接円Ccに一致することになる。なお、光源の外周領域D1が楕円形である場合には、楕円の式を用いれば弧の長さを正確に求めることが可能であるが、計算負荷を低減して高速な演算を可能にするために、点光源Sの間隔のばらつきを許容している。ただし、点光源Sの間隔eを適宜に設定しておけば、複数個の点光源Sを連続した1個の光源の代用とすることができるから点光源Sの間隔に多少のばらつきがあっても実用上差し支えない。
【0081】
また、仮想空間内において、曲線は短い直線群で近似されており、外接円Ccを分割した各扇形は三角形で近似される。
【0082】
なお、光源の発光領域D0の形状は適時に変更することが可能であって、発光領域D0の形状を変更した場合や、発光領域D0の面積を変更した場合には、最適化部3により点光源Sの配置を再設定することが必要である。
【0083】
2.配光特性の設定
最適化部3において、光源の発光領域D0を外周領域D1と内側領域D2とに分割し、外周領域D1における点光源Sの配置位置を決定した後、姿勢設定部4、点光源割付部5、方向設定部6により、発光領域D0の配光を決定する。発光領域D0の配光を決定するには、まず、姿勢設定部4において外周領域D1に配置した1個の点光源Sについて配光特性(光線束の向きと広がり)を決定し、その後、点光源割付部5においてすべての点光源Sの配光特性を決定し、さらに、方向設定部6において内側領域D2の平行光線束の向きを決定する。
【0084】
まず、姿勢設定部4の動作について具体的に説明する。
【0085】
(1)最適化部3で位置を決定した点光源Sから図11(a)のように適宜の1個の点光源Sを選択する。点光源Sの選択は、利用者が入力部1の操作によって行うことができるが、表1のように記憶部8に格納されている先頭位置の点光源Sを採用するか、仮想空間に設定した適宜の視点位置から最短距離である点光源Sを採用することにより、点光源Sを自動的に選択するようにしてもよい。
【0086】
(2)1個の点光源Sが選択されると、入力部1を用いて利用者が当該点光源Sの配光特性を指定する。ここに、点光源Sは、光線束を全周に亘って等方的に放射するものではなく、光線束の放射に指向性を有するものとする。したがって、光軸(最大光度の向きを示す仮想軸)と、光軸に対する光度の分布とにより点光源Sの配光特性が表される。
【0087】
選択された点光源Sの配光特性を決めるために、姿勢設定部4では、仮想空間内での点光源Sの3次元の位置、および仮想空間内での点光源Sの光軸の向きを決定する。図12のように、点光源Sの位置は、仮想空間に規定した座標系での3次元の座標位置(x,y,z)で表され、光軸Axの向きは、光源Sの位置を原点として仮想空間に規定した座標系の各座標軸に平行な3本の直線のそれぞれに対して光軸Axがなす角度(α,β,γ)で表される。なお、点光源Sの位置は最適化部3において決定されているから、姿勢設定部4では、点光源Sの光軸の向きを決定する。
【0088】
光軸の向きを決定する際には、モニタ装置11の画面には、図11(a)のように点光源Sの配光曲線が示される。この状態で、入力部1から数値入力を行うか、入力部1を用いて光軸Axのドラッグを行うことにより、光軸Axの向きを調節する。決定された光軸Axの向きは、表1のように点光源Sの識別子に対応付けて記憶部8に格納される。
【0089】
点光源Sの配光特性は、光軸Axをy軸方向の負の向きに規定した状態でのデフォルト値が表2のような形式で記憶部8に登録されており、これらの配光特性の中から必要なものを選択する。なお、配光特性は、必要に応じて記憶部8に追加登録ができる。また、入力部1から数値入力を行うか、入力部1を用いて配光曲線のドラッグを行うことにより、配光特性を変更することができる。ドラッグにより配光曲線を変形するには、光源について基準形状Tを変形させた場合と同様にバウンディングボックスを用いるのが望ましい。
【0090】
【表2】
表2では、点光源Sの配光特性を、鉛直角度と水平角度との光度との組み合わせにより表している。すなわち、図12のように、点光源Sの位置を原点として仮想空間における光線Lの方向を、当該方向がy軸となす角度φ(鉛直角度)と、当該方向をxz平面に投影した写像(直線)がx軸となす角度θ(水平角度)との組で表し、角度φと角度θとの組で表される光線Lの方向ごとに光度qを対応付けることにより点光源Sの配光特性を表している。
【0091】
したがって、点光源Sを原点とする極座標を用いて点光源Sの配光特性を表していることになる。鉛直角度φは、[0°,180°]の変域を有し、水平角度θは、y軸周りにおいてx軸からz軸に向かう向きを正として[0°,360°]の変域を有している。φはy軸の負方向を0°、y軸の正方向を180°とする。また、表2において、鉛直角度φおよび水平角度θは、それぞれ一定角度(たとえば、5°)刻みで設定してある。
【0092】
表2に示す点光源Sの配光特性はデフォルト値であり、上述のように、点光源Sについて配光曲線を変形させると配光特性も変化する。変更後の配光特性は記憶部8に格納される。
【0093】
(3)選択した点光源Sの配光特性が決定されると、姿勢設定部4は、図11(b)のように、他の点光源Sに同じ配光特性を適用する。すなわち、外周領域D1に配置された各点光源Sに同じ配光特性が設定される。また、この状態において、点光源Sの配光曲線の重ね合わせにより内側領域D2が囲まれることになる。また、この段階において、記憶部8には、表1のように、各光源Sの光軸Axの角度(α,β,γ)が登録される。
【0094】
(4)外周領域D1における点光源Sの配光特性が設定された後、内側領域D2に関する平行光線束の向きが設定される。平行光線束の向きを決めるには、まず(2)で求めた点光源Sの配光特性(表2のデフォルト値に基づいて設定され記憶部8に格納された配光特性)について、鉛直角度φと光度qとから求められるq・cosφの値が最大になる鉛直角度φ(ただし、0°≦φ≦90°)を、基準鉛直角度φsとして求める。また、基準鉛直角度φsに対応する水平角度θを、基準水平角度θsとして求める。
【0095】
上述のようにして求めた基準鉛直角度φsおよび基準水平角度θsは、記憶部8に格納され、内側領域D2の平行光線束の向きとして用いられる。
【0096】
(5)上述のようにして外周領域D1と内側領域D2とについて配光が決定されると、外周領域D1と内側領域D2とにそれぞれ光度を設定することにより照明計算を行うことが可能であるが、本実施形態では、計算負荷をさらに低減するために、仮想空間において点光源Sからの光を利用する範囲を制限している。
【0097】
具体的には、光源の発光領域D0から外向きに放射される光線束であって、光源の発光領域D0からy軸方向の負の向きに放射される光線束のみを有効な光線束として扱い、発光領域D0の内向きに放射される光線束や発光領域D0からy軸方向の正の向きに放射される光線束は無効として無視する。
【0098】
点光源Sの配光特性は、表2のように、鉛直角度φと水平角度θと光度qとの組で表されているから、水平方向θについて外周領域D1の各辺との関係を評価すれば発光領域D0から外向きに放射される光線束か否かを判断することができ、また、鉛直方向φを評価すれば発光領域D0からy軸方向の正の向きに照射される光線束か否かを判断することができる。
【0099】
まず、発光領域D0から外向きに放射される光線束か否かを判断するために、図13(a)に示すように、光源の外周領域D1の各辺に向きを持たせて各辺をベクトル<Cn>(図示例では、n=1,2,3,4)として扱い、外周領域D1に配置した各点光源Sを中心とする単位ベクトルとの外積を求める。外周領域D1の各辺に向きを持たせるベクトル<Cn>は、y軸方向の正の向きから発光領域D0を見込んだときに時計回りとなる向きを正の向きとsする。また、図13(b)に示すように、単位ベクトル<Ua>は、各点光源Sの位置を中心として一定角度(たとえば、5°)刻み、かつ[0°,360°]の範囲で設定される。なお、単位ベクトル<Ua>の角度刻みは、配光特性を規定する角度刻みと一致させておく。
【0100】
外周領域D1の各辺に規定したベクトル<Cn>と、各点光源Sの周りに設定した単位ベクトル<Ua>との外積(<Cn>×<Ua>)は、単位ベクトル<Ua>が発光領域D0の外側に向いていればy軸方向の正の向きになり、内側に向いていればy軸方向の負の向きになるから、各点光源Sの配光特性の水平角度θのうち、上記外積の向きがy軸方向の正の向きになる水平角度θの範囲を有効範囲として利用する。
【0101】
ここにおいて、外周領域D1の頂点位置の点光源Sについては、外積の向きが負から正に変化する角度と、正から負に変化する角度との両方を求める必要があるが、外周領域D1の辺上の点光源Sについては、外積の向きが負から正に変化する角度と正から負に変化する角度との一方がわかれば、当該角度と180°異なる角度との間で外積の向きが正になる側が水平角度θの有効範囲になる。図13(c)に各光源Sに関する水平角度θの有効範囲を斜線で示す。水平角度θの有効範囲[θi1,θi2]は、表1のように点光源Sに対応付けて記憶部8に登録される。
【0102】
なお、水平角度θとして、表2に示すような点光源Sの配光特性を表すデータを用いる場合、発光領域D0がxz座標軸に対して傾斜していれば、各点光源Sの位置における発光領域D0の傾斜角度に応じて水平角度θを補正することが必要である。
【0103】
(6)(5)では、水平角度θについて有効範囲を制限しているが、鉛直角度φについては、以下のようにして有効範囲を制限する。すなわち、基準水平角度θs(0°≦θs<360°)と基準鉛直角度φs(0°≦φs≦180°)と(5)で求めた水平角度θの有効範囲との関係から、鉛直角度φの有効範囲が以下の(イ)(ロ)の条件で決定される。有効範囲は、表1の鉛直角度の有効範囲として記憶部8に登録される。
【0104】
(イ)水平角度θの有効範囲に基準水平角度θsが含まれている場合(すなわち、点光源Sの光軸Axの向きが外向きである場合)は、鉛直角度φの有効範囲として、φs≦φ≦90°の領域を用いる。
【0105】
(ロ)水平角度θの有効範囲に基準水平角度θsが含まれてない場合(すなわち、点光源Sの光軸Axの向きが内向きである場合)は、水平角度θが有効範囲である領域(発光領域D0の外側の領域)については鉛直角度φの有効範囲を0°≦φ≦90°とし、水平角度θが有効範囲ではない領域(発光領域D0の内側の領域)については鉛直角度φの有効範囲を0°≦φ≦φsとする。
【0106】
なお、面光源は表裏の一面からのみ光線束を放射する場合を想定しているから、鉛直角度φの上限を90°としている。光源の形状によっては、鉛直角度φが90°より大きい角度であっても光線束を放射する場合があるが、本実施形態では、鉛直角度φが90°を超える領域の光線束は利用しない。
【0107】
図14(a)の斜線部のように水平角度θの有効領域が決定されていると、(イ)の条件により、鉛直角度φの有効領域は図14(b)の斜線部のようになる。また、図15(a)の斜線部のように水平角度θの有効領域が決定されていると、(ロ)の条件により、鉛直角度φの有効領域は図15(b)の斜線部のようになる。両者をまとめると、鉛直角度φについては、(イ)の条件で図16の左側の斜線部が有効範囲になり、(ロ)の条件で図16の右側の斜線部が有効範囲になる。鉛直角度φの有効範囲[φi1,φi2]は、表1のように点光源Sに対応付けて記憶部8に登録される。すなわち、図16の斜線部の光線束のみが照明計算に利用される。
【0108】
(7)各点光源Sに関して水平角度θと鉛直角度φとの有効範囲が決定されると、光束を決定する前に外周領域D1に配置する各点光源Sの光束の比率を求める。そのため、各点光源Sに関して、表2のような配光特性を用いることにより、それぞれ有効範囲における光度を合計した有効光束Eiを求める。また、点光源Sに有効範囲を設定しない場合の光度を合計した全光束Etを求める。全光束Etは、各点光源Sについて同じ値を用いる。有効光束Eiおよび全光束Etは、光度を所定の範囲について合算した値であるから光束に相当する。
【0109】
有効光束Eiの全光束Etに対する比は、各点光源Sの光束の目安になるから、表1の光束比として記憶部8に格納する。
【0110】
以上のようにして、光源の形状が決定されると、外周領域D1における点光源Sの配置位置、各点光源Sの配光特性、内側領域D2の平行光線束の向き、各点光源Sから放射する光線束のうち利用する光線束の範囲および光束比が求められる。したがって、各点光源Sから放射する光線束と内側領域D2の平行光線束とについて、光束の絶対値を決定すれば、光源の発光領域の特性が決定され照明計算が可能になる。
【0111】
なお、点光源Sから放射される光線束の有効範囲を規定しない場合、上述した(4)〜(7)の手順は省略することができる。
【0112】
3.光源の光の強度設定
上述のようにして、方向設定部6において、外周領域D1に配置した各点光源Sの配光特性および内側領域D2の平行光線束の向きが決定されると、光束割付部7において、仮想空間での照明計算を行うために、点光源Sの光の強度を設定する。光束割付部7では、以下の手順に従って所要の光束Eを、外周領域D1の各点光源Sと内側領域D2とに振り分けて設定する。光束Eは、利用者が入力部1を操作することにより光束割付部7に与えることができるが、表2に示した1個の点光源Sに関する配光特性のデータに基づいて、光源の発光領域D0全体の光束を算出し、算出した値をデフォルトとして用いてもよい。
【0113】
(1)光源の発光領域D0から放射される全光束Eを、外周領域D1の各点光源Sと内側領域D2とに振り分ける。ここでは、外周領域D1の全光束と内側領域D2の全光束とが1対1に分配されるように次式を用いる。
E=x(外周領域の全光束)+x(内側領域の全光束)
外周領域の全光束=ΣEi
内側領域の全光束=A×q0/4π
ただし、xは強度倍率、Eiは点光源Sごとの有効光束、q0は点光源Sの最大光束(基準水平角度θsと基準鉛直角度φsとに対応する光束c)、Aは発光領域D0の面積である。
【0114】
上述の設定により、点光源Sの最大光度q0の向きは内側領域D2の平行光線束の向きと一致しているから、外周領域D1に設けた点光源Sから放射する光束と内側領域D2の平行光線束の光束とを1対1に設定することにより、外周領域D1と内側領域D2との間に光束の相違による境界が生じるのを防止できる。
【0115】
(2)点光源Sごとの有効光束Eiは、個々の点光源Sで異なっており、外周領域D1の全光束はxΣEiになる。言い換えると、各点光源Sの有効範囲内の有効光束Eiに強度倍率xを乗じた値が各点光源Sの光束の設定値になる。なお、強度倍率xは、表2に示した点光源Sの配光特性から求められる有効範囲内の有効光束Eiに対して設定される。このようにして求めた光量xEiの点光源Sが外周領域D1に配置され、各点光源Sごとに有効範囲から光が放射されているとみなすことにより、外周領域D1の全体ではxΣEiの光束になる。なお、各点光源Sに有効範囲が規定されていなければ、外周領域D1の点光源Sから放射される光束は互いに等しくなる。
【0116】
(3)内側領域D2の平行光線束における単位面積当たりの光束は、外周領域D1に配置した各点光源Sの最大光度q0の向きの単位面積当たりの光束と等しくなるように設定されており、点光源Sにおける最大光度q0から単位面積当たりの光度を求めるとq0/4πになる。したがって、内側領域D2の面積Aを、q0/4πに乗じると、内側領域D2の全光束が、A×q0/4πとして算出される。したがって、x・A・q0/4πが、光束を分配した後の内側領域D2の光束になる。
【0117】
外周領域D1と内側領域D2との光束を上述の関係で設定することにより、図17のように、内側領域D2から放射される平行光線束の単位面積当たりの光束と、点光源Sの単位面積当たりの光束とが等しくなり(図17では光束を矢印の長さで示している)、外周領域D1の点光源Sと内側領域D2との明るさの境界が生じないように仮想空間に光源を形成することが可能になる。
【0118】
上述のようにして発光領域D0の配光特性および光束を外周領域D1と内側領域D2とについてそれぞれ設定した後、仮想空間内において発光領域D0の位置、向きを調整し、必要に応じて光源から出射する光束を再調整する。光束を再調整したときには、調整前の全光束Evと調整後の全光束Epとの関係を用いて、外周領域D1の点光源Sと内側領域D2とに乗じる強度倍率を、x(Ep/Ev)とするだけでよく、光束割付部7での再計算は不要である。
【0119】
また、光源の位置や向きが調整されたときには、外周領域D1に配置した点光源Sと内側領域D2の平行光線束とにもそれぞれ反映させることにより、発光領域D0の設定値の変更に見合う変更を行う。利用者は入力部1を用いて光源の位置や向きを調整する際に、発光領域D0に対する調整のみが可能であり、各点光源Sや平行光線束に対する調整は、利用者の指示によらずに自動的に行われる。
【0120】
光源の配光特性を変更する場合は、外周領域D1に配置した点光源Sの配光特性をあらためて設定し、点光源Sの基準鉛直方向φsを設定した後、平行光線束の向きの調整、光束の分配などの手順を繰り返して行う。ただし、点光源Sの位置および光軸の向きはすでに定められ、有効範囲も配光特性の変更前と同じでよい場合には、配光特性に応じて変更が必要になる光度や光束などの値のみの再計算を行えばよく、光源の配光特性の変更に伴う計算負荷は少なくなる。
【0121】
光源の配光特性の変更を行うには、モニタ装置11の画面にプロパティダイアログを提示するなどして、光源の配光特性が変更されたときのにみ、プロパティダイアログをポップアップさせて、必要なデータの入力を可能にするようにしておく。また、光源の形状を変更する場合は、光源の形状の作成からの手順を繰り返す。また、同じ光源を仮想空間に複数個配置する場合や、光源の配光特性のみを変更する場合には、光源に関して設定したデータに適宜の名称を付与して一括して記憶部8に保存しておけばよい。
【0122】
4.他の動作例
a.線光源の場合
上述した構成例では、光源が面光源である場合を例示したが、光源の縦横比が所定値(たとえば、30:1)以上であって、かつ短辺が所定寸法(たとえば、2〔cm〕)以下である場合には、実質的に線光源とみなし、外周領域D1と内側領域D2とに分離せず、図18のように、光源の発光領域D0における長手方向に沿った中心線Lc上に点光源Sを配列すればよい。点光源Sを配置する間隔は、点光源Sが等間隔で配置され、かつ当該間隔と所定寸法(たとえば、5〔cm〕)との差分が規定値(たとえば、5〔mm〕)以下になるように設定する。
【0123】
この処理は、最適化部3において、光源の最短辺に点光源Sを配置する際の間隔を設定する処理と同様である。すなわち、光源が面光源である場合の処理を光源が線光源である場合にも適用することができる。また、光源が線光源である場合には、各点光源Sには水平角度θに対する有効範囲を設定しない。したがって、有効範囲を制限することによる計算負荷の低減はないが、点光源Sで配光特性を表現することによる計算負荷の低減が可能になる。
【0124】
光源が線光源である場合に、短辺が所定寸法以下であれば、長手方向に沿った中心線Lcと長辺との長さ寸法を等寸法として扱ってもよいから、長手方向に沿った中心線Lc上に点光源Sを配置するほか、一方の長辺に点光源Sを配列してもよい。すなわち、最適化部3は、外周領域D1の点光源Sを等間隔に配置することを目的としているのではなく、計算負荷を増大させることなく1個の光源とみなすことができるように配置することを目的としているので、点光源Sが発光領域D0に対して対称的な配置であることは必須ではなく、計算負荷を低減しながらも誤差が少ない照明計算が可能となる配置を容認しているのである。
【0125】
b.光源の発光領域が表裏両面である場合
上述した構成例では、光源の一面にのみ発光領域D0を設ける例を説明したが、y軸方向の正の向きに光線束を放射する(鉛直角度が90°〜180°の範囲に光線束を放射する)場合も上述の技術を採用することが可能である。
【0126】
すなわち、図19に示すように、発光領域D0について、鉛直角度φが0°≦φ≦90°である下側範囲Dwと、鉛直角度φが90°<φ≦180°である上側範囲Upとに分けて配光特性の設定を行う。設定した配光特性は、下側範囲Dwと上側範囲Upとについて、それぞれ記憶部8に保存する。基準水平角度θsと基準鉛直角度φsとについても、下側範囲Dwと上側範囲Upとでそれぞれ求める。その後、下側範囲Dwと上側範囲Upとについて、それぞれ平行光線束の向きの指定、有効範囲の設定、光束の設定を行う。
【0127】
なお、点光源の基準鉛直角度φsは、下側範囲Dwと上側範囲Upとで異なる場合がある。下側範囲Dwではq・cosφの値が最大になる鉛直角度φ(ただし、0°≦φ≦90°)を、基準鉛直角度φsとして求め、上側範囲Upではq・cosφが最小になる鉛直角度φ(ただし、90°<φ≦180°)を、基準鉛直角度φsとして求める。
【0128】
また、光束の設定に関しては、上側範囲Upと下側範囲Dwとを合わせて発光領域D0の全光束になるから、光源の光の強度設定を行う際に、発光領域D0の全光束Eは、次式で表される。
E=x1Σ(下側範囲の外周領域の全光束)+x1(下側範囲の内側領域の全光束)+x2Σ(上側範囲の外周領域の全光束)+x2(上側範囲の内側領域の全光束)
下側範囲の外周領域の全光束=ΣE1i
下側範囲の内側領域の全光束=A×q10/4π
上側範囲の外周領域の全光束=ΣE2i
上側範囲の内側領域の全光束=A×q20/4π
ただし、x1は下側範囲Dwに適用する強度倍率、x2は上側範囲Upに適用する強度倍率、E1iは下側領域の点光源Sごとの有効光束、E2iは上側領域の点光源Sごとの有効光束、q10は下側範囲Dwの点光源Sの最大光束、q20は上側範囲Upの点光源Sの最大光束Aは発光領域D0の面積である。なお、E1i,E2iは、点光源Sごとの有効光束である。
【符号の説明】
【0129】
1 入力部
2 形状変更部
3 最適化部
4 配置・姿勢設定部
5 点光源割付部
6 方向設定部
7 光束割付部
8 記憶部
9 計算部
10 モデリング部
BB バウンディングボックス
D0 発光領域
D1 外周領域
D2 内側領域
G 格子点
S 点光源
T 基準形状
【技術分野】
【0001】
本発明は、コンピュータグラフィックスによる3次元の仮想空間を用いて照明空間のシミュレーションを行う照明シミュレータに関するものである。
【背景技術】
【0002】
近年、コンピュータグラフィックスによる3次元の仮想空間により照明空間のシミュレーションを行う技術が種々提案されている。この種の技術を用いて照明空間における照明状態を可視化することにより、照明環境の設計に際して施工の前に種々の条件での照明状態を検討することが可能になる。
【0003】
たとえば、特許文献1では、照明空間における光の流れのような照明状態を可視化する照明シミュレータでは、照明空間を小面積単位の単位表面に分割し、単位表面の照度を照明条件に基づいて計算するとともに、照明空間に3次元格子の格子点を設定し、各格子点における照明状態を単位表面の照度値に基づいて計算する技術が提案されている。
【0004】
特許文献1に記載の技術では、単位表面の照度を、光源の位置、光束、配光などの照明条件に基づいて計算している。また、各格子点の照明状態は、格子点の照度と格子点を通る光の流れとで表しており、格子点の照度は、格子点を中心とする仮想球体を形成し、仮想球体の全表面における照度を合算して求め、また、格子点を通る光の流れは、格子点を中心に等立体角に分割するとともに、各方向のベクトルの大きさを計算して求めている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−36360号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術では、照明空間に光源を配置した例が示されているが、単位表面毎の照度は、光源の位置、光束、配光などの照明条件に基づいて計算することのみが記載されており、照明条件をどのようにして設定するかはとくに記載がない。特許文献1には光源に関する具体的な説明はなく、図から見て直管形蛍光ランプを用いた照明器具を想定していると考えられるが、光束や配光をどのように扱っているかは不明である。
【0007】
一般に使用されている光源のほとんどは、白熱電球か蛍光ランプであり、電球型、直管形、円環形などの各種形状が採用されている。一方、最近では、発光ダイオードや有機ELのように、白熱電球や蛍光ランプとは発光原理の異なる光源を照明用に用いることが提案されている。この種の光源を用いると、発光領域が線状や面状である自由な形状の照明器具を容易に実現することができる。このように光源の種類が豊富になった現状では、光源に関して照明条件を適正に設定することが、照明空間のシミュレーションにとって欠かせない重要事項と言える。
【0008】
ところで、コンピュータグラフィックスにおいて光源を配置する際には、点光源または面光源とし、ラジオシティなどの手法を用いて3次元空間内の照度を計算することが考えられている。点光源や面光源は、理想化されており、点光源では光束を全方向に均一に放射するものとして表現される。
【0009】
たとえば、面光源は、図20のように、発光領域D0に点光源S1を一定間隔で配置することによって表現される。したがって、発光領域D0は、正面方向に光束を均一に放射する完全拡散面と等価に扱うことができる。
【0010】
このような発光領域D0に配光特性を付与しようとすれば、発光領域D0を構成している各点光源S1に配光特性を付与することが考えられるが、発光領域D0に含まれるすべての点光源S1に対して個別に配光特性を付与すると、計算負荷が非常に大きくなる。
【0011】
とくに、発光領域D0の位置や形状の条件を変更するとすれば、少数の条件を変更するだけでも、発光領域D0を形成している各点光源S1のすべてを対象として再計算を行わなければならないから、計算負荷が非常に大きくなり、長時間の計算が必要になるという問題が生じる。この問題は面光源だけではなく、線光源であっても同様に生じる。
【0012】
本発明は上記事由に鑑みて為されたものであり、その目的は、線光源や面光源のように広がりを持つ光源を複数個の点光源の集合により表現する場合に、配光を考慮しながらも従来技術に比較して計算負荷を大幅に低減することが可能な照明シミュレータを提供することにある。
【課題を解決するための手段】
【0013】
本発明は、上記目的を達成するために、3次元の照明空間について実空間と等価な仮想空間をコンピュータで生成し、仮想空間内で照明計算を行うことにより照明環境を評価する照明シミュレータであって、仮想空間を構築する情報と光源を規定する情報とを少なくとも入力する入力部と、仮想空間に配置する光源の発光領域を、発光領域の外周縁の全周に亘る外周領域と外周領域に囲まれた内側領域とに分割し、外周領域に点光源を配置するとともに、光源の発光領域から放射される光線束を、外周領域に配置した点光源から放射される光線束と内側領域から放射される平行光線束とにより表すモデリング部とを備えることを特徴とする。
【0014】
モデリング部は、点光源から放射される光線束のうち発光領域の外向きに放射される光線束を照明計算に採用するのが望ましい。
【0015】
また、モデリング部は、入力部の操作により発光領域を変形させる形状変更部を備えることが望ましい。
【0016】
この場合、モデリング部は、発光領域の基本形であって複数個の格子点を備えた基準形状をあらかじめ記憶している記憶部を有し、形状変更部は、基準形状の外接矩形であるバウンディングボックスを変形させることにより基準形状を変形させる操作と、基準形状に設けた格子点を移動させることにより基準形状を変形させる操作とが可能であることが望ましい。
【0017】
さらに、モデリング部は、点光源の配置間隔が均等化されるように外周領域の形状に合わせて点光源の位置を決定する最適化部を備えることが望ましい。
【0018】
加えて、モデリング部は、外周領域について点光源の1個について入力部の操作により配光特性を決定する配置・姿勢設定部と、残りの点光源について配置・姿勢設定部で決定した配光特性を適用する点光源割付部とを備えることが望ましい。
【0019】
また、モデリング部は、外周領域に配置した点光源の光束と、内側領域から放射される平行光線束の光束とに境界が生じないように、外周領域と内側領域とに光束を自動的に分配する光束割付部を備えることが望ましい。
【発明の効果】
【0020】
本発明の構成によれば、光源の発光領域を外周領域と内側領域とに分け、外周領域については点光源を配置することによりモデル化し、発光領域から放射される光線束を、点光源から放射された光線束と、内側領域から放射された平行光線束とにより表すから、照明計算の際に、発光領域については、外周領域に配置される少数の点光源の特性と、内側領域から放射される一様な平行光線束との特性について考慮するだけでよく、多数個の点光源について特性を考慮する従来構成に比較すると、計算負荷が大幅に低減されることになる。また、計算負荷が低減される結果、照明条件を変更したときの照明計算を短時間で行うことが可能であり、コンピュータの計算能力にもよるが、照明計算を実時間で行うことも可能である。
【0021】
点光源から放射される光線束のうち発光領域の外向きに放射される光線束を照明計算に採用するようにすれば、点光源から放射されるすべての光線束を照明計算に用いる場合に比較して計算負荷をさらに低減することができる。
【0022】
また、入力部の操作により発光領域を変形させることを可能にすることで、各種形状の発光領域を仮想空間に配置することが可能になる。
【0023】
とくに、複数個の格子点を備えた基準形状を、バウンディングボックスの変形あるいは格子点の移動によって変形させることにより発光領域を形成する構成を採用すると、発光領域を簡単な操作で自由形状に形成することが可能になる。
【0024】
点光源の配置間隔を自動的に均等化する構成では、外周領域を点光源で代用しているにもかかわらず、1個の連続した光源とみなすことが可能になり、発光領域として用いるモデルの精度が高くなる。すなわち、計算負荷を低減しながらも、精度のよい照明計算が可能になる。
【0025】
また、外周領域の1個の点光源について決定した配光特性を残りの点光源に適用する構成では、1個の点光源のみ配光特性を調整するだけで、外周領域の配光特性を決定することができるから、発光領域のモデルを生成する作業が簡単になる。
【0026】
外周領域と内側領域との光束に境界が生じないように光束を分配する構成では、発光領域の周部のみで光束が低減したり光束が増加したりすることによる不自然感を生じることがない。
【図面の簡単な説明】
【0027】
【図1】実施形態を示すブロック図である。
【図2】同上の動作説明図である。
【図3】同上に用いる基本形状の例を示す図である。
【図4】同上に用いる座標系の説明図である。
【図5】同上における基本形状の変形方法を説明する図である。
【図6】同上における基本形状の変形例を示す図である。
【図7】同上における基本形状の変形例を示す図である。
【図8】同上における最適化部の動作を説明する図である。
【図9】同上における点光源の配置例を説明する図である。
【図10】同上における点光源の配置例を説明する図である。
【図11】同上における配光特性の設定例を説明する図である。
【図12】同上における角度の定義を説明する図である。
【図13】同上における水平角度の有効範囲を説明する図である。
【図14】同上における垂直角度の有効範囲を説明する図である。
【図15】同上における垂直角度の有効範囲を説明する図である。
【図16】同上における垂直角度の有効範囲を説明する図である。
【図17】同上における外周領域と内側領域との光束の関係を説明する図である。
【図18】同上を線光源に適用した例を示す図である。
【図19】同上を両面に光線束を放射する発光領域に適用した例を示す図である。
【図20】従来構成におけるモデルを示す図である。
【発明を実施するための形態】
【0028】
本発明は、コンピュータを用いて照明空間のシミュレーションを行うにあたり、実空間と等価な仮想空間における光源の形状、配光、位置、光束の設定を容易にすることを目的にしている。以下に説明する実施形態において、「光源」という用語は、光線束を放射する機能を有した面の意味で用いる。したがって、本発明における「光源」の定義には、理想化された点光源や線光源は含まれない。
【0029】
このように「光源」から点光源および線光源を除外しても、実空間における光源は一般に発光領域に面積を有しているから差し支えない。ただし、本発明では、仮想空間に点光源や線光源を配置することを除外するのではなく、仮想空間内に1個の点光源を単独で配置すれば点光源を表すことができ、仮想空間に複数個の点光源を線上(直線上でも曲線上でもよい)に並べて配置すれば線光源を表すことができる。また、「光源」は、ランプの発光面だけではなく、照明器具の発光面であってもよく、また物体表面のように光の反射により光線束を放射する面を「光源」として扱うことも可能である。
【0030】
本発明では、上記目的の達成のために、図8に示すように、光源の発光領域D0(図8(a))を、図8(b)のような発光領域D0の外周縁の全周に亘る外周領域D1と、図8(c)のような外周領域D1に囲まれた内側領域D2とに2分し、内側領域D2からは一様な平行光線束を放射し、外周領域D1は発光領域D0の外周縁に沿って配置した複数個の点光源Sから光線束を放射する構成を有する構成として扱う。要するに、発光領域D0を、外周領域D1と内側領域D2とを有する構成にモデル化して照明計算を行う。
【0031】
発光領域の配光は、外周領域D1と内側領域D2との各光束E1,E2の放射方向に配光特性を付与することにより決定することができる。また、外周領域D1の光束E1は、外周領域D1に設けた点光源Sから放射される光線束の合成として決定され、内側領域D2の光束E2は、平行光線束の光度と内側領域D2の面積とで決定される。したがって、発光領域D0の全光束E0は、外周領域D1から放射される光束E1と内側領域D2から放射される光束E2との合算で表される。
【0032】
本発明は、実空間の照明空間に対応する仮想空間を設定する段階と、仮想空間において照明空間のシミュレーションの計算を行う段階との間の段階で、照明条件を規定する段階の技術に関するものであり、コンピュータでプログラムを実行することにより以下の機能が実現される。
【0033】
プログラムの実行によりコンピュータで実現される機能を図1に示す。図1は光源の照明条件を設定する要素を示している。仮想空間を構築する機能は、入力部1において必要に応じて実現される。また、仮想空間内の物体表面における照度を計算する機能、仮想空間内の光線束の流れを算出する機能は、計算部9において必要に応じて実現される。これらの機能は、先行技術文献などに記載された周知の技術を用いて実現することができる。本発明の特徴は、仮想空間に配置する光源の発光領域D0を計算部9での照明計算が容易になるようにモデル化することであり、発光領域D0のモデル化のためにモデリング部10が設けられる。
【0034】
入力部1は、仮想空間における照明条件(光源の形状、配光、位置、光束)などの光源に関する必要事項を入力する機能を有する。具体的には、コンピュータにおけるモニタ装置11の画面に表示された入力フィールドやチェックボックスに、キーボードやマウスを用いて必要事項を入力することにより、照明条件を対話的に入力する。ただし、仮想空間における光源の条件に関する設計データなどの別途のデータが存在する場合には、それらのデータを読み込むことによって照明条件を入力してもよい。
【0035】
まず、本実施形態のモデリング部10における照明条件の設定手順の概略を図2を用いて簡単に説明する。入力部1では、幾何学的に規定されている基準形状を選択し(S1)、その後、形状変更部2において、入力部1の操作により基準形状から所望形状に変形し、所望の形状の発光領域D0に形成する(S2)。もちろん、発光領域D0の所望形状が基準形状に一致している場合には変形は不要である。形状変更部2の具体的な動作は後述する。
【0036】
形状変更部2において発光領域D0の形状が決定されると、上述したように、光源の発光領域D0が外周領域D1と内側領域D2とに2分される。外周領域D1と内側領域D2とに分ける処理は最適化部3において行い、最適化部3では、さらに外周領域D1に複数個の点光源Sを配置する(S3)。すなわち、最適化部3では、外周領域D1に配置する点光源Sの個数と間隔とを決定する。
【0037】
次に、姿勢設定部4において、外周領域D1に配置された点光源Sのうちの1個について、入力部1で指示された照明条件に従って、光線束の広がりが決定されるとともに(S4)、光線束を放射する向きが決定される(S5)。このようにして姿勢設定部4において1個の点光源Sから放射する光線束の向きと広がりとが決定されると、点光源割付部5において、外周領域D1に配置されたすべての点光源について光線束の向きおよび広がりが決定される(S6)。
【0038】
外周領域D1に配置する各点光源Sについて、光線束の向きと広がりとの特性が決定されると、方向設定部6では、内側領域D2の平行光線束の向きを、姿勢設定部4において決定した点光源Sからの光線束の向き(最大光度の向き)に一致させる(S7)。このようにして、外周領域D1と内側領域D2との光線束の向きおよび広がりが決定される。さらに、方向設定部6では、照明計算に必要な向きに放射される光束に関するデータのみを有効なデータとして抽出する(S8)。
【0039】
その後、光束割付部7において、入力部1から入力された照明条件(発光領域D0の全光束)に基づいて、外周領域D1のすべての点光源Sと内側領域D2の平行光線束とのそれぞれに必要な光束を分配し(S9)、さらに、各点光源Sから放射する光束と、平行光線束の単位面積あたりの光束とを決定する(S10)。
【0040】
本実施形態の照明シミュレータは記憶部8を備え、記憶部8には、光源の発光領域D0に関する基準形状、外周領域D1に配置する点光源Sの配光特性、照明計算に用いる仮想空間、照明計算を行った結果などの種々のデータが格納される。記憶部8に格納されるデータは、あらかじめ登録されているデータのほか、上述の処理過程で生じる各種データがある。記憶部8に保存されているデータは、必要に応じて読み出されて利用される。上述の処理過程において一時的に保存されるデータは、不要になった時点で消去される。
【0041】
以下では、図1に示した各要素の機能について詳述する。上述したように入力部1から照明条件を入力するとともに、入力部1の操作により光源の発光領域D0の形状を決めるための幾何学的に規定された基準形状を選択する。基準形状Tは、単純な幾何学形状であって、本実施形態では、図3(a)に示すような正方形と図3(b)に示すような円形とのいずれかの形状から選択される。基準形状Tの内側は、複数の部分に規則的に分割される。
【0042】
図3(a)のように基準形状Tが正方形である場合は、各辺に沿った複数本ずつの直線により網目状に分割される。図3(b)のように基準形状が円形の場合は、基準形状Tの中心を通る複数本の直線と複数個の同心円とにより網目状に分割される。このように、基準形状Tの内側を網目状に分割することにより、基準形状Tには複数個の格子点Gが設けられる。基準形状Tが正方形の場合は、互いに直交する直線の交点と、基準形状Tの頂点と、基準形状Tの各辺と直線との交点とがそれぞれ格子点Gになる。また、基準形状Tが円形の場合は、基準形状Tおよび同心円と各直線との交点がそれぞれ格子点Gになる。基準形状Tを分割する際には、隣接する格子点Gの間隔が、実空間において比較的小さい寸法(たとえば、最大5〔cm〕程度)になるように分割の際の寸法が規定される。
【0043】
各基準形状Tの大きさは、入力部1を通して利用者が所望値を指示するか、形状変更部2が、初期値として規定寸法(たとえば、10〔cm〕四方など)の基準形状Tをモニタ装置11に提示した後に、利用者に寸法の調整をさせる。また、形状変更部2は、入力部1を通して利用者に基準形状Tの縦横比を変更させる機能を有しており、基準形状Tが正方形であれば長方形に変形させることが可能であり、基準形状Tが円形であれば楕円形に変形させることが可能である。
【0044】
以下では、説明を容易にするために、座標系を設定して説明する。図4に示すように、基準形状Tの発光領域D0について、基準形状Tに平行である平面をxz平面とし、y軸方向の負の向きに光線束Eを放射するように座標系が設定されているものとする。この座標系の原点の位置は仮想空間の適宜の位置に設定される。
【0045】
形状変更部2では、基準形状Tの外形を変形させるか、基準形状Tに含まれる各格子点Gの位置を移動させることにより、基準形状Tを変形させる。
【0046】
基準形状Tには、図5に示すように、外接矩形であるバウンディングボックスBBが規定されており、モニタ装置11の画面上で基準形状Tを選択すると(基準形状Tにマウスカーソルを合わせてクリックすると)、図5のように、モニタ装置11の画面上に、当該基準形状Tを囲むバウンディングボックスBBが表示される。バウンディングボックスBBの各頂点位置とバウンディングボックスBBの各辺の中央とには、それぞれアンカーポイントAPが表示される。これらのアンカーポイントAPをマウス(ポインティングデバイス)で操作すると(ドラッグを行うと)、バウンディングボックスBBを変形させることができ、結果的に基準形状Tを変形させることが可能になる。
【0047】
アンカーポイントAPの操作は、コンピュータグラフィックスにおけるドローで一般に用いられている操作と同様である。すなわち、8個のアンカーポイントAPが表示されている状態では、図5(a)のようにバウンディングボックスBBの頂点位置のアンカーポイントAPのドラッグを行うと、バウンディングボックスBBの縦横の寸法を同時に変更することができる。また、バウンディングボックスBBの上辺または下辺の中央に位置するアンカーポイントAPをドラッグすると、バウンディングボックスBBの縦寸法の変更することができ、バウンディングボックスBBの左辺または右辺の中央に位置するアンカーポイントAPをドラッグすると、バウンディングボックスBBの横寸法の変更することができる。
【0048】
さらに、マウスのクリックなどによってモードを切り換えると、バウンディングボックスBBの頂点位置の4個のアンカーポイントAPのみが表示される状態になり、図5(b)のようにアンカーポイントAPのドラッグによりアンカーポイントAPの位置を自由に移動させることが可能になる。すなわち、図5(a)のモードでは、バウンディングボックスBBは矩形に保たれるが、図5(b)のモードでは、バウンディングボックスBBは任意形状の四角形に変形させることが可能になる。
【0049】
格子点Gを移動させる場合は、所望の格子点Gを選択し(マウスでクリックを行い)、入力部1から座標位置を指定するか、所望の格子点Gにマウスカーソルを合わせてドラッグを行う。後者の場合、格子点Gの位置を直感的に操作することができるが、格子点Gの座標位置はモニタ装置11の画面上の適宜の領域(たとえば、ステータスバーあるいはパレット)に表示される。ここに、格子点Gは多数個存在するから、選択した格子点Gのみの座標位置が表示される。
【0050】
たとえば、図6(a)の基準形状Tについて、格子点Gを移動させることにより、図6(b)のような形状の発光領域D0を形成することが可能になる。なお、格子点Gの座標位置だけではなく、バウンディングボックスBBの変形後の寸法や形状をモニタ装置11の画面上に表示する機能を付加してもよい。また、後述する円形の場合と同様に、格子点Gをy軸方向に移動させることにより、基準形状Tをy軸方向に変形させることもできる。
【0051】
上述の例は、基準形状Tが正方形である場合を示したが、基準形状Tが円形である場合には、xz平面に平行な面内では、格子点Gの移動は行われず、基準形状Tの変形は、バウンディングボックスBBの変形のみによって行われる。一方、バウンディングボックスBBは、xz平面に平行な面内で設定されているから、y軸方向については、バウンディングボックスBBによって基準形状Tを変形させることはできない。そこで、y軸方向については、格子点Gを移動させることにより、基準形状Tを変形させる。
【0052】
したがって、図7(a)(b)に示すように、モニタ装置11には、xz平面に平行である面内の形状と、xy平面に平行である面内の形状とが示され、xz平面に平行な面内ではバウンディングボックスBBのみによる基準形状Tの変形を行い、zy平面に平行な面内では格子点Gの移動のみによる基準形状Tの変形を行う。
【0053】
バウンディングボックスBBは、基準形状Tが円形である場合も、基準形状Tが正方形である場合と同様に外接矩形となるように設定される。すなわち、基準形状Tが円形である場合は、図7(a)のように、xz平面に平行な面内では変形後も不連続点のない閉曲線で囲まれることになる。
【0054】
なお、基準形状Tが円形である場合に、xz平面に平行な面内で格子点Gの移動を行わないのは次の理由による。すなわち、基準形状Tが円形である場合に格子点Gを移動させると、部分円弧を格子点Gで不連続に連結した形になり、しかも、隣接する一対の格子点Gの距離は実空間において比較的小さい寸法(たとえば、5〔cm〕程度)に設定しているから、格子点Gの間の曲線を直線で近似しても光源の形状に大きな誤差は生じないと言える。このように、格子点Gを連結する曲線を直線で近似した形状は、基準形状Tを正方形として変形させた形状でも実現できる形状であるから、円形の基準形状Tから格子点Gを移動させて変形させる意味がない。したがって、基準形状Tが円形である場合には、xz平面に平行な面内での格子点Gの移動は行わないようにしているのである。
【0055】
1.点光源の配置
形状変更部2で基準形状Tから生成した光源の形状は、最適化部3に与えられる。最適化部3では、図8に示しているように、まず、光源の発光領域D0を外周領域D1と内側領域D2とに2分する。外周領域D1は発光領域D0の外周縁を意味し、内側領域D2は発光領域D0の外周縁以外の領域を意味する。したがって、内側領域D2は実質的に光源の発光領域D0の全面を占めていることになる。最適化部3では、外周領域D1に点光源S(図8参照)を配置し、内側領域D2は平行光線束を放射する発光面として扱う。
【0056】
最適化部3は、発光領域D0を外周領域D1と内側領域D2とに分割した後、外周領域D1に点光源Sを配置する。つまり、外周領域D1に配置する点光源Sの個数と間隔とを決定し、各点光源Sの座標位置を決定する。最適化部3は、外周領域D1における点光源Sの座標位置を以下の手順に従って定める。点光源Sの座標位置を定める手順は、基準形状Tが正方形である場合と円形である場合とで異なっている。
【0057】
a.基準形状Tが正方形の場合
基準形状Tからの変形に際して、バウンディングボックスBBのみで変形させた場合には光源は四角形になり、格子点Gを移動させた場合には光源は多角形(凸多角形と凹多角形とのどちらもある)になる。どちらの場合であっても、以下の手順で点光源Sの位置を決定することができる。
【0058】
(1)光源の頂点の位置に点光源Sを配置するとともに、各辺ごとに長さ寸法Bn(n=1,2,…)を求める。
【0059】
(2)最短辺の長さ寸法Bminを用い、点光源Sによる最短辺の分割数Mを以下の関係で決定する。分割数Mは、光源の頂点を除いて最短辺に配置される点光源Sの個数をmとすれば、M=m+1になる。
a×(M−1)<Bmin<a×M
すなわち、M=[Bmin/a]+1である。ここに、[x]はxの商を意味しており、定数aは、点光源Sの間隔の最大値として与えられる規定値であって、たとえば実空間で5〔cm〕に相当する値に設定する。
【0060】
(3)点光源Sの間隔の基準値K′を所定寸法b(たとえば、5mm)刻みで決定するために、次式を最小にする基準値K′の値を、{a−ib,a−(i−1)b,…,a−b,a}の範囲から求める。iは適宜の正整数である。a=5〔cm〕、b=5〔mm〕、i=8とすれば、基準値K′は、〔cm〕を単位として、{1,1.5,…,4.5,5}の範囲から求められる。
|Bmin/M−K′|
(4)残りの各辺の長さ寸法Bnから、各辺ごとの点光源Sの間隔の基準値Kn′を次式により求める。
Kn′=Bn/[Bn/K′]
ここに、[Bn/K′]は、当該辺に基準値K′の間隔で点光源Sを配置した場合の当該辺の分割数に相当する。したがって、間隔の基準値Kn′は、当該辺における点光源Sの仮の間隔ということができる。
【0061】
(5)基準値K′と基準値Kn′との差分の大きさに基づいて、各辺に点光源Sを配置する間隔Knを以下のように決定する。
Kn′−K′>bならば、Kn=Bn/([Bn/K′]+1) …(規則1)
−b≦Kn−K′≦bならば、Kn=Kn′ …(規則2)
Kn−K′<−bならば、Kn=Bn/([Bn/K′]−1) …(規則3)
このようにして、各辺における点光源Sの間隔のばらつきが±bの範囲内になるように、各辺ごとの点光源Sの間隔Knを決定する。
【0062】
上述の手順(2)において、点光源Sの間隔の最大値を規定する定数aは、外周領域D1に配置される複数個の点光源Sを連続した1個の光源の代用とすることができる程度の大きさに設定される。したがって、定数aを小さい値にすれば光源のシミュレーションの精度を高めることができるが、実用上では、上述の例のように、a=5〔cm〕と設定すれば条件を満足することができる。
【0063】
(1)〜(5)の手順により点光源Sの間隔Knを決定する具体例を以下に示す。この例では、形状変更部2により形成された発光領域D0が図9(a)の形状を有しているものとする。図9(a)は、外周領域A1の各頂点の位置に点光源Sを配置した状態を示している。また、各辺の長さは、B1=14.5〔cm〕、B2=17.0〔cm〕、B3=7.8〔cm〕、B4=9.2〔cm〕であり、上述した定数aが5〔cm〕、所定寸法bが5〔mm〕であるものとする。
【0064】
この例では、最短辺の長さ寸法Bminは、Bmin=B3=7.8〔cm〕であるから、最短辺の分割数Mは、M=[7.8/5]+1=1+1=2になる。すなわち、Bmin/M=7.8/2=3.9であるから、点光源Sの間隔の基準値K′は、{1,1.5,…,4.5,5}の範囲から|Bmin/M−K′|=|3.9−K′|を最小にする値として選択すれば、K′=4〔cm〕になる。
【0065】
したがって、他辺における点光源Sの間隔の基準値K1′,K2′,K4′は、それぞれ以下のように求められる。
K1′=14.5/[14.5/4]=14.5/3≒4.833
K2′=17/[17/4]=17/4=4.25
K4′=9.2/[9.2/4]=4.6
よって、K1′−K′≒0.833であり、上述した(規則1)の条件を満たすから、K1=14.5/([14.5/4]+1)=14.5/4=3.625になる。また、K2′−K′=0.25であり、上述した(規則2)の条件を満たすから、K2=4.25になる。さらに、K4′−K′=0.6であり、(規則1)の条件を満たすから、K4=9.2/([9.2/4]+1)=3.067になる。
【0066】
以上の手順により、図9(b)のように、各辺上に配置される点光源Sの個数は、それぞれ3個、3個、1個、2個になる。したがって、外周領域A1に配置する点光源Sの個数は、各頂点にそれぞれ配置された点光源Sと合わせて合計13個になる。
【0067】
なお、上述の例では、K2=4.25〔cm〕、K4=3.067〔cm〕であって、異なる辺上に配置される点光源Sの間隔の最大値と最小値との間に、1〔cm〕以上の差があるから、間隔K2あるいは間隔K4の再計算を行うことで、最大値と最小値との差が小さくなるように調整してもよい。たとえば、間隔K2を調整する場合には、図9(c)のように、点光源Sの個数を1個増やして、K2=17/([17/4]+1)=17/5=3.4〔cm〕とすればよい。このように、間隔K2を調整すれば、点光源Sの間隔の最大値と最小値との差は、K3−K4=3.9−3.067=0.833〔cm〕になり、点光源Sの間隔のばらつきを減少させることができる。
【0068】
上述のように、各辺に配置される点光源Sの間隔のばらつきが規定値(たとえば、1〔cm〕)を超える場合に、適宜の辺上の点光源Sの個数を増加させる作業を繰り返せば、点光源Sの間隔のばらつきを低減させることが可能である。ただし、点光源Sを追加することによって点光源Sの間隔が最小値以下になると、間隔の最大値と最小値との差が拡大することになる。
【0069】
たとえば、上述の例では、最短辺(図の右辺)に点光源Sを1個加えると、K3=7.8/3=2.6〔cm〕になる。ここで、上述のように、K2=3.4〔cm〕に調整した後であれば(図9(c)参照)、点光源Sの間隔の最大値はK1=3.625〔cm〕であるから、間隔の最大値と最小値との差は、3.625−2.6=1.025〔cm〕になり、結局、間隔の最大値と最小値との差が拡大することになる。
【0070】
したがって、点光源Sを追加する際は、最短辺における点光源Sの個数を増加させず、点光源Sの間隔が最大である辺に点光源Sを追加するとともに、点光源Sの間隔が最小値以下になるか否かを判断し、最小値以下になる場合には点光源Sの追加を終了する必要がある。
【0071】
ところで、点光源Sを規定するパラメータは、表1のように、点光源Sを区別するための識別子と、点光源Sの3次元の座標位置と、後述する点光源Sの光軸の向き(最大光度の向き)と、後述する水平有効範囲および鉛直有効範囲と、後述する範囲内光度との組で表される。これらのパラメータは記憶部8に格納される。最適化部3では座標位置が決定されるから、最適化部3での処理後には、表1のパラメータのうち識別子と座標位置のみが記憶部8に格納される。
【0072】
【表1】
基準形状Tが正方形である場合に、点光源Sの間隔を決定するにあたって、上述の手順のほか、以下の手順を採用することも可能である。すなわち、上述の手順では、最短辺の長さ寸法Bminに基づいて各辺における点光源Sの間隔を順に決定しているが、すべての辺について点光源Sの間隔を同時に決定する手順を採用することも可能である。
【0073】
(1)は上述の手順と同様である。
【0074】
(2)点光源Sについて仮の間隔Jnを設定し、辺の長さ寸法Bnに対して、Bn/Jnの商である分割数Mn′と剰余Rnとを求める(Jn×Mn′+Rn=Bn)。ここで、規定値cに対して、Rn/Mn′<cになれば、Jn+Rnを点光源Sの間隔の候補とする。規定値cは、たとえば5mmに設定する。また、仮の間隔Jnは、最大間隔dから始めて所定寸法e刻みで減少させる。たとえば、最大間隔dを5〔cm〕とし、所定寸法eを5〔mm〕とすれば、間隔Jnを、5.0〔cm〕,4.5〔cm〕,4.0〔cm〕,…と変化させることになる。ここに仮の間隔Jnは、すべての辺について同じ値を適用して、各辺ごとに「Rn/Mn′<c」か否かの条件判断を行う。
【0075】
(3)仮の間隔Jnがある値になった時点で、光源のすべての辺について点光源Sの間隔の候補が求められると、間隔の候補の検出を終了する。上述したように、仮の間隔Jnを次第に減少させて間隔の候補を求めているから、仮の間隔Jnは、この時点で最小値Jminになっている。ここで、点光源Sの間隔の候補の個数は、各辺で一致するとは限らないが、各辺ごとに最低1個の候補が求められる。
【0076】
(4)各辺について求めた点光源Sの間隔の候補(Jn+Rn)のうちの最小値を求めて間隔の基準値に用い、基準値を求めた辺を除く他辺については、当該辺について求めた候補のうち、基準値との差が最小になる候補を選択する。
【0077】
(5)このようにして選択した各辺における点光源Sの間隔の候補の差(最大値と最小値との差)が規定値c未満であれば、各辺における点光源Sの間隔の候補(Jn+Rn)を当該辺における点光源Sの間隔として採用する。
【0078】
手順(5)において、各辺における点光源Sの間隔の候補の差が規定値c以上である場合には、仮の間隔Jnの最小値Jminから規定値cを減算した値を仮の間隔Jnに用いて(つまり、Jn=Jmin−cを用いて)、間隔の候補(Jn+Rn)を求める。ただし、仮の間隔Jnには最小値dが規定されており、最小値dを用いても各辺における点光源Sの候補の間隔の差が規定値c未満にならない場合には、各辺について求めた点光源Sの間隔の候補の差が、規定値c以上であっても、間隔の候補の差が最小になる間隔の候補を、各辺における点光源Sの間隔として採用する。
【0079】
b.基準形状Tが円形の場合
上述したように、基準形状Tが円形である場合、xz平面に平行な面内ではバウンディングボックスBBを用いる変形のみが可能であるから、変形後の光源の外周領域D1は閉じた曲線になる。この曲線に対して、図10のように外接円Ccを設定し、外接円Ccの中心を通る直線を一定角度間隔ωで設定し、各直線と外周領域D1との交点を点光源Sの配置位置とする。外接円Ccの半径をrとし、点光源Sの所望の間隔をeとするときに、角度間隔ωは、rω≦eとなるように設定される。間隔eは、たとえば5〔cm〕に設定される。
【0080】
図10では外周領域D1が円形ではないが、外周領域D1が円形である場合も同様であって、外周領域D1が外接円Ccに一致することになる。なお、光源の外周領域D1が楕円形である場合には、楕円の式を用いれば弧の長さを正確に求めることが可能であるが、計算負荷を低減して高速な演算を可能にするために、点光源Sの間隔のばらつきを許容している。ただし、点光源Sの間隔eを適宜に設定しておけば、複数個の点光源Sを連続した1個の光源の代用とすることができるから点光源Sの間隔に多少のばらつきがあっても実用上差し支えない。
【0081】
また、仮想空間内において、曲線は短い直線群で近似されており、外接円Ccを分割した各扇形は三角形で近似される。
【0082】
なお、光源の発光領域D0の形状は適時に変更することが可能であって、発光領域D0の形状を変更した場合や、発光領域D0の面積を変更した場合には、最適化部3により点光源Sの配置を再設定することが必要である。
【0083】
2.配光特性の設定
最適化部3において、光源の発光領域D0を外周領域D1と内側領域D2とに分割し、外周領域D1における点光源Sの配置位置を決定した後、姿勢設定部4、点光源割付部5、方向設定部6により、発光領域D0の配光を決定する。発光領域D0の配光を決定するには、まず、姿勢設定部4において外周領域D1に配置した1個の点光源Sについて配光特性(光線束の向きと広がり)を決定し、その後、点光源割付部5においてすべての点光源Sの配光特性を決定し、さらに、方向設定部6において内側領域D2の平行光線束の向きを決定する。
【0084】
まず、姿勢設定部4の動作について具体的に説明する。
【0085】
(1)最適化部3で位置を決定した点光源Sから図11(a)のように適宜の1個の点光源Sを選択する。点光源Sの選択は、利用者が入力部1の操作によって行うことができるが、表1のように記憶部8に格納されている先頭位置の点光源Sを採用するか、仮想空間に設定した適宜の視点位置から最短距離である点光源Sを採用することにより、点光源Sを自動的に選択するようにしてもよい。
【0086】
(2)1個の点光源Sが選択されると、入力部1を用いて利用者が当該点光源Sの配光特性を指定する。ここに、点光源Sは、光線束を全周に亘って等方的に放射するものではなく、光線束の放射に指向性を有するものとする。したがって、光軸(最大光度の向きを示す仮想軸)と、光軸に対する光度の分布とにより点光源Sの配光特性が表される。
【0087】
選択された点光源Sの配光特性を決めるために、姿勢設定部4では、仮想空間内での点光源Sの3次元の位置、および仮想空間内での点光源Sの光軸の向きを決定する。図12のように、点光源Sの位置は、仮想空間に規定した座標系での3次元の座標位置(x,y,z)で表され、光軸Axの向きは、光源Sの位置を原点として仮想空間に規定した座標系の各座標軸に平行な3本の直線のそれぞれに対して光軸Axがなす角度(α,β,γ)で表される。なお、点光源Sの位置は最適化部3において決定されているから、姿勢設定部4では、点光源Sの光軸の向きを決定する。
【0088】
光軸の向きを決定する際には、モニタ装置11の画面には、図11(a)のように点光源Sの配光曲線が示される。この状態で、入力部1から数値入力を行うか、入力部1を用いて光軸Axのドラッグを行うことにより、光軸Axの向きを調節する。決定された光軸Axの向きは、表1のように点光源Sの識別子に対応付けて記憶部8に格納される。
【0089】
点光源Sの配光特性は、光軸Axをy軸方向の負の向きに規定した状態でのデフォルト値が表2のような形式で記憶部8に登録されており、これらの配光特性の中から必要なものを選択する。なお、配光特性は、必要に応じて記憶部8に追加登録ができる。また、入力部1から数値入力を行うか、入力部1を用いて配光曲線のドラッグを行うことにより、配光特性を変更することができる。ドラッグにより配光曲線を変形するには、光源について基準形状Tを変形させた場合と同様にバウンディングボックスを用いるのが望ましい。
【0090】
【表2】
表2では、点光源Sの配光特性を、鉛直角度と水平角度との光度との組み合わせにより表している。すなわち、図12のように、点光源Sの位置を原点として仮想空間における光線Lの方向を、当該方向がy軸となす角度φ(鉛直角度)と、当該方向をxz平面に投影した写像(直線)がx軸となす角度θ(水平角度)との組で表し、角度φと角度θとの組で表される光線Lの方向ごとに光度qを対応付けることにより点光源Sの配光特性を表している。
【0091】
したがって、点光源Sを原点とする極座標を用いて点光源Sの配光特性を表していることになる。鉛直角度φは、[0°,180°]の変域を有し、水平角度θは、y軸周りにおいてx軸からz軸に向かう向きを正として[0°,360°]の変域を有している。φはy軸の負方向を0°、y軸の正方向を180°とする。また、表2において、鉛直角度φおよび水平角度θは、それぞれ一定角度(たとえば、5°)刻みで設定してある。
【0092】
表2に示す点光源Sの配光特性はデフォルト値であり、上述のように、点光源Sについて配光曲線を変形させると配光特性も変化する。変更後の配光特性は記憶部8に格納される。
【0093】
(3)選択した点光源Sの配光特性が決定されると、姿勢設定部4は、図11(b)のように、他の点光源Sに同じ配光特性を適用する。すなわち、外周領域D1に配置された各点光源Sに同じ配光特性が設定される。また、この状態において、点光源Sの配光曲線の重ね合わせにより内側領域D2が囲まれることになる。また、この段階において、記憶部8には、表1のように、各光源Sの光軸Axの角度(α,β,γ)が登録される。
【0094】
(4)外周領域D1における点光源Sの配光特性が設定された後、内側領域D2に関する平行光線束の向きが設定される。平行光線束の向きを決めるには、まず(2)で求めた点光源Sの配光特性(表2のデフォルト値に基づいて設定され記憶部8に格納された配光特性)について、鉛直角度φと光度qとから求められるq・cosφの値が最大になる鉛直角度φ(ただし、0°≦φ≦90°)を、基準鉛直角度φsとして求める。また、基準鉛直角度φsに対応する水平角度θを、基準水平角度θsとして求める。
【0095】
上述のようにして求めた基準鉛直角度φsおよび基準水平角度θsは、記憶部8に格納され、内側領域D2の平行光線束の向きとして用いられる。
【0096】
(5)上述のようにして外周領域D1と内側領域D2とについて配光が決定されると、外周領域D1と内側領域D2とにそれぞれ光度を設定することにより照明計算を行うことが可能であるが、本実施形態では、計算負荷をさらに低減するために、仮想空間において点光源Sからの光を利用する範囲を制限している。
【0097】
具体的には、光源の発光領域D0から外向きに放射される光線束であって、光源の発光領域D0からy軸方向の負の向きに放射される光線束のみを有効な光線束として扱い、発光領域D0の内向きに放射される光線束や発光領域D0からy軸方向の正の向きに放射される光線束は無効として無視する。
【0098】
点光源Sの配光特性は、表2のように、鉛直角度φと水平角度θと光度qとの組で表されているから、水平方向θについて外周領域D1の各辺との関係を評価すれば発光領域D0から外向きに放射される光線束か否かを判断することができ、また、鉛直方向φを評価すれば発光領域D0からy軸方向の正の向きに照射される光線束か否かを判断することができる。
【0099】
まず、発光領域D0から外向きに放射される光線束か否かを判断するために、図13(a)に示すように、光源の外周領域D1の各辺に向きを持たせて各辺をベクトル<Cn>(図示例では、n=1,2,3,4)として扱い、外周領域D1に配置した各点光源Sを中心とする単位ベクトルとの外積を求める。外周領域D1の各辺に向きを持たせるベクトル<Cn>は、y軸方向の正の向きから発光領域D0を見込んだときに時計回りとなる向きを正の向きとsする。また、図13(b)に示すように、単位ベクトル<Ua>は、各点光源Sの位置を中心として一定角度(たとえば、5°)刻み、かつ[0°,360°]の範囲で設定される。なお、単位ベクトル<Ua>の角度刻みは、配光特性を規定する角度刻みと一致させておく。
【0100】
外周領域D1の各辺に規定したベクトル<Cn>と、各点光源Sの周りに設定した単位ベクトル<Ua>との外積(<Cn>×<Ua>)は、単位ベクトル<Ua>が発光領域D0の外側に向いていればy軸方向の正の向きになり、内側に向いていればy軸方向の負の向きになるから、各点光源Sの配光特性の水平角度θのうち、上記外積の向きがy軸方向の正の向きになる水平角度θの範囲を有効範囲として利用する。
【0101】
ここにおいて、外周領域D1の頂点位置の点光源Sについては、外積の向きが負から正に変化する角度と、正から負に変化する角度との両方を求める必要があるが、外周領域D1の辺上の点光源Sについては、外積の向きが負から正に変化する角度と正から負に変化する角度との一方がわかれば、当該角度と180°異なる角度との間で外積の向きが正になる側が水平角度θの有効範囲になる。図13(c)に各光源Sに関する水平角度θの有効範囲を斜線で示す。水平角度θの有効範囲[θi1,θi2]は、表1のように点光源Sに対応付けて記憶部8に登録される。
【0102】
なお、水平角度θとして、表2に示すような点光源Sの配光特性を表すデータを用いる場合、発光領域D0がxz座標軸に対して傾斜していれば、各点光源Sの位置における発光領域D0の傾斜角度に応じて水平角度θを補正することが必要である。
【0103】
(6)(5)では、水平角度θについて有効範囲を制限しているが、鉛直角度φについては、以下のようにして有効範囲を制限する。すなわち、基準水平角度θs(0°≦θs<360°)と基準鉛直角度φs(0°≦φs≦180°)と(5)で求めた水平角度θの有効範囲との関係から、鉛直角度φの有効範囲が以下の(イ)(ロ)の条件で決定される。有効範囲は、表1の鉛直角度の有効範囲として記憶部8に登録される。
【0104】
(イ)水平角度θの有効範囲に基準水平角度θsが含まれている場合(すなわち、点光源Sの光軸Axの向きが外向きである場合)は、鉛直角度φの有効範囲として、φs≦φ≦90°の領域を用いる。
【0105】
(ロ)水平角度θの有効範囲に基準水平角度θsが含まれてない場合(すなわち、点光源Sの光軸Axの向きが内向きである場合)は、水平角度θが有効範囲である領域(発光領域D0の外側の領域)については鉛直角度φの有効範囲を0°≦φ≦90°とし、水平角度θが有効範囲ではない領域(発光領域D0の内側の領域)については鉛直角度φの有効範囲を0°≦φ≦φsとする。
【0106】
なお、面光源は表裏の一面からのみ光線束を放射する場合を想定しているから、鉛直角度φの上限を90°としている。光源の形状によっては、鉛直角度φが90°より大きい角度であっても光線束を放射する場合があるが、本実施形態では、鉛直角度φが90°を超える領域の光線束は利用しない。
【0107】
図14(a)の斜線部のように水平角度θの有効領域が決定されていると、(イ)の条件により、鉛直角度φの有効領域は図14(b)の斜線部のようになる。また、図15(a)の斜線部のように水平角度θの有効領域が決定されていると、(ロ)の条件により、鉛直角度φの有効領域は図15(b)の斜線部のようになる。両者をまとめると、鉛直角度φについては、(イ)の条件で図16の左側の斜線部が有効範囲になり、(ロ)の条件で図16の右側の斜線部が有効範囲になる。鉛直角度φの有効範囲[φi1,φi2]は、表1のように点光源Sに対応付けて記憶部8に登録される。すなわち、図16の斜線部の光線束のみが照明計算に利用される。
【0108】
(7)各点光源Sに関して水平角度θと鉛直角度φとの有効範囲が決定されると、光束を決定する前に外周領域D1に配置する各点光源Sの光束の比率を求める。そのため、各点光源Sに関して、表2のような配光特性を用いることにより、それぞれ有効範囲における光度を合計した有効光束Eiを求める。また、点光源Sに有効範囲を設定しない場合の光度を合計した全光束Etを求める。全光束Etは、各点光源Sについて同じ値を用いる。有効光束Eiおよび全光束Etは、光度を所定の範囲について合算した値であるから光束に相当する。
【0109】
有効光束Eiの全光束Etに対する比は、各点光源Sの光束の目安になるから、表1の光束比として記憶部8に格納する。
【0110】
以上のようにして、光源の形状が決定されると、外周領域D1における点光源Sの配置位置、各点光源Sの配光特性、内側領域D2の平行光線束の向き、各点光源Sから放射する光線束のうち利用する光線束の範囲および光束比が求められる。したがって、各点光源Sから放射する光線束と内側領域D2の平行光線束とについて、光束の絶対値を決定すれば、光源の発光領域の特性が決定され照明計算が可能になる。
【0111】
なお、点光源Sから放射される光線束の有効範囲を規定しない場合、上述した(4)〜(7)の手順は省略することができる。
【0112】
3.光源の光の強度設定
上述のようにして、方向設定部6において、外周領域D1に配置した各点光源Sの配光特性および内側領域D2の平行光線束の向きが決定されると、光束割付部7において、仮想空間での照明計算を行うために、点光源Sの光の強度を設定する。光束割付部7では、以下の手順に従って所要の光束Eを、外周領域D1の各点光源Sと内側領域D2とに振り分けて設定する。光束Eは、利用者が入力部1を操作することにより光束割付部7に与えることができるが、表2に示した1個の点光源Sに関する配光特性のデータに基づいて、光源の発光領域D0全体の光束を算出し、算出した値をデフォルトとして用いてもよい。
【0113】
(1)光源の発光領域D0から放射される全光束Eを、外周領域D1の各点光源Sと内側領域D2とに振り分ける。ここでは、外周領域D1の全光束と内側領域D2の全光束とが1対1に分配されるように次式を用いる。
E=x(外周領域の全光束)+x(内側領域の全光束)
外周領域の全光束=ΣEi
内側領域の全光束=A×q0/4π
ただし、xは強度倍率、Eiは点光源Sごとの有効光束、q0は点光源Sの最大光束(基準水平角度θsと基準鉛直角度φsとに対応する光束c)、Aは発光領域D0の面積である。
【0114】
上述の設定により、点光源Sの最大光度q0の向きは内側領域D2の平行光線束の向きと一致しているから、外周領域D1に設けた点光源Sから放射する光束と内側領域D2の平行光線束の光束とを1対1に設定することにより、外周領域D1と内側領域D2との間に光束の相違による境界が生じるのを防止できる。
【0115】
(2)点光源Sごとの有効光束Eiは、個々の点光源Sで異なっており、外周領域D1の全光束はxΣEiになる。言い換えると、各点光源Sの有効範囲内の有効光束Eiに強度倍率xを乗じた値が各点光源Sの光束の設定値になる。なお、強度倍率xは、表2に示した点光源Sの配光特性から求められる有効範囲内の有効光束Eiに対して設定される。このようにして求めた光量xEiの点光源Sが外周領域D1に配置され、各点光源Sごとに有効範囲から光が放射されているとみなすことにより、外周領域D1の全体ではxΣEiの光束になる。なお、各点光源Sに有効範囲が規定されていなければ、外周領域D1の点光源Sから放射される光束は互いに等しくなる。
【0116】
(3)内側領域D2の平行光線束における単位面積当たりの光束は、外周領域D1に配置した各点光源Sの最大光度q0の向きの単位面積当たりの光束と等しくなるように設定されており、点光源Sにおける最大光度q0から単位面積当たりの光度を求めるとq0/4πになる。したがって、内側領域D2の面積Aを、q0/4πに乗じると、内側領域D2の全光束が、A×q0/4πとして算出される。したがって、x・A・q0/4πが、光束を分配した後の内側領域D2の光束になる。
【0117】
外周領域D1と内側領域D2との光束を上述の関係で設定することにより、図17のように、内側領域D2から放射される平行光線束の単位面積当たりの光束と、点光源Sの単位面積当たりの光束とが等しくなり(図17では光束を矢印の長さで示している)、外周領域D1の点光源Sと内側領域D2との明るさの境界が生じないように仮想空間に光源を形成することが可能になる。
【0118】
上述のようにして発光領域D0の配光特性および光束を外周領域D1と内側領域D2とについてそれぞれ設定した後、仮想空間内において発光領域D0の位置、向きを調整し、必要に応じて光源から出射する光束を再調整する。光束を再調整したときには、調整前の全光束Evと調整後の全光束Epとの関係を用いて、外周領域D1の点光源Sと内側領域D2とに乗じる強度倍率を、x(Ep/Ev)とするだけでよく、光束割付部7での再計算は不要である。
【0119】
また、光源の位置や向きが調整されたときには、外周領域D1に配置した点光源Sと内側領域D2の平行光線束とにもそれぞれ反映させることにより、発光領域D0の設定値の変更に見合う変更を行う。利用者は入力部1を用いて光源の位置や向きを調整する際に、発光領域D0に対する調整のみが可能であり、各点光源Sや平行光線束に対する調整は、利用者の指示によらずに自動的に行われる。
【0120】
光源の配光特性を変更する場合は、外周領域D1に配置した点光源Sの配光特性をあらためて設定し、点光源Sの基準鉛直方向φsを設定した後、平行光線束の向きの調整、光束の分配などの手順を繰り返して行う。ただし、点光源Sの位置および光軸の向きはすでに定められ、有効範囲も配光特性の変更前と同じでよい場合には、配光特性に応じて変更が必要になる光度や光束などの値のみの再計算を行えばよく、光源の配光特性の変更に伴う計算負荷は少なくなる。
【0121】
光源の配光特性の変更を行うには、モニタ装置11の画面にプロパティダイアログを提示するなどして、光源の配光特性が変更されたときのにみ、プロパティダイアログをポップアップさせて、必要なデータの入力を可能にするようにしておく。また、光源の形状を変更する場合は、光源の形状の作成からの手順を繰り返す。また、同じ光源を仮想空間に複数個配置する場合や、光源の配光特性のみを変更する場合には、光源に関して設定したデータに適宜の名称を付与して一括して記憶部8に保存しておけばよい。
【0122】
4.他の動作例
a.線光源の場合
上述した構成例では、光源が面光源である場合を例示したが、光源の縦横比が所定値(たとえば、30:1)以上であって、かつ短辺が所定寸法(たとえば、2〔cm〕)以下である場合には、実質的に線光源とみなし、外周領域D1と内側領域D2とに分離せず、図18のように、光源の発光領域D0における長手方向に沿った中心線Lc上に点光源Sを配列すればよい。点光源Sを配置する間隔は、点光源Sが等間隔で配置され、かつ当該間隔と所定寸法(たとえば、5〔cm〕)との差分が規定値(たとえば、5〔mm〕)以下になるように設定する。
【0123】
この処理は、最適化部3において、光源の最短辺に点光源Sを配置する際の間隔を設定する処理と同様である。すなわち、光源が面光源である場合の処理を光源が線光源である場合にも適用することができる。また、光源が線光源である場合には、各点光源Sには水平角度θに対する有効範囲を設定しない。したがって、有効範囲を制限することによる計算負荷の低減はないが、点光源Sで配光特性を表現することによる計算負荷の低減が可能になる。
【0124】
光源が線光源である場合に、短辺が所定寸法以下であれば、長手方向に沿った中心線Lcと長辺との長さ寸法を等寸法として扱ってもよいから、長手方向に沿った中心線Lc上に点光源Sを配置するほか、一方の長辺に点光源Sを配列してもよい。すなわち、最適化部3は、外周領域D1の点光源Sを等間隔に配置することを目的としているのではなく、計算負荷を増大させることなく1個の光源とみなすことができるように配置することを目的としているので、点光源Sが発光領域D0に対して対称的な配置であることは必須ではなく、計算負荷を低減しながらも誤差が少ない照明計算が可能となる配置を容認しているのである。
【0125】
b.光源の発光領域が表裏両面である場合
上述した構成例では、光源の一面にのみ発光領域D0を設ける例を説明したが、y軸方向の正の向きに光線束を放射する(鉛直角度が90°〜180°の範囲に光線束を放射する)場合も上述の技術を採用することが可能である。
【0126】
すなわち、図19に示すように、発光領域D0について、鉛直角度φが0°≦φ≦90°である下側範囲Dwと、鉛直角度φが90°<φ≦180°である上側範囲Upとに分けて配光特性の設定を行う。設定した配光特性は、下側範囲Dwと上側範囲Upとについて、それぞれ記憶部8に保存する。基準水平角度θsと基準鉛直角度φsとについても、下側範囲Dwと上側範囲Upとでそれぞれ求める。その後、下側範囲Dwと上側範囲Upとについて、それぞれ平行光線束の向きの指定、有効範囲の設定、光束の設定を行う。
【0127】
なお、点光源の基準鉛直角度φsは、下側範囲Dwと上側範囲Upとで異なる場合がある。下側範囲Dwではq・cosφの値が最大になる鉛直角度φ(ただし、0°≦φ≦90°)を、基準鉛直角度φsとして求め、上側範囲Upではq・cosφが最小になる鉛直角度φ(ただし、90°<φ≦180°)を、基準鉛直角度φsとして求める。
【0128】
また、光束の設定に関しては、上側範囲Upと下側範囲Dwとを合わせて発光領域D0の全光束になるから、光源の光の強度設定を行う際に、発光領域D0の全光束Eは、次式で表される。
E=x1Σ(下側範囲の外周領域の全光束)+x1(下側範囲の内側領域の全光束)+x2Σ(上側範囲の外周領域の全光束)+x2(上側範囲の内側領域の全光束)
下側範囲の外周領域の全光束=ΣE1i
下側範囲の内側領域の全光束=A×q10/4π
上側範囲の外周領域の全光束=ΣE2i
上側範囲の内側領域の全光束=A×q20/4π
ただし、x1は下側範囲Dwに適用する強度倍率、x2は上側範囲Upに適用する強度倍率、E1iは下側領域の点光源Sごとの有効光束、E2iは上側領域の点光源Sごとの有効光束、q10は下側範囲Dwの点光源Sの最大光束、q20は上側範囲Upの点光源Sの最大光束Aは発光領域D0の面積である。なお、E1i,E2iは、点光源Sごとの有効光束である。
【符号の説明】
【0129】
1 入力部
2 形状変更部
3 最適化部
4 配置・姿勢設定部
5 点光源割付部
6 方向設定部
7 光束割付部
8 記憶部
9 計算部
10 モデリング部
BB バウンディングボックス
D0 発光領域
D1 外周領域
D2 内側領域
G 格子点
S 点光源
T 基準形状
【特許請求の範囲】
【請求項1】
3次元の照明空間について実空間と等価な仮想空間をコンピュータで生成し、仮想空間内で照明計算を行うことにより照明環境を評価する照明シミュレータであって、仮想空間を構築する情報と光源を規定する情報とを少なくとも入力する入力部と、仮想空間に配置する光源の発光領域を、発光領域の外周縁の全周に亘る外周領域と外周領域に囲まれた内側領域とに分割し、外周領域に点光源を配置するとともに、光源の発光領域から放射される光線束を、外周領域に配置した点光源から放射される光線束と内側領域から放射される平行光線束とにより表すモデリング部とを備えることを特徴とする照明シミュレータ。
【請求項2】
前記モデリング部は、前記点光源から放射される光線束のうち前記発光領域の外向きに放射される光線束を照明計算に採用することを特徴とする請求項1記載の照明シミュレータ。
【請求項3】
前記モデリング部は、前記入力部の操作により前記発光領域を変形させる形状変更部を備えることを特徴とする請求項1又は2記載の照明シミュレータ。
【請求項4】
前記モデリング部は、前記発光領域の基本形であって複数個の格子点を備えた基準形状をあらかじめ記憶している記憶部を有し、前記形状変更部は、基準形状の外接矩形であるバウンディングボックスを変形させることにより基準形状を変形させる操作と、基準形状に設けた格子点を移動させることにより基準形状を変形させる操作とが可能であることを特徴とする請求項3記載の照明シミュレータ。
【請求項5】
前記モデリング部は、前記点光源の配置間隔が均等化されるように前記外周領域の形状に合わせて点光源の位置を決定する最適化部を備えることを特徴とする請求項1〜4のいずれか1項に記載の照明シミュレータ。
【請求項6】
前記モデリング部は、前記外周領域について前記点光源の1個について前記入力部の操作により配光特性を決定する配置・姿勢設定部と、残りの点光源について配置・姿勢設定部で決定した配光特性を適用する点光源割付部とを備えることを特徴とする請求項1〜5のいずれか1項に記載の照明シミュレータ。
【請求項7】
前記モデリング部は、前記外周領域に配置した前記点光源の光束と、前記内側領域から放射される平行光線束の光束とに境界が生じないように、外周領域と内側領域とに光束を自動的に分配する光束割付部を備えることを特徴とする請求項1〜6のいずれか1項に記載の照明シミュレータ。
【請求項1】
3次元の照明空間について実空間と等価な仮想空間をコンピュータで生成し、仮想空間内で照明計算を行うことにより照明環境を評価する照明シミュレータであって、仮想空間を構築する情報と光源を規定する情報とを少なくとも入力する入力部と、仮想空間に配置する光源の発光領域を、発光領域の外周縁の全周に亘る外周領域と外周領域に囲まれた内側領域とに分割し、外周領域に点光源を配置するとともに、光源の発光領域から放射される光線束を、外周領域に配置した点光源から放射される光線束と内側領域から放射される平行光線束とにより表すモデリング部とを備えることを特徴とする照明シミュレータ。
【請求項2】
前記モデリング部は、前記点光源から放射される光線束のうち前記発光領域の外向きに放射される光線束を照明計算に採用することを特徴とする請求項1記載の照明シミュレータ。
【請求項3】
前記モデリング部は、前記入力部の操作により前記発光領域を変形させる形状変更部を備えることを特徴とする請求項1又は2記載の照明シミュレータ。
【請求項4】
前記モデリング部は、前記発光領域の基本形であって複数個の格子点を備えた基準形状をあらかじめ記憶している記憶部を有し、前記形状変更部は、基準形状の外接矩形であるバウンディングボックスを変形させることにより基準形状を変形させる操作と、基準形状に設けた格子点を移動させることにより基準形状を変形させる操作とが可能であることを特徴とする請求項3記載の照明シミュレータ。
【請求項5】
前記モデリング部は、前記点光源の配置間隔が均等化されるように前記外周領域の形状に合わせて点光源の位置を決定する最適化部を備えることを特徴とする請求項1〜4のいずれか1項に記載の照明シミュレータ。
【請求項6】
前記モデリング部は、前記外周領域について前記点光源の1個について前記入力部の操作により配光特性を決定する配置・姿勢設定部と、残りの点光源について配置・姿勢設定部で決定した配光特性を適用する点光源割付部とを備えることを特徴とする請求項1〜5のいずれか1項に記載の照明シミュレータ。
【請求項7】
前記モデリング部は、前記外周領域に配置した前記点光源の光束と、前記内側領域から放射される平行光線束の光束とに境界が生じないように、外周領域と内側領域とに光束を自動的に分配する光束割付部を備えることを特徴とする請求項1〜6のいずれか1項に記載の照明シミュレータ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2011−44358(P2011−44358A)
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願番号】特願2009−192389(P2009−192389)
【出願日】平成21年8月21日(2009.8.21)
【出願人】(000005832)パナソニック電工株式会社 (17,916)
【Fターム(参考)】
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願日】平成21年8月21日(2009.8.21)
【出願人】(000005832)パナソニック電工株式会社 (17,916)
【Fターム(参考)】
[ Back to top ]