(57)【特許請求の範囲】
【請求項１】
三次元空間内に、エネルギーを発する複数ｎ個の要素Ｓ１〜Ｓｎの集合からなる物体Ｔを定義し、前記三次元空間内の任意の対象点Ｑにおける前記物体Ｔから照射されるエネルギーの照度をコンピュータを用いて計算する方法であって、
前記物体Ｔの周囲に複数ｍ個の参照点Ｒ１〜Ｒｍを定義し、個々の参照点について、それぞれ物体Ｔを構成するｎ個の要素Ｓ１〜Ｓｎから発せられるエネルギーの照度値Ｅ１〜Ｅｎを求め、各要素Ｓ１〜Ｓｎと各照度値Ｅ１〜Ｅｎとの対応関係を示す照度値リストを作成する作業を、個々の参照点ごとに行うことにより、合計ｍ個の照度値リストＬ１〜Ｌｍを作成するとともに、各参照点Ｒ１〜Ｒｍから前記物体Ｔへ向かう単位方向ベクトルＷ１〜Ｗｍを定義する準備段階と、
照度計算の対象となる対象点Ｑに対して、この対象点Ｑから前記物体Ｔへ向かう単位方向ベクトルＷｑを求め、前記ベクトルＷ１〜Ｗｍの中から前記ベクトルＷｑに最も近い方向を向いたベクトルＷｘを定め、このベクトルＷｘに対応する参照点Ｒｘについての照度値リストＬｘに掲載されたｎ個の照度値Ｅ１〜Ｅｎの中から、照度値の大きいものほど高い確率で選出されるように合計Ｋ個の照度値を選出し、前記ｎ個の要素Ｓ１〜Ｓｎの中から、選出されたＫ個の照度値に対応するＫ個の要素をサンプル要素として選出するサンプル選出段階と、
前記Ｋ個のサンプル要素から照射されるエネルギーのみを考慮して、前記対象点Ｑにおける照度を計算する照度計算段階と、
を有することを特徴とするコンピュータグラフィックスにおける照度計算方法。
【請求項２】
請求項１に記載の照度計算方法において、
多角形からなるｎ個の面を有するポリゴン状の物体Ｔを定義することにより、ｎ個の要素をｎ個の面Ｓ１〜Ｓｎによって構成するようにし、各面Ｓ１〜Ｓｎの重心点をＰ１〜Ｐｎ、各面Ｓ１〜Ｓｎに立てた法線ベクトルをＮ１〜Ｎｎ、各面Ｓ１〜Ｓｎの面積をＡ１〜Ａｎ、各面Ｓ１〜Ｓｎの単位面積あたりのエネルギー放出量をＵ１〜Ｕｎ、任意の参照点Ｒから各重心点Ｐ１〜Ｐｎへ向かう単位方向ベクトルをＶ１〜Ｖｎとしたときに、この参照点Ｒに向けたエネルギーの照度値Ｅ１〜Ｅｎを、
Ｅｉ＝−（Ｎｉ・Ｖｉ）＊Ｕｉ＊Ａｉ
なる演算式（ただし、ｉ＝１，２，３，…，ｎ、「・」はベクトルの内積、「＊」はスカラー積を表す）により求めることを特徴とするコンピュータグラフィックスにおける照度計算方法。
【請求項３】
請求項１に記載の照度計算方法において、
表面にｎ個の点光源を有する物体Ｔを定義することにより、ｎ個の要素を点光源Ｓ１〜Ｓｎによって構成するようにし、各点光源Ｓ１〜Ｓｎのエネルギー放出量をＵ１〜Ｕｎとしたときに、この参照点Ｒに向けたエネルギーの照度値Ｅ１〜Ｅｎを、
Ｅｉ＝Ｕｉ
として（ただし、ｉ＝１，２，３，…，ｎ）求めることを特徴とするコンピュータグラフィックスにおける照度計算方法。
【請求項４】
請求項１〜３のいずれかに記載の照度計算方法において、
複数ｍ個の参照点Ｒ１〜Ｒｍを、方向ベクトルＷ１〜Ｗｍの向きが一様に分散するように定義することを特徴とするコンピュータグラフィックスにおける照度計算方法。
【請求項５】
請求項１〜４のいずれかに記載の照度計算方法において、
物体Ｔの内部に、この物体Ｔの位置を代表させるための代表点Ｇを定義し、各参照点Ｒ１〜Ｒｍから物体Ｔへ向かう単位方向ベクトルＷ１〜Ｗｍおよび対象点Ｑから物体Ｔへ向かう単位方向ベクトルＷｑとして、それぞれ前記代表点Ｇへ向かう単位方向ベクトルを定義することを特徴とするコンピュータグラフィックスにおける照度計算方法。
【請求項６】
請求項１〜５のいずれかに記載の照度計算方法において、
照度値リストＬｘに掲載されたｎ個の照度値Ｅ１〜Ｅｎの中から、合計Ｋ個の照度値を選出する際に、照度値の大きなものについては、複数回重複して選出されることを許すようにすることを特徴とするコンピュータグラフィックスにおける照度計算方法。
【請求項７】
請求項１〜６のいずれかに記載の照度計算方法において、
照度値リストＬｘに掲載されたｎ個の照度値Ｅ１〜Ｅｎの中から、合計Ｋ個の照度値を選出する際に、
前記ｎ個の照度値を大きさの順にソートして配置しなおすとともに、負の照度値がある場合にはこれを０に置換した上で、前記ｎ個の照度値Ｅ１〜Ｅｎの合計値Ｅｓを求める第１の段階と、
隣接配置されたひとまとまりの照度値が同一グループに所属するように、かつ、同一グループに所属する照度値の合計がＥｓ／Ｋに近くなるように、前記ｎ個の照度値Ｅ１〜ＥｎをＫ個のグループに分類する第２の段階と、
各グループの中からそれぞれ照度値を１つずつ選出し、合計Ｋ個の照度値を選出する第３の段階と、
を行うことを特徴とするコンピュータグラフィックスの照度計算方法。
【請求項８】
請求項７に記載の照度計算方法において、
第２の段階において、Ｅｓ／Ｋの整数Ｉ倍（Ｉ≧２）に近い照度値については、Ｉ個のグループに重複して分類されるようにし、当該照度値がＩ回重複して選出されるようにすることを特徴とするコンピュータグラフィックスにおける照度計算方法。
【請求項９】
請求項７または８に記載の照度計算方法において、
第２の段階において、ソート順に照度値を累積してゆき、累積値がＥｓ／Ｋの整数倍に近くなった位置にグループの境界を定義することを特徴とするコンピュータグラフィックスの照度計算方法。
【請求項１０】
請求項１〜９のいずれかに記載された照度計算方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータグラフィックスにおける照度計算方法に関し、特に、レイトレーシング法を用いて画像生成を行う際に有用な照度計算方法に関する。
【０００２】
【従来の技術】
コンピュータグラフィックスの分野での代表的な画像生成手法であるレイトレーシング法（Ray Tracing Method：光線追跡法）は、現実感のある立体像を作成できる方法として広く利用されている。この方法では、三次元空間上のある対象点に届く光を、光の道筋を逆上って追跡することにより、当該対象点の照度を計算することになる。この方法を用いれば、物体表面の反射度、透明度、屈折率などをリアルに表現できるメリットがあるが、画像を生成するためには、個々の点ごとに光線追跡を行う必要があるため、かなり演算負担が重くなるというデメリットもある。
【０００３】
このレイトレーシング法などに基いて画像生成を行う場合、三次元空間上の任意の対象点について、任意の物体から放出されるエネルギー（物体自体がエネルギーを発する光源である場合もあるし、外部からのエネルギーを反射する物体である場合もある）の受光総量として照度を決定する演算を行う必要がある。任意の対象点について、具体的な照度値を求める照度計算方法としては、次のようないくつかの方法が知られている。
(1) 対象点から物体を所定の立体角で見たときに物体上に定義される境界線に沿って、物体の放出するエネルギーを境界積分する方法。
(2) 対象点を中心として半球（hemi-sphere ）または半立方体（hemi-cube ）を定義し、この半球または半立方体の表面に物体を投影し、投影像上の微小領域を積算する方法。
(3) エネルギーを発する多数の要素の集合として物体を取り扱い、この多数の要素の中から一部をサンプル要素として抽出し、各サンプル要素から対象点に到達するエネルギーの総和を求める方法。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述した従来の照度計算方法には、それぞれ問題点がある。まず、(1) の境界積分を行う方法では、物体の形状が複雑になると境界積分とともに隠面消去の処理を行う必要があり、演算負担がかなり重くなるという問題がある。一方、(2) の物体投影を行う方法では、投影した微小領域を積算することになるので、微小領域の分解能に精度が依存し、誤差が生じやすいという問題がある。また、(3) のサンプル要素を抽出する方法では、高い精度で演算を行うためにはサンプルの数を増やす必要があり、サンプル数を増やせば増やすほど、演算負担が重くなるという問題がある。
【０００５】
そこで本発明は、演算負担を軽減しつつも、高い精度で照度値を求めることが可能なコンピュータグラフィックスにおける照度計算方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
(1)   本発明の第１の態様は、三次元空間内に、エネルギーを発する複数ｎ個の要素Ｓ１〜Ｓｎの集合からなる物体Ｔを定義し、三次元空間内の任意の対象点Ｑにおける物体Ｔから照射されるエネルギーの照度をコンピュータを用いて計算するコンピュータグラフィックスにおける照度計算方法において、
物体Ｔの周囲に複数ｍ個の参照点Ｒ１〜Ｒｍを定義し、個々の参照点について、それぞれ物体Ｔを構成するｎ個の要素Ｓ１〜Ｓｎから発せられるエネルギーの照度値Ｅ１〜Ｅｎを求め、各要素Ｓ１〜Ｓｎと各照度値Ｅ１〜Ｅｎとの対応関係を示す照度値リストを作成する作業を、個々の参照点ごとに行うことにより、合計ｍ個の照度値リストＬ１〜Ｌｍを作成するとともに、各参照点Ｒ１〜Ｒｍから物体Ｔへ向かう単位方向ベクトルＷ１〜Ｗｍを定義する準備段階と、
照度計算の対象となる対象点Ｑに対して、この対象点Ｑから物体Ｔへ向かう単位方向ベクトルＷｑを求め、ベクトルＷ１〜Ｗｍの中からベクトルＷｑに最も近い方向を向いたベクトルＷｘを定め、このベクトルＷｘに対応する参照点Ｒｘについての照度値リストＬｘに掲載されたｎ個の照度値Ｅ１〜Ｅｎの中から、照度値の大きいものほど高い確率で選出されるように合計Ｋ個の照度値を選出し、ｎ個の要素Ｓ１〜Ｓｎの中から、選出されたＫ個の照度値に対応するＫ個の要素をサンプル要素として選出するサンプル選出段階と、
選出されたＫ個のサンプル要素から照射されるエネルギーのみを考慮して、対象点Ｑにおける照度を計算する照度計算段階と、
を行うようにしたものである。
【０００７】
(2)   本発明の第２の態様は、上述の第１の態様に係るコンピュータグラフィックスにおける照度計算方法において、
多角形からなるｎ個の面を有するポリゴン状の物体Ｔを定義することにより、ｎ個の要素をｎ個の面Ｓ１〜Ｓｎによって構成するようにし、各面Ｓ１〜Ｓｎの重心点をＰ１〜Ｐｎ、各面Ｓ１〜Ｓｎに立てた法線ベクトルをＮ１〜Ｎｎ、各面Ｓ１〜Ｓｎの面積をＡ１〜Ａｎ、各面Ｓ１〜Ｓｎの単位面積あたりのエネルギー放出量をＵ１〜Ｕｎ、任意の参照点Ｒから各重心点Ｐ１〜Ｐｎへ向かう単位方向ベクトルをＶ１〜Ｖｎとしたときに、この参照点Ｒに向けたエネルギーの照度値Ｅ１〜Ｅｎを、
Ｅｉ＝−（Ｎｉ・Ｖｉ）＊Ｕｉ＊Ａｉ
なる演算式（ただし、ｉ＝１，２，３，…，ｎ、「・」はベクトルの内積、「＊」はスカラー積を表す）により求めるようにしたものである。
【０００８】
(3)   本発明の第３の態様は、上述の第１の態様に係るコンピュータグラフィックスにおける照度計算方法において、
表面にｎ個の点光源を有する物体Ｔを定義することにより、ｎ個の要素を点光源Ｓ１〜Ｓｎによって構成するようにし、各点光源Ｓ１〜Ｓｎのエネルギー放出量をＵ１〜Ｕｎとしたときに、この参照点Ｒに向けたエネルギーの照度値Ｅ１〜Ｅｎを、
Ｅｉ＝Ｕｉ
として（ただし、ｉ＝１，２，３，…，ｎ）求めるようにしたものである。
【０００９】
(4)   本発明の第４の態様は、上述の第１〜第３の態様に係るコンピュータグラフィックスにおける照度計算方法において、
複数ｍ個の参照点Ｒ１〜Ｒｍを、方向ベクトルＷ１〜Ｗｍの向きが一様に分散するように定義するようにしたものである。
【００１０】
(5)   本発明の第５の態様は、上述の第１〜第４の態様に係るコンピュータグラフィックスにおける照度計算方法において、
物体Ｔの内部に、この物体Ｔの位置を代表させるための代表点Ｇを定義し、各参照点Ｒ１〜Ｒｍから物体Ｔへ向かう単位方向ベクトルＷ１〜Ｗｍおよび対象点Ｑから物体Ｔへ向かう単位方向ベクトルＷｑとして、それぞれ代表点Ｇへ向かう単位方向ベクトルを定義するようにしたものである。
【００１１】
(6)   本発明の第６の態様は、上述の第１〜第５の態様に係るコンピュータグラフィックスにおける照度計算方法において、
照度値リストＬｘに掲載されたｎ個の照度値Ｅ１〜Ｅｎの中から、合計Ｋ個の照度値を選出する際に、照度値の大きなものについては、複数回重複して選出されることを許すようにしたものである。
【００１２】
(7)   本発明の第７の態様は、上述の第１〜第６の態様に係るコンピュータグラフィックスにおける照度計算方法において、
照度値リストＬｘに掲載されたｎ個の照度値Ｅ１〜Ｅｎの中から、合計Ｋ個の照度値を選出する際に、
ｎ個の照度値を大きさの順にソートして配置しなおすとともに、負の照度値がある場合にはこれを０に置換した上で、ｎ個の照度値Ｅ１〜Ｅｎの合計値Ｅｓを求める第１の段階と、
隣接配置されたひとまとまりの照度値が同一グループに所属するように、かつ、同一グループに所属する照度値の合計がＥｓ／Ｋに近くなるように、ｎ個の照度値Ｅ１〜ＥｎをＫ個のグループに分類する第２の段階と、
各グループの中からそれぞれ照度値を１つずつ選出し、合計Ｋ個の照度値を選出する第３の段階と、
を行うようにしたものである。
【００１３】
(8)   本発明の第８の態様は、上述の第７の態様に係るコンピュータグラフィックスにおける照度計算方法において、
第２の段階において、Ｅｓ／Ｋの整数Ｉ倍（Ｉ≧２）に近い照度値については、Ｉ個のグループに重複して分類されるようにし、当該照度値がＩ回重複して選出されるようにしたものである。
【００１４】
(9)   本発明の第９の態様は、上述の第７または第８の態様に係るコンピュータグラフィックスにおける照度計算方法において、
第２の段階において、ソート順に照度値を累積してゆき、累積値がＥｓ／Ｋの整数倍に近くなった位置にグループの境界を定義するようにしたものである。
【００１５】
(10)   本発明の第１０の態様は、上述の第１〜第９の態様に係る照度計算方法をコンピュータに実行させるためのプログラムを、コンピュータ読み取り可能な記録媒体に記録するようにしたものである。
【００１６】
【発明の実施の形態】
以下、本発明を図示する実施形態に基いて説明する。
§１．本発明の基本原理
本発明に係る照度計算方法は、基本的には、物体をエネルギーを発する多数の要素の集合として取り扱い、この多数の要素の中から一部をサンプル要素として抽出し、各サンプル要素から対象点に到達するエネルギーの総和を求める手法を採る。たとえば、図１に示す単純なモデルを考える。この例では、物体Ｔは６つの面をもった立方体から構成されており、各面は面光源として自らエネルギー（一般的には光であるが、概念的には何らかのエネルギーであればよい）を発するか、あるいは外部から入射したエネルギーを反射する機能を有する。コンピュータグラフィックスの分野において、このような物体Ｔが置かれた部屋の状態を示す三次元画像を作成する場合、レイトレーシング法が利用されることが多い。レイトレーシング法では、画像を構成する１点１点について、それぞれその点に届く光を、光の道筋を逆上って追跡し、その点の照度を計算する必要がある。たとえば、図１において、物体Ｔが置かれた部屋の床を構成する任意の１点Ｑ（以下、対象点と呼ぶ）についての照度を計算するには、この対象点Ｑに届く光の道筋をそれぞれ逆上って追跡する処理が行われる。物体Ｔを構成する各面が微小面であった場合、１つの微小面からは１本の光線のみが対象点Ｑへ向かうものとして取り扱うことができるので、図示のように６つの面を有する立方体からなる物体Ｔに関しては、最大６本の光線を考慮すればよい（実際には、隠面からの光線は対象点Ｑには到達しない）。
【００１７】
いま、図１において、物体Ｔを構成する６つの面のうち、第ｉ番目の面Ｓｉの面積をＡｉとし、この面からの単位面積あたりのエネルギー放出量をＵｉとし、この面の重心点をＰｉとし、この面に立てた法線ベクトルをＮｉ（電子出願の制約を考慮して、本明細書ではベクトル量についてのベクトル記号は省略する）とし、対象点Ｑから重心点Ｐｉへ向かう単位方向ベクトルをＶｉとすれば、この第ｉ番目の面Ｓｉから対象点Ｑに到達するエネルギーの照度値Ｅｉは、
Ｅｉ＝−（Ｎｉ・Ｖｉ）＊Ｕｉ＊Ａｉ
なる演算式（ただし、「・」はベクトルの内積、「＊」はスカラー積を表す）により与えられる。そこで、ｉ＝１〜６について、上記演算式を計算し、各面からのエネルギーに起因する照度値Ｅ１〜Ｅ６を求め、これらの合計Ｅｓを求めれば、物体Ｔからのエネルギー放射全体に起因する対象点Ｑにおける照度値を得ることができる。なお、この場合、Ｅｉの値が負の値になったものについては、隠面からのエネルギーに起因する照度値であるので、当該照度値は考慮しないようにする。
【００１８】
以上、図１に示す単純なモデルを用いて、１つの対象点Ｑについての照度計算の原理を説明したが、実際には、照度計算の対象となる対象点Ｑの数は膨大な数となる。たとえば、物体Ｔが置かれた部屋の状態を示す三次元画像を作成するのであれば、部屋の床、天井、壁などを構成する多数の対象点について照度計算を行わねばならない。しかも、実際の物体Ｔは、図１に示すような単純な立方体ではなく、多数の微小な多角形からなる面を有するポリゴンによって構成されるのが一般的である。このため、１つ１つの対象点について、物体Ｔを構成するすべての面からのエネルギー放射を考慮して照度計算を行うとすると、その演算負担は膨大なものになってしまう。そこで、演算負担を軽減し、できるだけ効率的な照度計算を行う必要がある場合には、物体Ｔを構成するすべての面を考慮する代わりに、一部のサンプル面のみを考慮した演算が従来から行われている。
【００１９】
図２には、より複雑なモデルが示されている。ここでは、物体Ｔは多角形からなるｎ個の面Ｓ１〜Ｓｎを有するポリゴン状の物体として定義されている。コンピュータグラフィックスの分野では、任意形状の物体は、このようなポリゴンによって表現されるのが一般的である。本来であれば、このｎ個の面Ｓ１〜Ｓｎから放射されるすべてのエネルギーについて、対象点Ｑにおける照度値を計算し、これらの合計を対象点Ｑの照度値とすべきものであるが、演算負担を軽減するためには、ｎ個の面Ｓ１〜Ｓｎの中からＫ個のサンプル面を選出し、このサンプル面から放射されるエネルギーのみを考慮した照度計算が行われることになる。Ｋ＝４の場合、たとえば、図２にハッチングを施した４つの面がサンプル面として選出されることになり、これら４つのサンプル面から対象点Ｑに到達するエネルギーの総和が、対象点Ｑの照度値となる。
【００２０】
ｎ個の面の中からＫ個のサンプル面を選出する方法としては、全くランダムにサンプリングする方法や、空間的に一様分散するように所定間隔ごとにサンプリングを行う方法などが行われている。しかしながら、従来のこのような方法では、必ずしも最適なサンプリングを行うことができないため、高い精度での演算を行うためには、サンプル数を増やさざるを得ず、演算負担がそれだけ重くなる結果となっていた。本発明に係る照度計算方法の基本的な考え方は、対象点Ｑに対する影響の大きさを考慮したサンプリングを行うという点にある。たとえば、図２に示すようなｎ個の面Ｓ１〜Ｓｎの中から、対象点Ｑについての照度計算に用いるＫ個の面を選出する場合、対象点Ｑに対して大きな照度値を与える面ほど、高い確率で選出されるようなサンプリングを行うのである。別言すれば、対象点Ｑの照度値に、より大きな影響を及ぼすであろう面ほど、より高い確率でサンプル面として選出されるようにするのである。このように、影響の大きな面を優先的に選出するようなサンプリングを行うことにより、対象点Ｑの照度値の計算精度を高めること（Ｋ個のサンプル面のみを考慮した計算結果を、ｎ個すべての面を考慮した計算結果に近付けること）が可能になる。
【００２１】
§２．本発明の具体的な手順
続いて、図３に示す流れ図を参照しながら、本発明に係る照度計算方法の具体的な手順を説明する。この手順は、大きく分けて、準備段階（ステップＳ１〜Ｓ３）、サンプル選出段階（ステップＳ４〜Ｓ７）、照度計算段階（ステップＳ８）の三段階から構成される。準備段階は、定義された物体に基く照度計算のための準備を行う段階であり、たとえば、図２に示すような物体Ｔが定義された場合、この物体Ｔに関して１回だけ準備を行えばよい。これに対して、サンプル選出段階は、ある特定の対象点Ｑについての照度計算を行うために用いるサンプル面を選出するための段階であり、照度計算段階は、選出されたサンプル面を用いてこの特定の対象点Ｑについての照度を計算する段階である。したがって、複数ｚ個の対象点Ｑ１〜Ｑｚについてそれぞれ照度計算を行う場合であれば、サンプル選出段階および照度計算段階は、それぞれｚ回ずつ繰り返して行う必要がある。
【００２２】
まず、準備段階の各ステップの説明をしよう。この準備段階を行う際には、既に、図２に示すような物体Ｔが定義されていることが前提となる。なお、図２に示す例では、物体Ｔが、多角形からなるｎ個の面を有するポリゴン状の物体として定義されており、この物体Ｔを構成する個々の面Ｓ１〜Ｓｎが面光源として機能することになるが、本発明を実施する上では、必ずしも面光源から構成される物体を定義する必要はなく、たとえば、点光源から構成される物体を用いることも可能である。そこで、以下の説明では、物体Ｔを構成する個々の光源を「要素」と呼ぶことにする。別言すれば、本発明は、三次元空間内に、エネルギーを発する複数ｎ個の要素Ｓ１〜Ｓｎの集合からなる物体Ｔが定義されている場合に、この三次元空間内の任意の対象点Ｑにおける物体Ｔから照射されるエネルギーの照度をコンピュータを用いて計算する一手法を提供するものである。
【００２３】
はじめに、ステップＳ１において、物体Ｔの周囲に複数ｍ個の参照点Ｒ１〜Ｒｍを定義する。ここでは、図４に示すように、物体Ｔの位置を代表させるための代表点Ｇを定義し（たとえば、物体Ｔについての最小外接球の中心点を代表点Ｇとしてもよいし、物体Ｔについての三次元的な重心点を代表点Ｇとしてもよい）、この代表点Ｇを中心として物体Ｔを収容する球殻Ｃを定義し、この球殻Ｃ上に一様分布するようにｍ個の参照点Ｒ１〜Ｒｍを定義するようにしている（図４では便宜上、二次元的な円周上にのみ参照点が配置された状態が示されているが、実際には、三次元的な球殻上に参照点が配置される）。
【００２４】
続くステップＳ２では、ｍ個の参照点Ｒ１〜Ｒｍのそれぞれについて、照度値リストＬ１〜Ｌｍが作成される。この照度値リストは、物体Ｔを構成するｎ個の要素Ｓ１〜Ｓｎと、これら各要素から発せられるエネルギーの照度値Ｅ１〜Ｅｎとの対応関係を示すものである。たとえば、図４に示す例において、第ｊ番目の参照点Ｒｊについての照度値リストＬｊは、図５に示すようなものになる。このリストの１行目には、要素Ｓ１と照度値Ｅ１との対応関係が示されているが、これは物体Ｔを構成する要素Ｓ１から発せられるエネルギーに基く参照点Ｒｊに向けた照度値がＥ１であることを示している。このように、照度値リストＬｊは、一般に、物体Ｔを構成する第ｉ番目の要素Ｓｉから発せられるエネルギーに基く参照点Ｒｊにおける照度値がＥｉであることを示すリスト（ｉ＝１，２，３，…，ｎ）である。
【００２５】
このようなリストを作成するための演算は、ｎ個の要素Ｓ１〜Ｓｎがそれぞれ多角形からなる面によって構成されていた場合には、各面Ｓ１〜Ｓｎの重心点をＰ１〜Ｐｎ、各面Ｓ１〜Ｓｎに立てた法線ベクトルをＮ１〜Ｎｎ、各面Ｓ１〜Ｓｎの面積をＡ１〜Ａｎ、各面Ｓ１〜Ｓｎの単位面積あたりのエネルギー放出量をＵ１〜Ｕｎ、参照点Ｒｊから各重心点Ｐ１〜Ｐｎへ向かう単位方向ベクトルをＶ１〜Ｖｎとしたときに、
Ｅｉ＝−（Ｎｉ・Ｖｉ）＊Ｕｉ＊Ａｉ
なる演算式（ただし、ｉ＝１，２，３，…，ｎ、「・」はベクトルの内積、「＊」はスカラー積を表す）により求めることができる（図１に示す対象点Ｑにおける照度値の演算と同等である）。このような照度値リストは、ｍ個の参照点Ｒ１〜Ｒｍのそれぞれについて別個に作成され、結局、ステップＳ２において、合計ｍ個の照度値リストＬ１〜Ｌｍが作成されることになる。
【００２６】
次にステップＳ３において、各参照点Ｒ１〜Ｒｍから物体Ｔへ向かう単位方向ベクトルＷ１〜Ｗｍが定義される。具体的には、図４に示すように、物体Ｔの内部に定義した代表点Ｇを利用して、各参照点Ｒ１〜Ｒｍから代表点Ｇへ向かう単位ベクトルを単位方向ベクトルＷ１〜Ｗｍと定義すればよい。こうして定義した単位方向ベクトルＷ１〜Ｗｍは、それぞれ参照点Ｒ１〜Ｒｍと物体Ｔとの位置関係を示す指標となる。結局、図３に示す流れ図における準備段階の処理が完了すると、物体Ｔの周囲にｍ個の参照点Ｒ１〜Ｒｍが定義され、個々の参照点ごとにそれぞれ照度値リストＬ１〜Ｌｍが作成され、個々の参照点ごとにそれぞれ単位方向ベクトルＷ１〜Ｗｍが定義された状態となる。
【００２７】
以上のような準備段階が完了すると、任意の対象点Ｑについての照度計算を行うことができるようになる。この照度計算には、前述したように、ｎ個の要素Ｓ１〜Ｓｎのうちから選出されたＫ個のサンプル要素だけが用いられる。図３に示す流れ図におけるサンプル選出段階は、特定の対象点Ｑについての照度計算に利用するサンプル要素を選出する段階であり、以下、ステップＳ４〜Ｓ７の処理について順次説明する。
【００２８】
まず、ステップＳ４では、対象点Ｑについての単位方向ベクトルＷｑが求められる。具体的には、図６に示すように、対象点Ｑから物体Ｔの内部に定義した代表点Ｇへ向かう単位ベクトルが単位方向ベクトルＷｑとして定義される。この単位方向ベクトルＷｑは、対象点Ｑと物体Ｔとの位置関係を示す指標となる。
【００２９】
続くステップＳ５では、ステップＳ３において定義したｍ個の単位方向ベクトルＷ１〜Ｗｍの中から、ステップＳ４において定義した単位方向ベクトルＷｑに最も近い方向を向いたベクトルＷｘを定める処理が行われる。この処理は、別言すれば、対象点Ｑについて、物体Ｔとの位置関係が最も近似している参照点Ｒｘを求める処理ということができる。最も近い方向を向いたベクトルを定める具体的な方法としては、それぞれの内積を求める方法が簡単である。すなわち、ベクトルＷｑについて、ベクトルＷ１〜Ｗｍのそれぞれとの間の内積を求めれば、最も大きな内積を与えるベクトルが、最も近い方向をもったベクトルであると認識することができる。図６は、このようにして、単位方向ベクトルＷｑに最も近い方向を向いたベクトルＷｘが求められた状態を示している。
【００３０】
このように、対象点Ｑの単位方向ベクトルＷｑについて、方向が近似した単位方向ベクトルＷｘを求めるのは、物体Ｔに対する位置関係が対象点Ｑに近似した参照点Ｒｘを特定するためである。こうして、位置関係が近似した参照点Ｒｘが特定できたら、この対象点Ｑについては、参照点Ｒｘについて準備段階で準備された照度値リストＬｘを利用して、サンプル選出を行うことになる。照度値リストの内容は、各参照点ごとにそれぞれ異なっているが、これは各参照点から物体Ｔを見る方向が様々なためである。したがって、対象点Ｑについては、この対象点Ｑについての照度値リストＬｑなるものを新たに作成する代わりに、物体Ｔを見る方向が近似している参照点Ｒｘについての照度値リストＬｘを代用したとしても大きな誤差は生じない。もっとも、誤差をできるだけ少なくするためには、任意の位置に対象点Ｑが指定された場合に、必ずその近傍にいずれかの参照点が存在するような環境が与えられているのが好ましい。このような観点からは、前述したステップＳ１において、ｍ個の参照点Ｒ１〜Ｒｍを定義する際には、方向ベクトルＷ１〜Ｗｍの向きができるだけ一様に分散するような定義がなされるのが好ましい。
【００３１】
さて、物体Ｔに対する位置関係が対象点Ｑに近似した参照点Ｒｘが特定できたら、ステップＳ６において、参照点Ｒｘについて準備された照度値リストＬｘに基いてＫ個の照度値を選出する処理が行われる。照度値リストＬｘ内には、ｎ個の要素Ｓ１〜Ｓｎから到達するエネルギーに基く照度値Ｅ１〜Ｅｎが掲載されている。そこで、この照度値リストＬｘに掲載されたｎ個の照度値Ｅ１〜Ｅｎの中から、照度値の大きいものほど高い確率で選出されるように合計Ｋ個（Ｋ＜ｎ）の照度値を選出する処理を行うのである。この選出方法が、本発明の重要な特徴であり、その具体的な方法については後述する。
【００３２】
こうしてＫ個の照度値が選出されたら、ステップＳ７において、選出されたＫ個の照度値に対応するＫ個の要素がサンプル要素として選出されることになる。たとえば、照度値リストＬｘにおいて、４つの照度値Ｅα，Ｅβ，Ｅγ，Ｅδが選出されたとすれば（Ｋ＝４の場合）、ステップＳ７では、これら各照度値に対応する要素Ｓα，Ｓβ，Ｓγ，Ｓδがサンプル要素として選出されることになる。図７では、こうして選出された各要素をハッチングを施して示した。従来は、全くランダムにＫ個の要素を選出したり、物体Ｔ上で所定間隔ごとにＫ個の要素を選出したりしていたが、本発明では、対象点Ｑに対して大きな照度値を与える要素ほど、高い確率で選出されるようなサンプリングが行われる。別言すれば、対象点Ｑの照度値に、より大きな影響を及ぼすであろう要素ほど、より高い確率でサンプル要素として選出されることになる。
【００３３】
空間的に所定間隔ごとにサンプル要素を選出したとすると、たとえば、図２に示すように、サンプル要素（ハッチングを施した面）は物体Ｔ上にほぼ一様に分散することになり、一見したところ理想的なサンプリングが行われているように思える。しかしながら、実際の物体Ｔでは、ｎ個の要素Ｓ１〜Ｓｎのエネルギー放出量にかなり差があることが多く、現実的には、このような方法では必ずしも高い精度での照度計算を行うことができない。たとえば、要素Ｓ１〜Ｓｎのうちの一部のみが明るく光っているような場合、空間的に一様分散するようなサンプリングを行うと、明るく光っている一部分の情報が希釈されてしまうことになり、対象点Ｑにおける高精度の照度計算を行うことはできない。本発明では、対象点Ｑに対して大きな照度値を与える要素ほど、別言すれば、対象点Ｑに大して大きな影響を与える要素ほど、高い確率でサンプル要素として選出されるので、物体Ｔ上の一部のみが明るく光っているような場合でも、この明るく光っている部分に存在する要素が高い確率でサンプル要素として選出されることになる。このため、より的確なサンプリングが可能になる。たとえば、図７に示す例では、３つのサンプル要素Ｓα，Ｓβ，Ｓγが一部に集中しているが、これはこの部分の要素が対象点Ｑの照度により大きな影響を与えるためである。
【００３４】
以上のような手順で、対象点Ｑについてのサンプル選出が完了したら、最後に、照度計算段階において、当該対象点Ｑについての照度計算が行われる。すなわち、ステップＳ８では、選出されたＫ個のサンプル要素から照射されるエネルギーのみを考慮して、対象点Ｑにおける照度が計算される。図７に示す例では、ハッチングを施したサンプル要素Ｓα，Ｓβ，Ｓγ，Ｓδから照射されるエネルギーのみを考慮して、対象点Ｑにおける照度計算が行われることになる。なお、図７に示されているサンプル要素Ｓα，Ｓβ，Ｓγ，Ｓδは、図示されている特定の対象点Ｑについて選出されたサンプル要素であり、別な対象点についての照度計算を行う場合には、この別な対象点について相応しいサンプル要素を新たに選出するために、ステップＳ４からの処理を再び実行することになる。
【００３５】
§３．具体的なサンプル選出方法
既に述べたように、本発明の特徴は、対象点Ｑ（実際の処理上は、これに近似する参照点Ｒｘ）の照度値に、より大きな影響を及ぼすであろう要素ほど、より高い確率でサンプル要素として選出されるようにする点にあり、そのためには、図３のステップＳ６において、照度値リストＬｘに掲載されたｎ個の照度値Ｅ１〜Ｅｎの中から、照度値の大きいものほど高い確率で選出されるように合計Ｋ個（Ｋ＜ｎ）の照度値を選出する処理が行われる。ここで留意すべき点は、「照度値の大きい順にＫ個を選出する」のではなく、「照度値の大きいものほど高い確率で選出されるようにＫ個を選出する」という点である。ここで行っている処理は、あくまでもｎ個の要素から構成される物体Ｔを、Ｋ個の要素で代表させるサンプリング処理であり、選出されたＫ個のサンプル要素は、物体Ｔ全体を表現するのに相応しいものである必要がある。したがって、あくまでも「照度値の大きいものほど高い確率で選出されるように」という方針でのサンプリングを行う点が重要であり、照度値の小さな要素であってもサンプル要素として選出される可能性を残しておく必要がある。
【００３６】
また、逆に言えば、非常に高い照度値を与えるような要素が存在している場合には、複数回重複して選出されるようなサンプリングを行うのが好ましい。たとえば、図７に示す例において、要素Ｓαの１つだけが対象点Ｑに対して非常に高い照度値を与えていたとすれば、４つのサンプル要素を選出する際に、要素Ｓαを重複して２回以上選出するような方法を採り、たとえば、要素Ｓα，Ｓα，Ｓβ，Ｓδという４つの要素がサンプル要素として選出されるようにすればよい。
【００３７】
ステップＳ６における「照度値リストＬｘに掲載されたｎ個の照度値Ｅ１〜Ｅｎの中からＫ個を選出する」という処理を行う場合、「照度値の大きいものほど高い確率で選出される」という条件が満たされれば、どのような方法を採ってもかまわないが、ここでは、このような選出を効率的に行うことが可能な具体的な方法を述べておく。図８に示す流れ図は、このような具体的な方法の手順を示している。以下、この方法について、具体的な照度値リストを例にとりながら説明する。
【００３８】
まず、ステップＳ６１において、照度値リストＬｘに掲載されているｎ個の照度値Ｅ１〜Ｅｎを大きさ順にソートし、負の照度値がある場合にはこれを０に置換し、ｎ個の照度値Ｅ１〜Ｅｎの合計値Ｅｓを求める処理を行う。具体的な照度値リストについて、このような処理を行った結果を図９に示す。照度値リストは、図５に示すように、物体Ｔを構成するｎ個の要素Ｓ１〜Ｓｎのそれぞれについて、特定の参照点に与える照度値Ｅ１〜Ｅｎを計算したものであり、第ｉ番目の要素Ｓｉとこれに対応する照度値Ｅｉとの対応関係を示すリストである。ステップＳ６１において行われる照度値の大きさ順のソートは、要素Ｓｉと照度値Ｅｉとの対応関係を維持したままのソート作業であり、要素Ｓｉも照度値Ｅｉに伴って並べ替えられることになる。
【００３９】
図９に示す例では、このようなソート作業の結果、最も大きな照度値３５０がリストの第１順位にきており、この照度値３５０に対応する要素がＳ６３であることが示されている。なお、累積値の欄に記載されている数値は、当該行に至るまでの上位順位のすべての照度値の合計値を示している。たとえば、第３順位の累積値は９２０となっているが、これは、第１順位〜第３順位までの照度値３５０，３２０，２５０の合計値である。この累積値は、後述するステップＳ６２におけるグループ化を行う際の指標として利用される。
【００４０】
ところで、照度値リストに掲載された照度値には、負の値も含まれている。これは、参照点に対して隠面となる要素についても照度値を求める計算が行われるためである。たとえば、図１に示す単純なモデルにおいて、図の面Ｓｉから放出されるエネルギーは点Ｑにまで到達する。ところが、この面Ｓｉとは反対側に位置する面は、点Ｑにとっては隠面となり、この反対面から放出されるエネルギーに基く点Ｑにおける照度値は、計算式上では負の値になる。すなわち、面Ｓｉから放出されるエネルギーに基く点Ｑにおける照度値Ｅｉは、前述したように、
Ｅｉ＝−（Ｎｉ・Ｖｉ）＊Ｕｉ＊Ａｉ
なる演算式で求まるので、図１の例のように、ベクトルＮｉとＶｉとが逆向きの場合、照度値Ｅｉは正の値をとるが、両ベクトルが同じ向きの場合（面Ｓｉが隠面の場合）、照度値Ｅｉは負の値をとることになる。したがって、負の値の照度値は、実際には、エネルギーが到達しないことを示しており、本来は照度値０として取り扱うべきものである。そこで、この照度値リスト上に負の照度値がある場合には、これを０に置換する処理を行った上で、全照度値の合計値Ｅｓを求めれば、この合計値Ｅｓは、ｎ個の全要素Ｓ１〜Ｓｎから当該参照点に照射されるエネルギーの総量値になる。図９に示す例では、第２６順位以下の要素については、すべて照度値が０となっている。これは、これらの要素が隠面となっているため、負の照度値が０に置換されたためである。この例では、合計値Ｅｓ＝２６４０となっており、参照点Ｒｘへ照射されるエネルギーの総量値は、２６４０ということになる。
【００４１】
続くステップＳ６２では、このソート後の照度値リストに掲載されている照度値を、Ｋ個（Ｋは、選出すべきサンプル要素の数）のグループへ分類する作業が行われる。このグループ化は、隣接配置されたひとまとまりの照度値が同一グループに所属するように、かつ、同一グループに所属する照度値の合計がＥｓ／Ｋに近くなるように、という条件下で行う必要がある。「隣接配置されたひとまとまりの照度値が同一グループに所属するように」なる条件は、要するに、図９に示すように大きさの順にソートされた照度値リストがあった場合には、「上下に連なるひとまとまりの行が同一グループに所属するように」ということであり、別言すれば、「いずれかの行間にグループ境界線を定義することにより」ということである。そして、もうひとつの条件である「同一グループに所属する照度値の合計がＥｓ／Ｋに近くなるように」という条件は、図９に示す具体的な照度値リストを用いて４つのグループ（Ｋ＝４の場合）に分類するのであれば、「同一グループに所属する照度値の合計が２６４０／４＝６６０に近くなるように」という条件ということになる。
【００４２】
図９には、このような条件の下で定義された４つのグループＧ１〜Ｇ４が示されている。すなわち、第２順位と第３順位との間、第５順位と第６順位との間、第１０順位と第１１順位との間にそれぞれグループ境界線を定義することにより、全照度値が４つのグループＧ１〜Ｇ４に分類されている。ここで、第１グループＧ１に所属する照度値の合計は６７０、第２グループＧ２に所属する照度値の合計は６６５、第３グループＧ３に所属する照度値の合計は６７０、第４グループＧ４（照度値０のものも第４グループＧ４に所属するものとして取り扱っている）に所属する照度値の合計は６３５となっており、いずれもＥｓ／Ｋ＝６６０に近い値となっている。
【００４３】
このような条件を満たすグループ化を行う簡単な方法は、ソート順に照度値を累積してゆき、累積値がＥｓ／Ｋの整数倍に近くなった位置にグループの境界を定義するという方法である。上述したように、図９に示す照度値リストには累積値の欄が設けられており、ソート順の照度値の累積結果が示されている。そこで、この累積値がＥｓ／Ｋの整数倍に近くなった位置にグループ境界線を定義すればよい。図示の例の場合、累積値がＥｓ／Ｋの整数倍を超えた場合には、当該行の下にグループ境界線を引くようにしている。具体的には、第２順位の累積値６７０は６６０の１倍を超えているので、第２順位と第３順位との間にグループ境界線（グループＧ１とＧ２との境界）が引かれており、第５順位の累積値１３３５は６６０の２倍を超えているので、第５順位と第６順位との間にグループ境界線（グループＧ２とＧ３との境界）が引かれており、第１０順位の累積値２００５は６６０の３倍を超えているので、第１０順位と第１１順位との間にグループ境界線（グループＧ３とＧ４との境界）が引かれている。このような方法でグループ境界線の定義を行えば、上述した条件を満たすグループ化を簡単に行うことができる。なお、図９の例では、累積値がＥｓ／Ｋの整数倍を超えた場合にグループ境界線を引くようにしているが、累積値がＥｓ／Ｋの整数倍を超えない場合であっても、その差が所定のしきい値以下であった場合には、グループ境界線を引くようにしてもかまわない。
【００４４】
こうしてグループ化が完了したら、ステップＳ６３において、各グループの中からそれぞれ照度値を１つずつ選出し、合計Ｋ個の照度値を選出する処理を行う。図９に示す例の場合、グループＧ１，Ｇ２，Ｇ３，Ｇ４に所属する照度値の中から、それぞれ１つずつの照度値が選出されることになり、合計４個の照度値が選出される。以上述べたステップＳ６１〜Ｓ６３の手順により、図３のステップＳ６の処理が実行されることになる。この後、ステップＳ７において、選出された４個の照度値に対応する４個のサンプル要素が選出され、ステップＳ８において、この４個のサンプル要素を用いた照度計算が行われる。なお、図９のグループＧ４の中には、照度値が０のものも含まれており、この照度値０をもったサンプル要素が選出される可能性もある。照度値０をもったサンプル要素の多くは、もともとは負の照度値をもっていた隠面のサンプル要素である。しかしながら、ここで「隠面」とはあくまでも参照点の位置から見たときに隠れている面ということであり、照度計算の対象となる対象点Ｑから見た場合には隠れた面になるかどうかはわからない。そこで、本実施例では、図９のリストにおいて、照度値０のものもグループＧ４の一員として取り扱い、選出の１候補としている。
【００４５】
なお、ステップＳ６３において、１つのグループの中から１つの照度値を選出する方法は、どのような方法でもかまわない。たとえば、各グループの中から照度値の最も大きなものを選出するという方法を採れば、図９の例の場合、グループＧ１からは照度値３５０が、グループＧ２からは照度値２５０が、グループＧ３からは照度値１８０が、グループＧ４からは照度値９０が、それぞれ選出され、最終的には、これら各照度値に対応した要素Ｓ６３，Ｓ５１，Ｓ１２，Ｓ２３がサンプル要素として選出されることになる。もちろん、各グループの中から全くランダムに１つの照度値を選出するようにしてもよいし、できるだけ空間的に分散した要素が選出されるように、各要素の空間的な位置をも考慮した選出を行うようにしてもよい。
【００４６】
いずれにしても、上述のような方法でサンプル要素を選出すれば、対象点Ｑ（実際の処理上は、これに近似する参照点Ｒｘ）の照度値に、より大きな影響を及ぼすであろう要素ほど、より高い確率でサンプル要素として選出されることになる。たとえば、図９において、第１グループＧ１に所属する２つの要素Ｓ６３，Ｓ５６は、いずれも大きな照度値を与える要素であるため、１／２の確率でサンプル要素に選出されることになる。これに対して、第４グループＧ４に所属する１５個の要素Ｓ２３，Ｓ５８，Ｓ１１，…は、いずれも比較的小さな照度値を与える要素であるため、１／１５の確率でサンプル要素に選出されることになる。
【００４７】
なお、非常に高い照度値を与えるような要素が存在している場合には、この要素が複数回重複して選出されるようにするのが好ましい。そのためには、ステップＳ６２において、Ｅｓ／Ｋの整数Ｉ倍（Ｉ≧２）に近い照度値については、Ｉ個のグループに重複して分類されるようにし、当該照度値がＩ回重複して選出されるようにすればよい。図１０は、このように１つの照度値（別言すれば、１つの要素）が複数回重複して選出される例を示す照度値リストである。この照度値リストでは、図９に示すリストと同様に、既に照度値の大きさ順によるソートが完了しており、負の照度値を０に置換する作業も完了している。また、照度値の合計値Ｅｓは、図９の例と同様に２６４０となっており、Ｋ＝４に設定した場合、Ｅｓ／Ｋ＝６６０となる。ここで、要素Ｓ９２の照度値は１３３０であり、他の要素に比べて格段に大きな値を示している。このため、第１順位の累積値１３３０は、既にＥｓ／Ｋの２倍を超えてしまっている。このような場合、この第１順位の下にグループ境界線を引くとともに、この第１順位の照度値１３３０を第１グループＧ１および第２グループＧ２の２つのグループに重複して分類するようにする。第１グループＧ１および第２グループＧ２の構成要素は、第１順位の照度値１３３０のみであるから、結局、要素Ｓ９２がサンプル要素として２回選出されることになる。
【００４８】
以上、本発明を図示する実施形態に基いて説明したが、本発明はこの実施形態に限定されるものではなく、この他にも種々の形態で実施可能である。たとえば、上述の例は、物体Ｔを多角形からなるｎ個の面を有するポリゴン状の多面体として定義し、個々の要素をそれぞれ面として取り扱うモデルについてのものであるが、表面にｎ個の点光源を有する物体Ｔを定義することにより、ｎ個の要素が点光源Ｓ１〜Ｓｎによって構成されるモデルを用いても本発明は実施可能である。この場合、各点光源Ｓ１〜Ｓｎのエネルギー放出量をＵ１〜Ｕｎとすれば、この参照点Ｒについてのエネルギーの照度値Ｅ１〜Ｅｎは、
Ｅｉ＝Ｕｉ
として（ただし、ｉ＝１，２，３，…，ｎ）求めることができる。また、図３および図８に示す流れ図は、本発明の具体的手順の一例を示すものであり、実際には、各処理の順番等を適宜入れ換えることが可能である。たとえば、図８のステップＳ６１の処理は、図３のステップＳ３において行うことも可能であり、また、図８のステップＳ６２の処理は、Ｋの値が一定であれば同様に図３のステップＳ３１において行うことも可能である。
【００４９】
【発明の効果】
以上のとおり本発明に係るコンピュータグラフィックスにおける照度計算方法によれば、物体を構成する要素の中のいくつかをサンプル要素として選出し、このサンプル要素のみを用いて照度計算を行う手法を採りつつ、対象点に対する影響の大きさを考慮したサンプリングを行うようにしたため、演算負担を軽減しつつも、高い精度で照度値を求めることが可能になる。
【図面の簡単な説明】
【図１】単純な立方体からなる物体Ｔから放出されるエネルギーに基く対象点Ｑにおける照度計算の一般的な方法を説明する概念図である。
【図２】多面体から構成される物体Ｔから放出されるエネルギーに基く対象点Ｑにおける照度計算を行う際に、物体Ｔを構成する面についてのサンプリングを行う例を示す概念図である。
【図３】本発明に係るコンピュータグラフィックスにおける照度計算方法の具体的な手順を示す流れ図である。
【図４】図３に示す流れ図のステップＳ１において定義されたｍ個の参照点の具体例を示す概念図である。
【図５】図３に示す流れ図のステップＳ２において作成された第ｊ番目の照度値リストＬｊの構成例を示す図である。
【図６】図３に示す流れ図のステップＳ５において、対象点Ｑに対して位置的に近似する参照点Ｒｘを求める原理を示す概念図である。
【図７】図３に示す流れ図のステップＳ７において選出された４個の要素Ｓα，Ｓβ，Ｓγ，Ｓδを示す概念図である。
【図８】図３に示す流れ図のステップＳ６の選出処理の具体的な手順の一例を示す流れ図である。
【図９】図８に示す手順を実行する対象となる具体的な照度値リストの一例を示す図である。
【図１０】図８に示す手順を実行する対象となる具体的な照度値リストの別な一例を示す図である。
【符号の説明】
Ｃ…物体Ｔを含む球殻
Ｅ１〜Ｅｎ，Ｅｉ…各要素（各面）から放出されたエネルギーに基く照度値
Ｇ…物体Ｔの位置を示す代表点
Ｇ１〜Ｇ４…グループ
Ｌｊ…第ｊ番目の参照点Ｒｊについて作成された照度値リスト
Ｎｉ…第ｉ番目の面に立てた法線ベクトル
Ｐｉ…第ｉ番目の面の重心点
Ｑ…照度計算の対象となる対象点
Ｒ１〜Ｒｍ，Ｒｊ，Ｒｘ…物体Ｔの周囲に定義された参照点
Ｓ１〜Ｓｎ，Ｓｉ…物体を構成する要素（多面体を構成する面）
Ｓα，Ｓβ，Ｓγ，Ｓδ…選出されたサンプル要素
Ｔ…物体
Ｖｉ…重心点Ｐｉに向かう単位方向ベクトル
Ｗ１〜Ｗｍ，Ｗｊ，Ｗｘ…各参照点から物体Ｔの代表点Ｇへ向かう単位方向ベクトル
Ｗｑ…対象点Ｑから物体Ｔの代表点Ｇへ向かう単位方向ベクトル
【図１】
0003649977.tif 000002
【図２】
0003649977.tif 000003
【図３】
0003649977.tif 000004
【図４】
0003649977.tif 000005
【図５】
0003649977.tif 000006
【図６】
0003649977.tif 000007
【図７】
0003649977.tif 000008
【図８】
0003649977.tif 000009
【図９】
0003649977.tif 000010
【図１０】
0003649977.tif 000011