(57)【特許請求の範囲】
【請求項１】
ｘｙｚ空間のｚ軸を中心軸とする第１の球座標系上の緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成された第１の要素構造格子と、ｘｙｚ空間のｙ軸を中心軸とする第２の球座標系上の緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成された第２の要素構造格子とを相補的に組み合わせて球を形作るように構成された球状構造格子の、前記第１及び第２の要素構造格子に対してそれぞれ配置される第１及び第２の構造格子データを、コンピュータ・グラフィックス技術を用いてモニター上で可視化する構造格子データの可視化方法であって、
座標変換手段により、コンピュータ・グラフィックスで使用する第１のローカルｘｙｚ座標系に前記第１の要素構造格子を設定し、前記第１の要素構造格子上に前記第１の構造格子データを配置して前記コンピュータ・グラフィックス技術により第１のグラフィック・オブジェクトを生成する第１の生成ステップと、
座標変換手段により、コンピュータ・グラフィックスで使用する第２のローカルｘｙｚ座標系に前記第２の要素構造格子を設定し、前記第２の要素構造格子上に前記第２の構造格子データを配置して前記コンピュータ・グラフィックス技術により第２のグラフィック・オブジェクトを生成する第２の生成ステップと、
回転合成手段により、前記第２のグラフィック・オブジェクトを前記第２のローカル座標系と一緒に、前記第１のローカルｘｙｚ座標系のｘ軸を中心にして９０度回転した後、前記第１のローカルｘｙｚ座標系のｚ軸を中心にして１８０度回転する回転変換ステップと、
前記コンピュータ・グラフィックス技術により前記第１のグラフィック・オブジェクト及び回転した前記第２のグラフィック・オブジェクトを組み合わせて描画手段により前記モニター上で画像として表現する可視化ステップからなる構造格子データの可視化方法。
【請求項２】
前記可視化ステップでは、前記第１の要素構造格子と回転した前記第２の要素構造格子とが重なる重なり領域を判定する判定ステップを更に備え、前記重なり領域において前記第１の要素構造格子及び前記第２の要素構造格子の一方の格子部分に配置された前記構造格子データのみを可視化するように構成されていることを特徴とする請求項１に記載の構造格子データの可視化方法。
【請求項３】
前記第１及び第２の構造格子データは、それぞれ複数に分割された分割構造格子データによって構成されている請求項１に記載の構造格子データの可視化方法。
【請求項４】
前記第１及び第２の構造格子データのうち前記モニター上で画像として表現するために最低限必要な分割構造格子データだけを選択して可視化する請求項３に記載の構造格子データの可視化方法。
【請求項５】
ｘｙｚ空間のｚ軸を中心軸とする第１の球座標系上の緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成された第１の要素構造格子と、ｘｙｚ空間のｙ軸を中心軸とする第２の球座標系上の緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成された第２の要素構造格子とを相補的に組み合わせて球を形作るように構成された球状構造格子の、前記第１及び第２の要素構造格子に対してそれぞれ配置される第１及び第２の構造格子データを、コンピュータ・グラフィックス技術を用いてモニター上に可視化する構造格子データの可視化方法であって、
座標変換手段により、ｘｙｚ座標系で前記第１の要素構造格子の各格子点の座標値を設定する第１の設定ステップと、
座標変換手段により、ｘｙｚ座標系で前記第２の要素構造格子の各格子点の座標値を設定する第２の設定ステップと、
座標変換手段により、前記第２の要素構造格子の各格子点の座標値を定めるためのｘ、ｙ及びｚ軸が、それぞれ前記第１の要素構造格子の各格子点の座標値を定めるための前記ｘｙｚ座標系で見た−ｘ、ｚ及びｙ軸となるように、前記第２の要素構造格子の各格子点の座標値を変換する座標変換ステップと、
前記第１の要素構造格子及び座標値を変換した前記第２の要素構造格子と前記第１及び第２の構造格子データを用いて、前記コンピュータ・グラフィックス技術によりそれぞれのグラフィック・オブジェクトを生成し組み合わせて、描画手段により前記モニター上で画像として表現する可視化ステップからなる構造格子データの可視化方法。
【請求項６】
前記可視化ステップでは、前記第１の要素構造格子と前記座標値を変換した前記第２の要素構造格子とが重なる重なり領域を判定する判定ステップを更に備え、前記重なり領域において前記第１の要素構造格子及び前記座標値を変換した前記第２の要素構造格子の一方の格子部分に配置された構造格子データのみを可視化するように構成されていることを特徴とする請求項５に記載の構造格子データの可視化方法。
【請求項７】
前記第１及び第２の構造格子データは、それぞれ複数に分割された分割構造格子データによって構成されている請求項５に記載の構造格子データの可視化方法。
【請求項８】
前記第１及び第２の構造格子データのうち前記モニター上で画像として表現するために最低限必要な分割構造格子データだけを選択して可視化する請求項７に記載の構造格子データの可視化方法。
【請求項９】
ｘｙｚ空間のｚ軸を中心軸とする第１の球座標系上の緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成された第１の要素構造格子と、ｘｙｚ空間のｙ軸を中心軸とする第２の球座標系上の緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成された第２の要素構造格子とを相補的に組み合わせて球を形作るように構成された球状構造格子の、前記第１及び第２の要素構造格子に対してそれぞれ配置される第１及び第２の構造格子データを、コンピュータ・グラフィックス技術を用いてモニター上に可視化するためにコンピュータにインストールして使用される構造格子データの可視化プログラムであって、
コンピュータ・グラフィックスで使用する第１のローカルｘｙｚ座標系に前記第１の要素構造格子を設定し、前記第１の要素構造格子上に前記第１の構造格子データを配置して前記コンピュータ・グラフィックス技術により第１のグラフィック・オブジェクトを生成する第１の生成機能と、
コンピュータ・グラフィックスで使用する第２のローカルｘｙｚ座標系に前記第２の要素構造格子を設定し、前記第２の要素構造格子上に前記第２の構造格子データを配置して前記コンピュータ・グラフィックス技術により第２のグラフィック・オブジェクトを生成する第２の生成機能と、
前記第２のグラフィック・オブジェクトを前記第２のローカルｘｙｚ座標系と一緒に、前記第１のローカルｘｙｚ座標系のｘ軸を中心にして９０度回転した後、前記第１のローカルｘｙｚ座標系のｚ軸を中心にして１８０度回転する回転変換機能と、
前記コンピュータ・グラフィックス技術により前記第１のグラフィック・オブジェクト及び回転した前記第２のグラフィック・オブジェクトを組み合わせて前記モニター上で画像として表現する可視化機能とを、前記コンピュータに実現させるための構造格子データの可視化プログラム。
【請求項１０】
前記可視化機能では、前記第１の要素構造格子と回転した前記第２の要素構造格子とが重なる重なり領域を判定する判定機能を更に備え、前記重なり領域において前記第１の要素構造格子及び前記座標変換された第２の要素構造格子の一方の格子部分に配置された構造格子データのみを可視化するように構成されていることを特徴とする、請求項９に記載の構造格子データの可視化プログラム。
【請求項１１】
前記第１及び第２の分割構造格子データのセットは、それぞれ複数に分割された分割構造格子データによって構成されている請求項９に記載の構造格子データの可視化プログラム。
【請求項１２】
前記第１及び第２の構造格子データのうち前記モニター上で画像として表現するために最低限必要な分割構造格子データだけを選択して可視化する機能を更に実現するように構成されている請求項１１に記載の構造格子データの可視化プログラム。
【請求項１３】
ｘｙｚ空間のｚ軸を中心軸とする第１の球座標系上の緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成された第１の要素構造格子と、ｘｙｚ空間のｙ軸を中心軸とする第２の球座標系上の緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成された第２の要素構造格子とを相補的に組み合わせて球を形作るように構成された球状構造格子の、前記第１及び第２の要素構造格子に対してそれぞれ配置される第１及び第２の構造格子データを、コンピュータ・グラフィックス技術を用いてモニター上に可視化するためにコンピュータにインストールして使用される構造格子データの可視化プログラムであって、
ｘｙｚ座標系で前記第１の要素構造格子の各格子点の座標値を設定する第１の設定機能と、
ｘｙｚ座標系で前記第２の要素構造格子の各格子点の座標値を設定する第２の設定機能と、
前記第２の要素構造格子の各格子点の座標値を定めるためのｘ、ｙ及びｚ軸が、それぞれ前記第１の要素構造格子の各格子点の座標値を定めるための前記ｘｙｚ座標系で見た−ｘ、ｚ及びｙ軸となるように、前記第２の要素構造格子の各格子点の座標を変換する座標変換機能と、
前記第１の要素構造格子及び前記座標変換した第２の要素構造格子と前記第１及び第２の構造格子データを用いて、前記コンピュータ・グラフィックス技術によりそれぞれのグラフィック・オブジェクトを生成し組み合わせて、前記モニター上で画像として表現する可視化機能とを、前記コンピュータに実現させるための構造格子データの可視化プログラム。
【請求項１４】
前記可視化機能では、前記第１の要素構造格子と座標変換された前記第２の要素構造格子とが重なる重なり領域を判定する判定機能を更に備え、前記重なり領域において前記第１の要素構造格子及び前記座標変換された第２の要素構造格子の一方の格子部分に配置された構造格子データのみを可視化するように構成されていることを特徴とする、請求項１３に記載の構造格子データの可視化プログラム。
【請求項１５】
前記第１及び第２の分割構造格子データのセットは、それぞれ複数に分割された分割構造格子データによって構成されている請求項１３に記載の構造格子データの可視化プログラム。
【請求項１６】
前記第１及び第２の構造格子データのうち前記モニター上で画像として表現するために最低限必要な分割構造格子データだけを選択して可視化する機能を更に実現するように構成されている請求項１５に記載の構造格子データの可視化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションのために作成した球状構造格子に対して配置されている構造格子データをコンピュータ・グラフィックス技術を用いて可視化することを可能にする構造格子データの可視化方法及びプログラムに関するものである。
【背景技術】
【０００２】
球座標系はｘｙｚ空間内で動径および二つの偏角（緯度と経度）によって表現される。球座標系においては北極（緯度９０度）と南極（緯度−９０度）を通る直線上のすべての点は特異点である。そして経度方向に測った角度間隔が同じであっても、緯度が異なると、その角度間隔に対応する経度方向の長さは異なる。すなわち経度方向に測った角度間隔が同じであっても、高緯度領域におけるその角度間隔に対応する経度方向の長さは、低緯度領域におけるその角度間隔に対応する経度方向の長さよりも小さくなる。従って、この球座標系で緯度経度に適当な格子間隔を与えて構成される球状構造格子においては、高緯度に行くほど多数の格子点が密集することになる。従って、球座標系に基づいた各格子点上で数値計算を行うシミュレーションでは、高緯度領域において非効率な計算が避けられなかった。
【０００３】
このような球座標に起因する問題を回避し計算負荷の軽減を図った大規模な並列型シミュレーションを可能にするために、２００３年１２月に開催された第１７回数値流体力学シンポジウムにおいて、地球流体力学におけるさまざまな現象をシミュレーションするための新しい球状構造格子が複数の論文［非特許文献１乃至３］と共に発表された。また２００３年１０月に開催された第７回シミュレーション科学シンポジウムにおいてもこの新しい球状構造格子が発表されている［非特許文献４］。この新しい球状構造格子は、通称陰陽格子と呼ばれおり、第１及び第２の要素構造格子が相補的に組み合わさって球を形作るように構成される。第１の要素構造格子は、ｘｙｚ空間のｚ軸を中心軸とする第１の球座標系上における緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成される。また第２の要素構造格子は、ｘｙｚ空間のｙ軸を中心軸とする第２の球座標系上における緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成される。球状構造格子を構成する第１及び第２の要素構造格子に対しては、それぞれ第１及び第２の構造格子データが配置される。
【非特許文献１】２００３年１２月に開催された第１７回数値流体力学シンポジウムにおいて、陰山聡によって発表された「陰陽格子の開発」と題する論文（Ｆ８−１）
【非特許文献２】２００３年１２月に開催された第１７回数値流体力学シンポジウムにおいて、高橋桂子、大平満、陰山聡、渡邉國彦によって発表された「陰陽格子上における浅水波方程式による力学的検証」と題する論文（Ｃ６−２）
【非特許文献３】２００３年１２月に開催された第１７回数値流体力学シンポジウムにおいて、高橋桂子、小峰賢治、陰山聡、渡邉國彦によって発表された「陰陽格子法を用いた全球・非静力学大気モデルの開発」と題する論文（Ｃ６−３）
【非特許文献４】２００３年１０月に開催された「第７回シミュレーション科学シンポジウム」において陰山聡によって発表された「固定地球シミュレーション」と題する論文
【発明の開示】
【発明が解決しようとする課題】
【０００４】
球座標系に基づく一般的な球状構造格子で構造格子データの可視化をする場合、前述のシミュレーションで提示された問題と同様の問題が生じる。コンピュータ・グラフィック技術を用いた可視化では、各格子点座標とそれらに配置されたデータを参照してポリゴン（コンピュータ・グラフィックにおいてグラフィック・オブジェクトの面の基本要素となる三角形）の頂点座標を算出し、格子点上に配置されたデータの値を基にして色付けを行う。従って、球座標に基づいた構造格子の格子点が密集する高緯度領域では、モニターの表示解像度に比べて、不必要に多数のポリゴン生成処理やポリゴン頂点における法線計算処理が必要となっていた。また、球座標に基づく構造格子データから３次元直交座標に基づく構造格子データへデータ・コンバートをする場合には、データの補間や削減等、それぞれの構造格子の格子間隔の大きさに依存したデータの加工処理を伴う。そのため、加工後のデータは、元のデータと解像度について一対一で対応する関係を失い、元のデータに忠実な表現を行うことができなかった。前述の新しい球状構造格子を可視化に応用して、構造格子データを可視化できれば、球の高緯度領域におけるポリゴンの密集を回避し処理効率を上げることができるとともに、元の構造格子データとの対応関係において精度が低下するのを抑えることができる。
【０００５】
また、可視化においてはシミュレーションとは異なり球状構造格子のすべての格子点上の構造格子データを参照する必要はない。シミュレーションにおいては、すべての格子点上の構造格子データは、全球を対象としたシミュレーションの整合性を保つために行う、二つの要素構造格子間での数値データの交換と、補間処理とに必要とされる重要なデータである。しかしながら、可視化においては前述の第１及び第２の要素構造格子上の構造格子データを参照することで得られるグラフィック・オブジェクトの間に隙間が開かない程度の最低限の重複を除いて、すべての格子点上の構造格子データを用いる必要がない。逆に、全ての格子点上の構造格子データを用いると、ポリゴン生成処理やポリゴン頂点における法線計算処理の負荷が大きくなる。またグラフィック・オブジェクトの重なり部分に、本来は意図しない無用な凹凸が生じ、可視化後の画像が不鮮明な状態になる。これらの無用な重複は避けなければならない。
【０００６】
さらに、球状構造格子の場合、モニターから眺められる格子の背面側の格子上のデータは、可視化処理をしても、表側のグラフィック・オブジェクトに隠される。そのため背面側の格子上のデータは、モニターに表示されない。これらのデータに対してポリゴン生成処理やポリゴン頂点における法線計算処理を逐一行うと、処理の負荷が大きくなり、可視化作業が非効率となる。そこで可視化すべき構造格子データを、選択的に可視化処理すれば、可視化にかかる作業が高速かつ効率的になる。
【０００７】
本発明の目的は、二つの要素構造格子を組み合わせて構成される球状構造格子に対して配置された格子構造データを、コンピュータ・グラフィックス技術によって可視化する構造格子データの可視化方法及びプログラムを提供することにある。
【０００８】
本発明の他の目的は、可視化作業の効率を向上させることができる構造格子データの可視化方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の構造格子データの可視化方法が可視化の対象とする構造格子データは、球状構造格子に対して配置されている。この球状構造格子は、第１及び第２の要素構造格子が組み合わされて構成される。第１の要素構造格子は、ｘｙｚ空間のｚ軸を中心軸とする第１の球座標系上における緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成される。第２の要素構造格子は、ｘｙｚ空間のｙ軸を中心軸とする第２の球座標系上における緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成される。そして球状構造格子の構造格子データは、第１及び第２の要素構造格子に対してそれぞれ配置された第１及び第２の構造格子データから構成される。本発明の方法では、この第１及び第２の構造格子データから構成される構造格子データをコンピュータ・グラフィックス技術によってモニター上に可視化する。
【００１０】
そこで本発明では、以下に述べる第１及び第２の生成ステップ、回転変換ステップ及び可視化ステップによって可視化を実現する。まず第１の生成ステップでは、コンピュータ・グラフィックスで使用する第１のローカルｘｙｚ座標系に第１の要素構造格子を座標変換手段により設定する。次に第１の要素構造格子上に第１の構造格子データを配置して、コンピュータ・グラフィックス技術により第１のグラフィック・オブジェクトを生成する。また第２の生成ステップでは、コンピュータ・グラフィックスで使用する第２のローカルｘｙｚ座標系に第２の要素構造格子を座標変換手段により設定する。そして第２の要素構造格子上に第２の構造格子データを配置して、コンピュータ・グラフィックス技術により第２のグラフィック・オブジェクトを生成する。回転変換ステップでは、回転合成手段により第２のグラフィック・オブジェクトを第２のローカルｘｙｚ座標系と一緒に、第１のローカルｘｙｚ座標系のｘ軸を中心にして９０度回転した後、第１のローカルｘｙｚ座標系のｚ軸を中心にして１８０度回転する。このような回転変換ステップを行うのは、第１のグラフィック・オブジェクトの第１のローカルｘｙｚ座標系と第２のグラフィック・オブジェクトの第２のローカルｘｙｚ座標系とが共通のｘｙｚ座標系を持つために、第１のグラフィック・オブジェクトと第２のグラフィック・オブジェクトをそのまま可視化すると、両者が重なって表示されてしまうためである。そこで本発明の可視化方法では、座標回転ステップにより、前述の通り、第２のローカル座標系の回転を行っている。
【００１１】
可視化ステップでは、コンピュータ・グラフィックス技術により第１のグラフィック・オブジェクト及び回転した第２のグラフィック・オブジェクトを組み合わせて描画手段によりモニター上で画像として構造格子データを可視化する。
【００１２】
なお前述のように実際にローカル座標系を回転させる「回転変換ステップ」の代わりに、軸の置換による座標変換ステップを用いることができる。この座標変換ステップでは、第２の要素構造格子の各格子点の座標値を定めるためのｘｙｚ座標系のｘ軸を−ｘ軸とし、ｙ軸をｚ軸とし、ｚ軸をｙ軸と置き換えることにより、第２の要素構造格子の各格子点の座標を変換する。この場合、グラフィック・オブジェクトを生成する処理は座標変換後となるが、このようにしても結果として、コンピュータ・グラフィックス技術による可視化に必要な回転をした第２の要素構造格子のグラフィック・オブジェクトを得ることができる。
【００１３】
これを実現するためには、第１の設定ステップと、第２の設定ステップと、座標変換ステップと、可視化ステップとを実施する。第１の設定ステップでは、ｘｙｚ座標系で第１の要素構造格子の各格子点の座標値を設定する。第２の設定ステップでは、ｘｙｚ座標系で第２の要素構造格子の各格子点の座標値を設定する。そして座標変換ステップでは、第２の要素構造格子の各格子点の座標値を定めるためのｘ、ｙ及びｚ軸を、それぞれ第１の要素構造格子の各格子点の座標値を定めるためのｘｙｚ座標系で見た−ｘ、ｚ及びｙ軸となるように、第２の要素構造格子の各格子点の座標を変換する。第１の設定ステップと、第２の設定ステップと、座標変換ステップとは、座標変換手段により行う。そして可視化ステップでは、第１の要素構造格子及び座標変換した第２の要素構造格子と第１及び第２の構造格子データを用いて、コンピュータ・グラフィックス技術によりそれぞれのグラフィック・オブジェクトを生成し、これらを組み合わせて、描画手段によりモニター上で画像として表現する。
【００１４】
また可視化ステップでは、第１の要素構造格子と回転変換または座標変換した第２の要素構造格子とが重なる重なり領域を判定する判定ステップを更に備えているのが好ましい。そしてこの重なり領域においては、第１の要素構造格子及び回転変換または座標変換した第２の要素構造格子の一方の格子部分に配置された構造格子データのみを可視化する。このようにすると二つの要素構造格子の重なり部分が存在していても、可視化に必要なポリゴン生成の重複がなくなるので生成処理の負荷を軽減することができる。そのため本来は意図しないポリゴンの重なり部分に生じるグラフィック・オブジェクトの面上に無用な凹凸が現れるのを避けられる。その結果、可視化後の画像が不鮮明な状態になるのを防ぐことができる。なお重なり領域にある一方の格子点に対応する構造格子データのみを可視化するためには、その領域に位置する構造格子データがゼロであるように構造格子データに無効値を再設定するかまたは領域判定条件を定めて、無用なポリゴン生成処理やポリゴンの頂点における法線計算処理を回避すればよい。
【００１５】
さらに、モニターの表示枠からはみ出て表示されない領域の格子上ではグラフィック・オブジェクトを生成する必要がない。そこで第１及び第２の構造格子データを、それぞれ複数に分割された分割構造格子データによって構成するのが好ましい。そして第１及び第２の構造格子データのうちモニター上で画像として表現するために最低限必要な分割構造格子データだけを選択して可視化すればよい。すなわち、複数に分割された分割構造格子データを配置する複数の分割構造格子を用意する。そして、球状構造格子を形成する複数の分割構造格子のいずれを参照すべきか判定する。このようにすると参照する球状構造格子の格子点総数を減らすことができ、ポリゴン生成処理やポリゴンの頂点における法線計算処理の負荷を減らすことができるという利点が得られる。一般的に大規模な並列型シミュレーションにおいて出力される構造格子データは、多数の細かい領域に領域分割されている場合が多い。一方、可視化プログラムにおいては、一つまたは少数の構造格子データを読んで可視化する場合が多い。多数の分割構造格子データを一つまたは少数の構造格子データにまとめずにそのまま利用し、自動的に選択して可視化することができれば、作業効率の軽減という利点も得られる。
【００１６】
本発明のプログラムは、コンピュータ・グラフィックス技術を用いてモニター上に可視化するためにコンピュータにインストールされて使用される構造格子データの可視化プログラムである。すなわちこのプログラムは、球状構造格子の第１及び第２の要素構造格子に対してそれぞれ配置される第１及び第２の構造格子データを、コンピュータ・グラフィックス技術を用いてモニター上に可視化するために、コンピュータにインストールして使用される構造格子データの可視化プログラムである。ここで球状構造格子は、ｘｙｚ空間のｚ軸を中心軸とする第１の球座標系上の緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成された第１の要素構造格子と、ｘｙｚ空間のｙ軸を中心軸とする第２の球座標系上の緯度経度格子のうち緯度−４５度以下のある値から４５度以上のある値まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値から３１５度以上のある値まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成された第２の要素構造格子とを、相補的に球を形作るように組み合わせて構成される。本発明のプログラムは、以下の機能をコンピュータを用いて実現する。最初の機能は、コンピュータ・グラフィックスで使用する第１のローカルｘｙｚ座標系に第１の要素構造格子を設定し、第１の要素構造格子上に第１の構造格子データを配置してコンピュータ・グラフィックス技術により第１のグラフィック・オブジェクトを生成する第１の生成機能である。次の機能は、コンピュータ・グラフィックスで使用する第２のローカルｘｙｚ座標系に第２の要素構造格子を設定し、第２の要素構造格子上に第２の構造格子データを配置してコンピュータ・グラフィックス技術により第２のグラフィック・オブジェクトを生成する第２の生成機能である。そして次の機能は、第２のグラフィック・オブジェクトを第２のローカルｘｙｚ座標系と一緒に、第１のローカルｘｙｚ座標系のｘ軸を中心にして９０度回転した後、第１のローカルｘｙｚ座標系のｚ軸を中心にして１８０度回転する回転変換機能である。最後の機能は、コンピュータ・グラフィックス技術により第１のグラフィック・オブジェクト及び回転した第２のグラフィック・オブジェクトを組み合わせてモニター上で画像として表現する可視化機能である。
【００１７】
また本発明の別の可視化プログラムでは、下記の機能をコンピュータに実現させるように構成されている。まず最初の機能は、ｘｙｚ座標系で第１の要素構造格子の各格子点の座標値を設定する第１の設定機能である。次の機能は、ｘｙｚ座標系で第２の要素構造格子の各格子点の座標値を設定する第２の設定機能である。そして次の機能は、第２の要素構造格子の各格子点の座標値を定めるためのｘ、ｙ及びｚ軸が、それぞれ第１の要素構造格子の各格子点の座標値を定めるためのｘｙｚ座標系で見た−ｘ、ｚ及びｙ軸となるように、第２の要素構造格子の各格子点の座標を変換する座標変換機能である。最後の機能は、第１の要素構造格子及び座標変換した第２の要素構造格子と第１及び第２の構造格子データを用いて、コンピュータ・グラフィックス技術によりそれぞれのグラフィック・オブジェクトを生成し組み合わせて、モニター上で画像として表現する可視化機能である。
【００１８】
なお可視化機能は、第１の要素構造格子と座標変換した第２の要素構造格子とが、図２に示すような重なり領域を持つか否かの判定をする判定機能を更に備えているのが好ましい。重なり領域を判定した場合には、重なり領域において、第１の要素構造格子及び座標変換した第２の要素構造格子の一方の格子部分に配置された構造格子データの無効値を検出するか、または領域判定条件を定めて、無用なポリゴン生成処理やポリゴンの頂点における法線計算処理を回避する。このようにして可視化すれば、重なり領域の存在は、問題がなくなる。
【００１９】
さらに、モニターの表示枠からはみ出て表示されない領域の格子上ではグラフィック・オブジェクトを生成する必要がない。この場合には、前述のように、それぞれ複数に分割された分割構造格子データを配置する複数の分割構造格子を用意する。そして球状構造格子を形成する分割構造格子のいずれを参照すべきか判定する。このようにすると、参照する球状構造格子の格子点総数を減らすことができる。またポリゴン生成処理の負荷を減らすことができる。また、多数の分割構造格子データを一つまたは少数の構造格子データにまとめずにそのまま利用し、自動的に選択して可視化する機能を備えていることが好ましい。多数の分割構造格子のうち必要な格子を自動的に選択することで、可視化すべきデータ量を大幅に削減できる効果がある。
【００２０】
本発明によれば、シミュレーション後の可視化においてデータ解像度の損失を抑えることができる。また可視化におけるデータ抽出および描画処理においてメモリ使用量および時間的コストの削減をできる効果が得られる。たとえば、経度および緯度方向の格子間隔がそれぞれ１度の構造格子を用いる場合、通常の球座標での全格子点数は３６０×１８０×（半径方向の格子点数）である。これに対して、第１の要素構造格子（Ｎ系）および第２の要素構造格子（Ｅ系）が、それぞれ経度方向に４５度から３１５度、緯度方向に−４５度から４５度の範囲で定義された場合の格子点数は、２７０×９０×（半径方向の格子点数）×２である。従って、本発明を実施する場合に用いる新しい球状構造格子は、通常の球座標系の格子に比べて４分の３の格子点数で済む。そのため、メモリ上に保持する全データ量を抑えることができる。カラーコンタや等値面を描画するために格子点の座標値と各格子点でのデータ値を、決められた条件を基に抽出するフィルタ処理においては、参照すべき格子点数が通常の球座標系格子の場合に比べて４分の３に減少する。そのため、描画に必要とされるポリゴン数やポリゴンの頂点における法線計算処理の量も抑えることができ、可視化機能における総処理時間が短縮される。また、新しい球状構造格子の場合に生ずるＮ系とＥ系の重なり合う領域について、どちらか一方の系のデータをあらかじめ加工処理（無効値を代入）してもよい。このようにすると、その部分に関して一方の系についてのポリゴン生成処理をしないため、重複描画による無用な処理時間が省かれる。また、通常の球座標系の場合の処理に比べて、負荷バランスを均等に近づけることができる。また、本発明を用いると、結果の表示において高速なレスポンスが期待される対話型可視化プログラムの対話性の向上にも効果が得られる。
【発明を実施するための最良の形態】
【００２１】
図１は、本発明の構造格子データの可視化方法を実施するために本発明のプログラムの一実施の形態がインストールされたコンピュータ内に実現される各機能実現手段を示した本発明の実施の形態の構成の一例を示すブロック図である。この実施の形態では、プログラムのインストールによってコンピュータ内に、操作・制御部１と、データ処理部２と、可視化機能部３とが構成される。記憶装置４は、コンピュータが備えているハードディスク４１とメモリ４２とから構成されるハードウエアである。なお本実施の形態では、球状構造格子を構成する第１の要素構造格子を簡略化のためにＮ系と表示することがあり、また第２の要素構造格子をＥ系と表示することがある。図２（Ａ）及び（Ｂ）に示すように、この球状構造格子は、第１及び第２の要素構造格子（Ｎ系とＥ系）が組み合わされて構成される。第１の要素構造格子（Ｎ系）は、ｘｙｚ空間のｚ軸を中心軸とする第１の球座標系上における緯度経度格子のうち緯度−４５度以下のある値［図２（Ａ）例では４５度］から４５度以上のある値［図２（Ａ）の例では４５度］まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値［図２（Ａ）の例では４５度］から３１５度以上のある値［図２（Ａ）の例では３１５度］まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成される。また第２の要素構造格子（Ｅ系）は、ｘｙｚ空間のｙ軸を中心軸とする第２の球座標系上における緯度経度格子のうち緯度−４５度以上のある値［図２（Ｂ）例では４５度］から４５度以上のある値［図２（Ｂ）の例では４５度］まで（ただし−９０度及び９０度を除く）、経度４５度以下のある値［図２（Ｂ）の例では４５度］から３１５度以上のある値［図２（Ｂ）の例では３１５度］まで（ただし０度及び３６０度を除く）の範囲を抜き出して構成される。そして球状構造格子の構造格子データは、第１及び第２の要素構造格子に対してそれぞれ配置された第１及び第２の構造格子データから構成される。ここで前述の抜き出す緯度の範囲は、図２（Ｃ）に示すように、Ｎ系の場合にはｚ軸を、Ｅ系の場合にはｙ軸を軸中心として見た場合に、−４５度以下のある値θ１から４５度以上のある値θ２までの間の範囲である。また抜き出す経度の範囲は、Ｎ系の場合にはｚ軸を、Ｅ系の場合にはｙ軸を軸中心として見た場合に、４５度以下のある値θ３から３１５度以上のある値θ４までの間の範囲である。
【００２２】
プログラムが起動されると、操作・制御部１には、外部入力情報解析手段１１、表示領域判定手段１２及びデータブロック判定手段１３が実現される。またデータ処理部２には、データ配置ファイル解析手段２１、データファイル読み込み手段２２、Ｎ系Ｅ系判定手段２３、データ領域分割手段２４、データ加工手段２５、データブロック化手段２６、データ保存指令手段２７が構成される。さらに可視化機能部３には、座標変換手段３１、フィルタ処理手段３２、Ｅ系回転・Ｎ系Ｅ系合成手段３３、描画手段３４、ディスプレイ手段３５、画像ファイル出力手段３６及び画面操作情報取得手段３７が構成される。なお後述する第１及び第２の要素構造格子の格子点座標データ及びこれらに対して配置される第１及び第２の構造格子データは、ハードディスク４１内に記憶される。そして本プログラムはメモリ４２内に記憶されている。
【００２３】
図３は、操作・制御部１とデータ処理部２における各機能手段を実現するために用いるプログラムの一部のルーチンのアルゴリズムの一例を示すフローチャートである。なおこのプログラムは、各ステップをコンピュータ内で実施することにより得られる機能を実現するように構成されている。操作・制御部１が、利用者からの操作情報を受け取ると、外部入力情報解析手段１１は操作情報に含まれる外部情報を解析して、表示領域判定手段１２に解析結果を与える。表示領域判定手段１２は、解析結果に基づいて、利用者から可視化を要求されている部分が全体であるのか、それとも特定の領域であるのかを判定して、可視化に必要なデータを読み込むための指令をデータ処理部２に出力する。すなわち表示領域判定手段１２は、記憶手段４のハードディスク４１から「データ配置ファイル」を読み込む指示をデータ処理部２に送る（図３のステップＳＴ１）。ここでハードディスク４１から読み込む「データ配置ファイル」とは複数のデータファイルを格納しているディレクトリ、複数のファイル名、複数の空間解像度情報（経度、緯度および高さ方向それぞれの実数値範囲とそれぞれの格子点の数）、時間ステップ、および第１及び第２の要素構造格子における系の指標（Ｎ系、Ｅ系、またはそれ以外）に関する情報が記述されたファイルを意味する。
【００２４】
データ処理部２のデータ配置ファイル解析手段２１では、「データ配置ファイル」の内容を解析する（図３のステップＳＴ２）。そしてデータファイル読み込み手段２２は、コンピュータに読み込ませることが必要なデータファイルだけを読み込む（図３のステップＳＴ３）。その際、Ｎ系Ｅ系判定手段２３により、データがあらかじめ規定された形式に該当しない場合や、データサイズが大きい場合を判定する（ステップＳＴ４）。そして図２（Ｅ）及び（Ｆ）に示すように、ポリゴン化する際に第１の要素構造格子（Ｎ系）と第２の要素構造格子（Ｅ系）とが重なりあう部分がある場合には、必要に応じてデータ領域分割手段２４を用いてデータを複数の領域毎に分割する（図３のステップＳＴ６）。そして分割したデータにデータ加工手段２５により加工処理を実行する（図３のステップＳＴ６）。そして、データが規定されたサイズを超えているか否かの判定がなされ（ステップＳＴ７）、超えている場合には、データブロック化手段２６によってプログラムが適正に動作するよう分割し、加工したデータを複数のブロック（規格化されたデータの一塊）に分解する（ステップＳＴ８）。ブロック化されたデータ（分割構造格子データ）は、データ保存手段２７を介して記憶装置４に格納される（ステップＳＴ９）。この際に、個別のデータにはデータＩＤが割り振られる。そしてデータ処理部２は、データブロック情報を操作・制御部１に送る。操作・制御部１では、データブロック判定手段１３により、利用者によるコマンド入力やマウス操作等、外部入力による次の操作とデータブロック情報を合わせて、可視化機能に必要なパラメータ（描画に必要なデータブロック情報、図種、描画範囲の座標値等）を決定し、これらをデータブロック判定手段１３から可視化機能部３に情報として送る。具体的には、図３のステップＳＴ１１に示すように、データクラスを用意し、データブロック情報を設定し、以後データクラスとして管理する。そしてステップＳＴ１２において、データ配置ファイルに記述されているすべてのデータを参照し、すべてのデータの参照が完了している場合には、終了する。データの参照が完了していない場合には、ステップＳＴ２へ戻る。その後利用者からの次の操作が与えられるまで待機する。
【００２５】
このように第１及び第２の構造格子データを、それぞれ複数に分割された分割構造格子データによって構成すると、利用者から可視化の指令が入力されたときに、可視化機能部３では、操作・制御部１から指定された情報に基づき、記憶装置４から可視化に必要なデータブロック（モニター上で画像として表現するために最低限必要な分割構造格子データ）だけを選択して入力し、可視化する。
【００２６】
第１及び第２の要素構造格子（Ｎ系、Ｅ系）それぞれに対して、座標変換手段３１及びフィルタ処理手段３２によりグラフィック・オブジェクトの生成を行う。座標変換手段３１及びフィルタ処理手段３２では、まず本発明の方法の第１及び第２の生成ステップを実行する。すなわち、座標変換手段３１によってコンピュータ・グラフィックスで使用する第１のローカルｘｙｚ座標系に第１の要素構造格子Ｎを設定し、第１の要素構造格子Ｎ上に第１の構造格子データを配置する。次にフィルタ処理手段３２によって利用者が指定した図種（カラーコンタや等値面等）を描画するためのポリゴンの頂点座標値および頂点における色のパラメータを抽出する。そして、コンピュータ・グラフィックス技術によりポリゴンを形成して第１のグラフィック・オブジェクト得る。ここで、第１の要素構造格子の格子点座標の設定は、図４に示すパラメータにしたがって下記の座標変換
ｘ＝ｒ・ｃｏｓα・ｃｏｓλ
ｙ＝ｒ・ｃｏｓα・ｓｉｎλ
ｚ＝ｒ・ｓｉｎα
を実施する。ここで、ｒは動径、αは緯度、λは経度を表す。同様に、座標変換手段３１によって第２のローカルｘｙｚ座標系に、第２の要素構造格子Ｅを上記の座標変換と同様に設定し第２の要素構造格子Ｅ上に第２の構造格子データを配置する。そして、フィルタ処理手段３２によって指定図種についてのコンピュータ・グラフィックス技術による第２のグラフィック・オブジェクトを得る。
【００２７】
その後、ポリゴン化された第２の要素構造格子（Ｅ系）上の第２のグラフィック・オブジェクトについて回転合成手段としてのＥ系回転・Ｎ系Ｅ系合成手段３３により座標回転操作を実行する。座標回転操作が必要になるのは、球状構造格子を構成するために用いる第１及び第２の要素構造格子Ｎ及びＥについてそれぞれコンピュータ・グラフィックスで使用するローカルｘｙｚ座標系の座標軸が、共通のｘｙｚ軸を持っているためである。すなわちそのままの座標系では、球状構造を構成しないためである。図５は、この座標回転操作を概念的に説明するための図である。座標回転操作（座標回転ステップ）では、図５に示すように、第２のグラフィック・オブジェクトを第２のローカルｘｙｚ座標系（図５の右側Ｅ系の座標系）と一緒に第１のローカルｘｙｚ座標系（図５の左側のＮ系の座標系）のｘ軸を中心にして９０度回転した後、第１のローカルｘｙｚ座標系（図５の左側のＮ系の座標系）のｚ軸を中心にして１８０度回転させる。これによって第１及び第２のグラフィック・オブジェクトが互いに相補的に球状の構造格子を作ることが可能になる。図６は、Ｅ系を上記のように回転させる過程を図示している。その結果、第１の要素構造格子及び回転した第２の要素構造格子と第１及び第２の構造格子データとを用いて、コンピュータ・グラフィックス技術によりモニター上に構造格子データを可視化することが可能になる（可視化ステップ）。なお可視化ステップでは、第１の要素構造格子と座標変換された第２の要素構造格子とが重なる重なり領域を判定する判定を行い（判定ステップ）。図２（Ｆ）に示した重なり領域において、第１の要素構造格子及び座標変換された第２の要素構造格子の一方の格子部分に配置された構造格子データのみを可視化するようにするのが好ましい。
【００２８】
Ｅ系回転・Ｎ系Ｅ系合成手段３３は、第１の要素構造格子のグラフィックオブジェクトと第２のローカルｘｙｚ座標系と一緒に回転した第２の要素構造格子のグラフィックオブジェクトとを合成して、可視化に必要な球状構造格子を作る。
【００２９】
なお図６から見ると分かるように、最終的に図６の最下部に示した状態の構造格子を得ればよいとすると、軸を回転させる座標回転操作を行わずに、第２の要素構造格子の座標変換を行ってもよい。すなわち図５に示すように、第２の要素構造格子（Ｅ）の各格子点の座標値（または第２のグラフィック・オブジェクトｘｙｚ座標系）を定めるためのｘ、ｙ及びｚ軸が、それぞれ第１の要素構造格子の各格子点の座標値を定めるためのｘｙｚ座標系の−ｘ、ｚ、ｙ軸となるように、第２の要素構造格子の各格子点の座標を置換してもよい。この場合、コンピュータ・グラフィック技術による回転ではなく、数値的に座標系の変換を行う必要がある。図１の実施の形態を用いるとすると、この変換は座標変換手段３１で行うこととなり、Ｅ系回転・Ｎ系Ｅ系合成手段３３ではＥ系回転を実施しないことになる。このようにしても結果的には前述と同様に、コンピュータ・グラフィックス技術による可視化に必要な第２のグラフィック・オブジェクトを得ることができる。具体的には、第１の設定ステップと、第２の設定ステップと、座標変換ステップとを実施する。第１の設定ステップでは、ｘｙｚ座標系で第１の要素構造格子の各格子点の座標値を設定する。第２の設定ステップでは、ｘｙｚ座標系で第２の要素構造格子の各格子点の座標値を設定する。そして座標変換ステップでは、第２の要素構造格子の各格子点の座標値を定めるためのｘ、ｙ及びｚ軸が、それぞれ第１の要素構造格子の各格子点の座標値を定めるためのｘｙｚ座標系で見て−ｘ、ｚ及びｙ軸となるように、第２の要素構造格子の各格子点の座標を変換する（座標変換ステップ）。
【００３０】
図１の描画手段３４は、回転した第１のグラフィック・オブジェクト及び第２のグラフィック・オブジェクトを用いて、コンピュータ・グラフィックス技術によりディスプレイ表示手段３５のモニター上に構造格子データを可視化して表示する（可視化ステップ）。画像ファイル出力手段３６は、可視化の必要なデータを記憶装置４のハードディスク４１に保存のために出力する。
【００３１】
この後、データブロックの消去、再読み込みまたは終了操作が行われるまで、操作・制御部１と可視化機能部３の一連の処理を繰り返すことで、本プログラムは利用者との対話的なデータ可視化を実現させる。
【００３２】
本実施の形態の利用分野の例としては、非静力学大気大循環シミュレーションの結果の可視化をあげることができる。また非静力学大気大循環シミュレーションでは、地球全体の大気成分に関する複数の物理量について、コンピュータの処理能力上、あらかじめ格子点数、格子間隔を大域的には一定に固定してシミュレーションを実行する。しかし、一方で、例えば日本領域に限ってはさらに小さいスケールでより精度の高い計算を実行する等、局所的にはさまざまに空間解像度の異なるシミュレーションを行っている。本実施の形態のプログラムを用いて可視化をすると、分割されたブロック単位でデータ（分割構造格子データ）を扱い、ブロックごとに解像度を設定して可視化機能を実現させることができる。そのため、このような局所的に解像度の異なるシミュレーション結果のデータを扱うのに有効である。なお本発明の方法及びプログラムは、非静力学大気大循環シミュレーションに限らず、地球現象を対象とした多くのシミュレーションの結果を効率よく球形状に可視化、画像表示するのに有効である。
【産業上の利用可能性】
【００３３】
本発明によれば、二つの要素構造格子を組み合わせて構成される球状構造格子に対して配置された格子構造データを、コンピュータ・グラフィックス技術によって可視化することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の構造格子データの可視化方法を実施するために本発明のプログラムの一実施の形態がインストールされたコンピュータによって実現される各機能実現手段をブロックで示した本発明の実施の形態の構成の一例を示すブロック図である。
【図２】（Ａ）及び（Ｂ）は第１及び第２の要素構造格子の概念図であり、（Ｃ）及び（Ｄ）は緯度の範囲と経度の範囲を示す図であり、（Ｅ）及び（Ｆ）は第１及び第２の要素構造格子を組み合わせて構成される球状構造格子と、第１及び第２の要素構造格子の重なり領域だけを表示する図である。
【図３】操作・制御部とデータ処理部における各機能手段を実現するために用いるプログラムのアルゴリズムの一例を示すフローチャートである。
【図４】球座標系と実施に必要なパラメータを示す図である。ｒは動径、αは緯度、λは経度を表す。
【図５】回転操作（ステップ）を実施する際のＮ系とＥ系の座標軸の回転を説明するために用いる図である。
【図６】座標回転操作（ステップ）を実施する際の概念を説明するために用いる図である。
【図１】
0003972994.tif 000002
【図２】
0003972994.tif 000003
【図３】
0003972994.tif 000004
【図４】
0003972994.tif 000005
【図５】
0003972994.tif 000006
【図６】
0003972994.tif 000007