(57)【要約】【課題】２次元空間上での２次元位置の指定により３次元空間における３次元位置を容易かつ精度よく指定可能とする。【解決手段】３次元位置指定用プログラムがインストールされたコンピュータ２０では、当該プログラムが起動されると、表示画面３１上の２Ｄ座標指定領域９２に第Ｎ段階のシェルピンスキー・カーペット１００が表示させられ、シェルピンスキー・カーペット１００上で何れかの正方形領域が指定されると、奥行きが指定されなくても、単純な配置計算により指定された正方形領域に対応する１個のボクセルの２N×２N×２N個のボクセルからなるボクセル空間における位置が取得され、当該１個のボクセルのボクセル空間における位置から３次元フレームＸＹＺにおける３Ｄ座標が取得される。【選択図】図１
2010066920.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間における３次元位置を指定するための３次元位置指定装置であって、
２次元空間上で２次元位置を指定するための２次元位置指定手段と、
８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットの前記２次元位置指定手段を用いて指定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置に基づいて前記３次元空間における３次元位置を取得する演算手段と、
を備える３次元位置指定装置。
【請求項２】
請求項１の３次元位置指定装置において、
前記対応規則は、第１段階のシェルピンスキー・カーペットを構成する８個の正方形領域と１つのボリュームを構成する２×２×２個のボクセルとの対応関係を規定しており、
前記演算手段は、第ｎ段階（ただし、“ｎ”は１≦ｎ≦Ｎを満たす整数である。）のシェルピンスキー・カーペットの前記指定された２次元位置に対応する正方形領域の第ｎ−１段階のシェルピンスキー・カーペットの前記指定された２次元位置に対応する正方形領域における位置と前記対応規則とに基づいて２n×２n×２n個のボクセルからなるボクセル空間内で前記指定された２次元位置に対応するボクセルの２n-1×２n-1×２n-1個のボクセルからなるボクセル空間内で前記指定された２次元位置に対応するボクセルにおける位置を取得し、取得したｎ個のボクセルの位置に基づいて前記３次元空間における３次元位置を取得する３次元位置指定装置。
【請求項３】
請求項１または２に記載の３次元位置指定装置において、
前記変換規則は、前記第１段階のシェルピンスキー・カーペットの８個の正方形領域をこれらに対して定められた一筆書きの経路上での順番に従って２×２×２個のボクセルに対して一筆書きの経路を辿るように割り当てる規則である３次元位置指定装置。
【請求項４】
請求項１から３の何れか一項に記載の３次元位置指定装置において、
前記演算手段は、前記３次元空間に複数の３次元位置が指定されているときに、前記複数の３次元位置を通る直線または折れ線を設定可能である３次元位置指定装置。
【請求項５】
請求項１から４の何れか一項に記載の３次元位置指定装置において、
前記演算手段は、前記３次元空間に３箇所以上の３次元位置が指定されているときに、前記３箇所以上の３次元位置から定まる曲線を設定可能である３次元位置指定装置。
【請求項６】
請求項１から５の何れか一項に記載の３次元位置指定装置において、
前記演算手段は、前記３次元空間に３箇所以上の３次元位置が指定されているときに、前記３箇所以上の３次元位置から定まる平面を設定可能である３次元位置指定装置。
【請求項７】
請求項１から６の何れか一項に記載の３次元位置指定装置において、
前記演算手段は、前記３次元空間に４箇所以上の３次元位置が指定されているときに、前記４箇所以上の３次元位置から定まる曲面を設定可能である３次元位置指定装置。
【請求項８】
請求項１から７の何れか一項に記載の３次元位置指定装置において、
前記演算手段は、前記３次元空間に２箇所の３次元位置が指定されているときに、前記２箇所の３次元位置に基づく円または球を設定可能である３次元位置指定装置。
【請求項９】
請求項１から８の何れか一項に記載の３次元位置指定装置において、
表示画面上に画像を表示可能な表示手段と、
前記表示画面上に前記第Ｎ段階のシェルピンスキー・カーペットに基づく画像を表示させると共に、前記演算手段により取得された３次元位置を示す３次元座標を前記表示画面上にプロット表示させる表示制御手段と、
を更に備える３次元位置指定装置。
【請求項１０】
請求項９に記載の３次元位置指定装置において、
前記表示制御手段は、前記演算手段により取得された３次元位置を示す３次元座標を前記表示画面上にプロット表示させると共に、前記３次元位置の周囲に所定サイズのボクセルに基づく画像を表示させる３次元位置指定装置。
【請求項１１】
３次元空間における３次元位置を指定するための３次元位置指定方法であって、
（ａ）２次元空間上で指定された２次元位置を特定するステップと、
（ｂ）８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットのステップ（ａ）にて特定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置に基づいて前記３次元空間における３次元位置を取得するステップと、
を含む３次元位置指定方法。
【請求項１２】
コンピュータを３次元空間における３次元位置を指定するための装置として機能させる３次元位置指定用プログラムであって、
２次元空間上で指定された２次元位置を特定する２次元位置特定モジュールと、
８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットの前記特定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置に基づいて前記３次元空間における３次元位置を取得する演算モジュールと、
を備える３次元位置指定用プログラム。
【請求項１３】
３次元形状をボクセルの集合として表現可能なボクセルモデリング装置であって、
２次元空間上で２次元位置を指定するための２次元位置指定手段と、
８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットの前記２次元位置指定手段を用いて指定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置を取得する位置取得手段と、
前記位置取得手段により取得された位置のボクセルに基づいて３次元形状を設定する形状設定手段と、
を備えるボクセルモデリング装置。
【請求項１４】
３次元形状をボクセルの集合として表現するためのボクセルモデリング方法であって、
（ａ）２次元空間上で指定された２次元位置を特定するステップと、
（ｂ）８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットのステップ（ａ）にて特定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置を取得するステップと、
（ｃ）ステップ（ｂ）にて取得された位置のボクセルに基づいて３次元形状を設定するステップと、
を含むボクセルモデリング方法。
【請求項１５】
３次元形状をボクセルの集合として表現するための装置としてコンピュータを機能させるボクセルモデリング用プログラムであって、
２次元空間上で指定された２次元位置を特定する２次元位置特定モジュールと、
８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットの前記特定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置を取得する位置取得モジュールと、前記取得された位置のボクセルに基づいて３次元形状を設定する形状設定モジュールと、
備えるボクセルモデリング用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元空間における３次元位置を指定するための３次元位置指定装置、３次元位置指定方法および３次元位置指定用プログラム、ならびに３次元形状をボクセルの集合として表現するためのボクセルモデリング装置、ボクセルモデリング方法およびボクセルモデリング用プログラムに関する。
【背景技術】
【０００２】
コンピュータの演算性能やグラフィック性能の向上に伴い、３次元ＣＡＤ（Computer Aided Design）を用いた設計や３次元ＣＧ（Computer Graphics）等が広く普及しており、近年では、３次元表示空間における情報の表示や操作を可能とする３次元ＣＧをベースとした３次元ＧＵＩ（Graphical User Interface）等も提案されている。そして、従来から、ＤＦＤ（Depth-fused 3D）表示装置に表現された３次元空間内の所望の点をポインティングする技術として、検出面上を入力ペンのペン先で指し示したときの指示位置の２次元座標と、入力ペンのペン先にかかる圧力である筆圧もしくは指示し続けた時間または入力ペンが備える操作手段の操作とに基づいて３次元空間内の所望の点をポインティングする手法や、入力ペンの筆圧もしくは指示し続けた時間または入力ペンが備える操作手段の操作に応じて、ＤＦＤ表示装置に表現された３次元空間に表示させる３次元ポインタの奥行き方向の座標を変化させる手法が提案されている（例えば、特許文献１参照）。
【特許文献１】ＷＯ２００６／０４１０９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述のように、３次元空間における３次元座標や３次元形状を取り扱うためには、２次元空間におけるＸ軸方向およびＹ軸方向に加えてＺ軸方向（奥行方向）における絶対座標または相対座標を指定することが必要となる。しかしながら、２次元空間すなわち２次元ディスプレイ上で奥行方向の位置を正確に指定することは容易ではない。また、３次元空間における３次元座標等の取り扱いに際して、ＤＦＤ表示装置といった３次元ディスプレイや特殊な入力装置を用いるのは、コスト面で問題がある。
【０００４】
そこで、本発明は、２次元空間上での２次元位置の指定により３次元空間における３次元位置を容易かつ精度よく指定可能とすることを目的の一つとする。また、本発明は、２次元空間上での２次元位置の指定により３次元形状を容易に表現可能とすることを目的の一つとする。
【課題を解決するための手段】
【０００５】
本発明による３次元位置指定装置、３次元位置指定方法および３次元位置指定用プログラム、ならびにボクセルモデリング装置、ボクセルモデリング方法およびボクセルモデリング用プログラムは、上述の目的を達成するために以下の手段を採っている。
【０００６】
本発明による３次元位置指定装置は、
３次元空間における３次元位置を指定するための３次元位置指定装置であって、
２次元空間上で２次元位置を指定するための２次元位置指定手段と、
８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットの前記２次元位置指定手段を用いて指定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置に基づいて前記３次元空間における３次元位置を取得する演算手段と、
を備えるものである。
【０００７】
本発明者らは、３次元空間における３次元位置を容易かつ精度よく指定可能とするために鋭意研究を行い、その結果、フラクタルの一つであるシェルピンスキー・カーペットと、複数のボクセルの集合であるボクセル空間とに着目するに至った。シェルピンスキー・カーペットは、１つの正方形領域を９等分すると共に中央の正方形領域をブランク領域として８個の正方形領域の配列を発生させる処理（フラクタル展開）をブランク領域である正方形領域を除いた正方形領域について順次適用することにより得られる自己相似性をもったフラクタルである。すなわち、イニシエータである１個（８0個）の正方形領域に対して上記フラクタル展開（第１段階のフラクタル展開）が施されると１個のブランク領域と８個（８1個）の正方形領域の配列とが発生し、ブランク領域を除く８個の正方形領域それぞれに対して上記フラクタル展開（第２段階のフラクタル展開）が施されると６４個（８2個）の正方形領域の配列（および新たな８1個のブランク領域）が発生し、更に、ブランク領域を除く６４個の正方形領域それぞれに対して上記フラクタル展開（第３段階のフラクタル展開）が施されると５１２個（８3個）の正方形領域の配列（および新たな８2個のブランク領域）が発生することになる。つまり、１つの正方形領域を９等分すると共に中央の正方形領域をブランク領域として８個の正方形領域の配列を発生させるフラクタル展開がＮ回実行されると、自己相似性をもった８N個の正方形領域の配列とΣ８n-1個（１≦ｎ≦Ｎ）のブランク領域とを有するシェルピンスキー・カーペットが得られることになる。本明細書では、このように８N個の正方形領域の配列とΣ８n-1個（１≦ｎ≦Ｎ）のブランク領域とを有するシェルピンスキー・カーペットを「第Ｎ段階のシェルピンスキー・カーペット」という。また、イニシエータである１個（８0個）の正方形領域を「第０段階のシェルピンスキー・カーペット」という。一方、ボクセル空間について考察すると、理論上の最小単位である１個（２0×２0×２0＝８0個）のボクセルを３次元に分割すればボクセルの総数は２1×２1×２1＝８1個となり、これら８個のボクセルのそれぞれを３次元に分割すればボクセルの総数は２2×２2×２2＝８2個となり、更に、これら６４個のボクセルのそれぞれを３次元に分割すればボクセルの総数は２3×２3×２3＝８3個となる。つまり、ボクセルの３次元における分割（高解像度化）をＮ回実行すれば、ボリュームデータにおけるボクセルの総数は２N×２N×２N個＝８N個となり、これは、第Ｎ段階のシェルピンスキー・カーペットにおける正方形領域の総数と一致する。
【０００８】
このように、本発明者らは、上記シェルピンスキー・カーペットの特性と、複数のボクセルからなるボクセル空間の特性との共通性を見出し、その共通性を利用して３次元空間における３次元位置を指定することとしている。すなわち、本発明による３次元位置指定装置は、８N個の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットの２次元空間上で指定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、正方形領域に対応付けられた１個のボクセルのボクセル空間における位置に基づいて３次元空間における３次元位置を取得するのである。これにより、２次元空間（例えば２次元座標系）において２次元位置（例えば２次元座標）を指定すれば、奥行きを指定しなくても、単純な配置計算により２次元空間において指定された２次元位置に対応する１個のボクセルのボクセル空間における位置が取得され、当該１個のボクセルのボクセル空間における位置から３次元空間（例えば３次元座標系）における３次元位置（例えば３次元座標）が取得されることになる。従って、本発明による３次元位置指定装置によれば、２次元空間上での２次元位置の指定により、演算負荷を軽減しながら３次元空間における３次元位置を容易かつ精度よく指定することが可能となる。なお、「ボクセル」は、基本的には、いわゆるボクセル値をもたない単なる立方体等であればよい。ただし、ボクセルにボクセル値が付与されてもよく、この場合には、２次元空間において２次元位置を指定することにより、当該２次元位置に対応した３次元位置にあるボクセル値にアクセスすることが可能となる。また、第Ｎ段階のシェルピンスキー・カーペットは、２次元空間に直接対応付けられてもよく、所定の変換を介して間接的に対応付けられてもよい。
【０００９】
また、前記対応規則は、第１段階のシェルピンスキー・カーペットを構成する８個の正方形領域と１つのボリュームを構成する２×２×２個のボクセルとの対応関係を規定するものであってもよく、前記演算手段は、第ｎ段階（ただし、“ｎ”は１≦ｎ≦Ｎを満たす整数である。）のシェルピンスキー・カーペットの前記指定された２次元位置に対応する正方形領域の第ｎ−１段階のシェルピンスキー・カーペットの前記指定された２次元位置に対応する正方形領域における位置と前記対応規則とに基づいて２n×２n×２n個のボクセルからなるボクセル空間内で前記指定された２次元位置に対応するボクセルの２n-1×２n-1×２n-1個のボクセルからなるボクセル空間内で前記指定された２次元位置に対応するボクセルにおける位置を取得し、取得したｎ個のボクセルの位置に基づいて前記３次元空間における３次元位置を取得するものであってもよい。このように、第１段階のシェルピンスキー・カーペットを構成する８個の正方形領域と１つのボリュームを構成する２×２×２個のボクセルとの対応関係を予め定めておけば、フラクタルであるシェルピンスキー・カーペットの自己相似性を利用した繰り返し計算を実行することで、より少ない演算負荷で高速に３次元空間における３次元位置を指定することが可能となる。
【００１０】
更に、前記対応規則は、前記第１段階のシェルピンスキー・カーペットの８個の正方形領域をこれらに対して定められた一筆書きの経路上での順番に従って２×２×２個のボクセルに対して一筆書きの経路を辿るように割り当てる規則であってもよい。これにより、第Ｎ段階のシェルピンスキー・カーペットにおける少なくとも２つの正方形領域の隣接関係をボクセル空間（３次元空間）において保持することが可能となり、２次元空間での２次元位置の近接関係を３次元空間においても比較的良好に保つことができる。
【００１１】
また、前記演算手段は、前記３次元空間に複数の３次元位置が指定されているときに、前記複数の３次元位置を通る直線または折れ線を設定可能なものであってもよい。更に、前記演算手段は、前記３次元空間に３箇所以上の３次元位置が指定されているときに、前記３箇所以上の３次元位置から定まる曲線を設定可能なものであってもよい。また、前記演算手段は、前記３次元空間に３箇所以上の３次元位置が指定されているときに、前記３箇所以上の３次元位置から定まる平面を設定可能なものであってもよい。更に、前記演算手段は、前記３次元空間に４箇所以上の３次元位置が指定されているときに、前記４箇所以上の３次元位置から定まる曲面を設定可能なものであってもよい。また、前記演算手段は、前記３次元空間に２箇所の３次元位置が指定されているときに、前記２箇所の３次元位置に基づく円または球を設定可能なものであってもよい。これにより、本発明による３次元位置指定装置を用いて様々な３次元形状を描画したり、デザインしたりすることが可能となる。
【００１２】
そして、前記３次元位置指定装置は、表示画面上に画像を表示可能な表示手段と、前記表示画面上に前記第Ｎ段階のシェルピンスキー・カーペットに基づく画像を表示させると共に、前記演算手段により取得された３次元位置を示す３次元座標を前記表示画面上にプロット表示させる表示制御手段とを備えてもよい。これにより、表示画面上の３次元座標を示す点等を参照しながら、２次元位置すなわち第Ｎ段階のシェルピンスキー・カーペットの正方形領域を指定することができるので、３次元空間における所望の３次元位置を容易に指定することが可能となる。
【００１３】
また、前記表示制御手段は、前記演算手段により取得された３次元位置を示す３次元座標を前記表示画面上にプロット表示させると共に、前記３次元位置の周囲に所定サイズのボクセルに基づく画像を表示させるものであってもよい。これにより、２次元位置指定手段を用いて指定した２次元位置に対応する３次元位置が３次元空間内のどの辺りにあるかを容易に把握可能となる。
【００１４】
本発明による３次元位置指定方法は、
３次元空間における３次元位置を指定するための３次元位置指定方法であって、
（ａ）２次元空間上で指定された２次元位置を特定するステップと、
（ｂ）８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットのステップ（ａ）にて特定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置に基づいて前記３次元空間における３次元位置を取得するステップと、
を含むものである。
【００１５】
この方法では、２次元空間において２次元位置が指定されると、奥行きが指定されなくても、単純な配置計算により２次元空間において指定された２次元位置に対応する１個のボクセルのボクセル空間における位置が取得され、当該１個のボクセルのボクセル空間における位置から３次元空間における３次元位置が取得される。従って、この方法によれば、２次元空間上での２次元位置の指定により、演算負荷を軽減しながら３次元空間における３次元位置を容易かつ精度よく指定することが可能となる。
【００１６】
本発明による３次元位置指定用プログラムは、
コンピュータを３次元空間における３次元位置を指定するための装置として機能させる３次元位置指定用プログラムであって、
２次元空間上で指定された２次元位置を特定する２次元位置特定モジュールと、
８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットの前記特定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置に基づいて前記３次元空間における３次元位置を取得する演算モジュールと、
を備えるものである。
【００１７】
このプログラムがインストールされたコンピュータでは、２次元空間において２次元位置（例えばｘｙ座標）を指定すれば、奥行きを指定しなくても、単純な配置計算により２次元空間において指定された２次元位置に対応する１個のボクセルのボクセル空間における位置が取得され、当該１個のボクセルのボクセル空間における位置から３次元空間における３次元位置が取得される。従って、このプログラムによれば、２次元空間上での２次元位置の指定により、演算負荷を軽減しながら３次元空間における３次元位置を容易かつ精度よく指定することが可能となる。
【００１８】
本発明によるボクセルモデリング装置は、
３次元形状をボクセルの集合として表現可能なボクセルモデリング装置であって、
２次元空間上で２次元位置を指定するための２次元位置指定手段と、
８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットの前記２次元位置指定手段を用いて指定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置を取得する位置取得手段と、
前記位置取得手段により取得された位置のボクセルに基づいて３次元形状を設定する形状設定手段と、
を備えるものである。
【００１９】
このボクセルモデリング装置では、２次元空間において２次元位置を指定すると、単純な配置計算により２次元空間において指定された２次元位置に対応する１個のボクセルのボクセル空間における位置が取得されると共に、取得された位置のボクセルをボクセル空間から消去したり、取得された位置のボクセルを３次元空間に配列したりすることにより３次元形状が設定される。従って、このボクセルモデリング装置によれば、２次元空間上での２次元位置の指定により３次元形状を容易に表現することが可能となる。
【００２０】
本発明によるボクセルモデリング方法は、
３次元形状をボクセルの集合として表現するためのボクセルモデリング方法であって、
（ａ）２次元空間上で指定された２次元位置を特定するステップと、
（ｂ）８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットのステップ（ａ）にて特定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置を取得するステップと、
（ｃ）ステップ（ｂ）にて取得された位置のボクセルに基づいて３次元形状を設定するステップと、
を含むものである。
【００２１】
この方法では、２次元空間において２次元位置が指定されると、単純な配置計算により２次元空間において指定された２次元位置に対応する１個のボクセルのボクセル空間における位置が取得されると共に、取得された位置のボクセルをボクセル空間から消去したり、取得された位置のボクセルを３次元空間に配列したりすることにより３次元形状が設定される。従って、この方法によれば、２次元空間上での２次元位置の指定により３次元形状を容易に表現することが可能となる。
【００２２】
本発明によるボクセルモデリング用プログラムは、
３次元形状をボクセルの集合として表現するための装置としてコンピュータを機能させるボクセルモデリング用プログラムであって、
２次元空間上で指定された２次元位置を特定する２次元位置特定モジュールと、
８N個（ただし“Ｎ”は値１以上の整数である。）の正方形領域の配列を有する第Ｎ段階のシェルピンスキー・カーペットの前記２次元位置指定手段を用いて指定された２次元位置に対応する正方形領域を所定の対応規則に従ってボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすると共に、前記正方形領域に対応付けられた前記１個のボクセルの前記ボクセル空間における位置を取得する位置取得モジュールと、  前記位置取得モジュールにより取得された位置のボクセルに基づいて３次元形状を設定する形状設定モジュールと、
備えるものである。
【００２３】
このプログラムがインストールされたコンピュータでは、２次元空間において２次元位置が指定すると、単純な配置計算により２次元空間において指定された２次元位置に対応する１個のボクセルのボクセル空間における位置が取得されると共に、取得された位置のボクセルをボクセル空間から消去したり、取得された位置のボクセルを３次元空間に配列したりすることにより３次元形状が設定される。従って、このプログラムによれば、２次元空間上での２次元位置の指定により３次元形状を容易に表現することが可能となる。
【発明を実施するための最良の形態】
【００２４】
次に、実施例を参照しながら本発明を実施するための最良の形態について説明する。
【実施例】
【００２５】
図１は、本発明の実施例に係る３次元位置指定装置としてのコンピュータ２０の概略構成図である。同図に示すように、実施例のコンピュータ２０は、図示しないＣＰＵ，ＲＯＭ，ＲＡＭ、グラフィックプロセッサ（ＧＰＵ）、グラフィックメモリ（ＶＲＡＭ）、システムバス、各種インターフェース、ハードディスクドライブやフラッシュメモリドライブ（ＳＳＤ）といった外部記憶装置等を含む汎用のコンピュータとして構成されており、一般的な２次元ディスプレイである液晶ディスプレイといった表示装置３０や入力装置としてのキーボード４０やマウス５０等と接続されて使用される。そして、このコンピュータ２０には、表示装置３０の表示画面３１に現された２次元空間（２次元座標系）における２次元位置（２次元座標）を指定して３次元空間（３次元座標系）における３次元位置（３次元座標）を指定可能とする３次元位置指定用プログラムがインストールされている。なお、以下の説明において、適宜「２次元」を「２Ｄ」といい、「３次元」を「３Ｄ」という。
【００２６】
コンピュータ２０において３次元位置指定用プログラムが起動されると、表示装置３０の表示画面３１には、図１および図２に示すようにウィンドウ９０が表示される。ウィンドウ９０は、２Ｄ座標指定領域９２と３Ｄ画像表示領域９３とを含む。２次元空間としての２Ｄ座標指定領域９２には、１つの正方形領域を９等分すると共に中央の正方形領域をブランク領域として８個の正方形領域の配列を生成するフラクタル展開をＮ回（ただし、“Ｎ”は、値１以上の整数であり、実施例では例えばＮ＝５である。）適用することにより得られるフラクタルである第Ｎ段階のシェルピンスキー・カーペット１００が表示される。また、３Ｄ画像表示領域９３には、３次元空間を示す立方体状の３次元フレームＸＹＺが表示される。
【００２７】
コンピュータ２０のユーザがマウス５０あるいはキーボード４０を用いて２Ｄ座標指定領域９２に表示されたシェルピンスキー・カーペット１００上の正方形領域（図中、黒く塗りつぶされていない領域）にカーソルを置くと、３Ｄ画像表示領域９３の３次元フレームＸＹＺ内にカーソル位置に対応した３次元座標を示す点Ｐが表示されると共に、当該３次元座標を示す点Ｐの周囲に立方体状のフレームＦが表示される。また、ユーザがシェルピンスキー・カーペット１００上でカーソルを移動させると、点ＰとフレームＦとが３次元フレームＸＹＺ内でカーソルの位置に応じて移動するように表示される。そして、シェルピンスキー・カーペット１００上の正方形領域にカーソルを置いた状態でユーザが例えばマウス５０のクリックといった２Ｄ位置の確定処理を行うと、シェルピンスキー・カーペット１００上のカーソル位置に対応した箇所（図２において矢印で示す箇所参照）に点がプロット表示されると共に、３次元フレームＸＹＺ内にカーソル位置に対応した３次元座標を示す点（以下、「確定点」という。）Ｐｃが固定表示され、フレームＦが消去される。なお、３次元フレームＸＹＺや確定点Ｐｃ等は、ユーザの操作により３Ｄ画像表示領域９３内で移動可能とされる。
【００２８】
また、ウィンドウ９０には、“LINE”，“CURVE”，“PLANE”，“CURVED SURFACE”，“CIRCLE”，“SPHERE”，“delete”，“copy”，“tool”，“save”といったボタン９５が配置されている。“LINE”ボタンは、３次元フレームＸＹＺ内に存在する複数の確定点Ｐｃを通る直線あるいは折れ線の設定を指示するためのものである。“CURVE”ボタンは、３次元フレームＸＹＺ内に存在する３点以上の確定点Ｐｃから定まる曲線の設定を指示するためのものである。“PLANE”ボタンは、３次元フレームＸＹＺ内に存在する３点以上の確定点Ｐｃから定まる平面の設定を指示するためのものである。“CURVED SURFACE”ボタンは、３次元フレームＸＹＺ内に存在する４点以上の確定点Ｐｃから定まる曲面の設定を指示するためのものである。“CIRCLE”ボタンは、３次元フレームＸＹＺ内に存在する２点の確定点Ｐｃの一方を中心とすると共に他方を円周上の１点とする円（平面）の設定を指示するためのものである。“SPHERE”ボタンは、３次元フレームＸＹＺ内に存在する２点の確定点Ｐｃの一方を中心とすると共に他方を球面上の１点とする球面の設定を指示するためのものである。“delete”ボタンは、３次元フレームＸＹＺ内に存在する確定点Ｐｃや線、面等の消去を指示するためのものである。“copy”ボタンは、３次元フレームＸＹＺ内に存在する線や面等といった図形のコピーを指示するためのものである。“tool”ボタンは、予め用意されたオプション（例えば後述するベクトル場の設定等）の実行を指示可能とするものである。“save”ボタンは、３次元フレームＸＹＺ内に表示された３次元形状の保存を指示するためのものである。
【００２９】
そして、３次元位置指定用プログラムが起動されている際、コンピュータ２０には、図１に示すように、ＣＰＵやＲＯＭ，ＲＡＭ，ＧＰＵ、各種インターフェース、外部記憶装置といったハードウエアと、インストールされた３次元位置指定用プログラムとの一方または双方の協働により入力受付部２１や情報記憶部（ＲＡＭおよび外部記憶装置）２２、モデリング部２３、表示制御部２４等が機能ブロックとして構築される。入力受付部２１は、ユーザにより指定された２Ｄ位置すなわち２Ｄ座標指定領域９２におけるカーソル位置（表示画面３１に設定された２次元絶対座標系におけるピクセル単位のｘｙ座標）といったマウス５０やキーボード４０からの情報の入力を受け付け、受け付けた情報を情報記憶部（ＲＡＭ）２２に格納する。モデリング部２３は、ユーザにより指定された２Ｄ座標指定領域９２におけるカーソル位置に基づいて当該カーソル位置に対応した３次元フレームＸＹＺにおける３Ｄ座標を算出したり、上述のウィンドウ９０上のボタン９５の操作に応じて線や面等を設定したりする。表示制御部２４は、２Ｄ座標指定領域９２や３Ｄ画像表示領域９３におけるユーザの操作に応じた画像表示処理（レンダリングを含む）を実行する。
【００３０】
次に、３次元位置指定用プログラムがインストールされたコンピュータ２０を用いて３次元空間としての３次元フレームＸＹＺ内に点Ｐを表示させたり、確定点Ｐｃを設定したりする手順について説明する。図３は、実施例のコンピュータ２０において実行される３Ｄ座標設定ルーチンの一例を示すフローチャートである。この３Ｄ座標設定ルーチンは、３次元位置指定用プログラムが起動され、例えば２Ｄ座標指定領域９２に表示されたシェルピンスキー・カーペット１００上の正方形領域にカーソルが置かれると、コンピュータ２０のモデリング部２３により繰り返し実行される。
【００３１】
図３の３Ｄ座標設定ルーチンの開始に際して、モデリング部２３は、ユーザにより指定された２Ｄ座標指定領域９２におけるカーソル位置（表示画面３１におけるピクセル単位のｘｙ座標）を座標変換することにより２Ｄ座標指定領域９２に設定されている２次元絶対座標系における２Ｄ座標（ｘ，ｙ）を取得する（ステップＳ１００）。ステップＳ１００の処理の後、モデリング部２３は、所定の座標（ｘ（ｎ），ｙ（ｎ））、座標（ｘ″（ｎ），ｙ″（ｎ））および座標（Ｘ′（ｎ），Ｙ′（ｎ），Ｚ′（ｎ））をそれぞれ次式（１）〜（３）に従って初期化する（ステップＳ１１０）。ただし、“ｎ”は制御用の変数である。そして、モデリング部２３は、予め定められた対応規則に基づくテーブルを用いて２Ｄ座標（ｘ，ｙ）を３次元フレームＸＹＺにおける３Ｄ座標（Ｘ，Ｙ，Ｚ）に変換する座標変換処理を実行する（ステップＳ１２０）。
【００３２】
(x(0), y(0)) = (x, y)  …（１）
(x″(0),  y″(0)) = (0, 0)  …（２）
(X′(0), Y′(0), Z′(0))=(0, 0, 0)  …（３）
【００３３】
ステップＳ１２０の座標変換処理に用いられる対応規則は、第１段階のシェルピンスキー・カーペットを構成する８個の正方形領域と１つのボリュームを構成する２×２×２＝８個のボクセルとの対応関係を規定するものである。すなわち、実施例では、図４に示すように、第１段階のシェルピンスキー・カーペットを構成する８個の正方形領域に対して、所定の基点（例えば、図中左下の頂点）からＸ方向→Ｙ方向→−Ｘ方向→−Ｙ方向に進行する２次元の一筆書きの経路（周回経路）が予め定められると共に、２×２×２個のボクセルに対して、所定の基点（例えば、図中左手前下側の頂点）からｘ方向→ｚ方向→−ｘ方向→ｙ方向→ｘ方向→−ｚ方向→−ｘ方向→−ｙ方向に進行する３次元の一筆書き経路が予め定められており、対応規則は、第１段階のシェルピンスキー・カーペットの８個の正方形領域を当該２次元の一筆書きの経路上での順番に従って２×２×２個のボクセルに対して当該３次元の一筆書きの経路を辿るように割り当てるものとされている。そして、実施例では、かかる対応規則を座標変換処理に適用すべく、図５に示すテーブルが用意されている。このテーブルでは、第１段階のシェルピンスキー・カーペットを構成する８個の正方形領域の２Ｄ位置として各正方形領域の図５における左下側の頂点（以下、正方形領域の「原点」という。）に（０，０）、（１，０）、（２，０）、（２，１）、（２，２）、（１，２）、（０，２）、（０，１）という２次元の相対座標が付与されると共に、２×２×２＝８個のボクセルの３Ｄ位置として各ボクセルの図５における左手前下側の頂点（以下、ボクセルの「原点」という）に（０，０，０）、（１，０，０）、（１，０，１）、（０，０，１）、（０，１，１）、（１，１，１）、（１，１，０）、（０，１，０）という３次元の相対座標が付与されており、シェルピンスキー・カーペットの正方形領域の２Ｄ位置（相対座標）と８個のボクセルの３Ｄ位置（相対座標）とが図５に示すように対応付けられている。
【００３４】
図５に示すテーブルを用いることにより、図６および図７に示すようにして２Ｄ座標（ｘ，ｙ）に対応した第Ｎ段階のシェルピンスキー・カーペットの正方形領域をボクセル空間を構成する２N×２N×２N個のボクセルの何れか１個に対応付けすることができる。なお、以下の説明において、値Ｎを適宜シェルピンスキー・カーペットやボクセル空間の「解像度」という。また、図６および図７は、２Ｄ座標指定領域９２に表示されたシェルピンスキー・カーペット１００の解像度Ｎが値３である場合を例示するものであり、カーソルは図６に示す位置にあるものとする。この場合、２Ｄ座標指定領域９２に第１段階のシェルピンスキー・カーペットが表示されていると仮定すれば、図６からわかるように、２Ｄ座標（ｘ，ｙ）は図４に示す対応規則より第１段階のシェルピンスキー・カーペットにおける６番目の正方形領域に含まれていることになる。従って、当該６番目の正方形領域の原点Ｏ1のイニシエータである１個（８0個）の正方形領域（第０段階のシェルピンスキー・カーペット）における相対座標（原点Ｏ0を（０，０）とする）を求めれば、図５のテーブルを用いて、２1×２1×２1個＝８個のボクセルからなるボクセル空間（解像度Ｎ＝１のボクセル空間）内で２Ｄ座標（ｘ，ｙ）に対応するボクセルの２0×２0×２0＝１個のボクセルからなるボクセル空間内で２Ｄ座標（ｘ，ｙ）に対応するボクセルにおける相対座標を得ることができる（図７（ａ）参照）。
【００３５】
更に、２Ｄ座標指定領域９２に第２段階のシェルピンスキー・カーペットが表示されていると仮定すれば、図６からわかるように、２Ｄ座標（ｘ，ｙ）は図４に示す対応規則より上記第１段階のシェルピンスキー・カーペットにおける上記６番目の正方形領域を構成する８個の正方形領域のうち、７番目の正方形領域に含まれることになる。従って、当該７番目の正方形領域の原点Ｏ2の上記第１段階のシェルピンスキー・カーペットの上記６番目の正方形領域における相対座標（原点Ｏ1を（０，０）とする）を求めれば、図５のテーブルを用いて、２2×２2×２2個＝６４個のボクセルからなるボクセル空間（解像度Ｎ＝２のボクセル空間）内で２Ｄ座標（ｘ，ｙ）に対応する解像度Ｎ＝１のボクセル空間内で２Ｄ座標（ｘ，ｙ）に対応するボクセルにおける相対座標を得ることができる（図７（ｂ）参照）。
【００３６】
以下、同様にして、第ｎ段階のシェルピンスキー・カーペットの２Ｄ座標（ｘ，ｙ）に対応した正方形領域の第ｎ−１段階のシェルピンスキー・カーペットの２Ｄ座標（ｘ，ｙ）に対応した正方形領域における相対座標（位置）を求めれば、この正方形領域の相対座標を図５のテーブルを用いて解像度Ｎ＝ｎのボクセル空間内で２Ｄ座標（ｘ，ｙ）に対応するボクセルの解像度Ｎ＝ｎ−１のボクセル空間内で２Ｄ座標（ｘ，ｙ）に対応するボクセルにおける相対座標へと変換することができる（図７（ｃ）参照）。そして、３次元空間としての３次元フレームＸＹＺに解像度Ｎのボクセル空間が対応付けられており、３次元フレームＸＹＺが２N×２N×２N個のボクセルに分割されているとすれば、上述の各段階におけるボクセルの相対座標を加算することにより、２Ｄ座標（ｘ，ｙ）に対応した３次元フレームＸＹＺにおける３Ｄ座標（Ｘ，Ｙ，Ｚ）を得ることができる。
【００３７】
図８は、上述の手順により２Ｄ座標（ｘ，ｙ）を３次元フレームＸＹＺにおける３Ｄ座標（Ｘ，Ｙ，Ｚ）に変換するステップＳ１２０における座標変換処理の一例を示すフローチャートである。図８に示すように、座標変換処理の開始に際して、モデリング部２３は、変数ｎを値１に設定した上で（ステップＳ１２００）、座標（ｘ（ｎ），ｙ（ｎ））を次式（４）および（５）に従って設定する（ステップＳ１２１０）。ただし、式（４）および（５）において“ｓ”は、２Ｄ座標指定領域９２に表示されたシェルピンスキー・カーペット１００の一辺の長さ（画素数）を示す（図２参照）。次いで、設定した座標（ｘ（ｎ），ｙ（ｎ））を用いて次式（６）および（７）から値ｘ′（ｎ）およびｙ′（ｎ）を計算し（ステップＳ１２２０）、値ｘ′（ｎ）およびｙ′（ｎ）の小数点以下をそれぞれ切り捨てることにより座標（ｘ″（ｎ），ｙ″（ｎ））を設定する（ステップＳ１２３０）。ここで、座標（ｘ（ｎ），ｙ（ｎ））は、第ｎ段階のシェルピンスキー・カーペットの２Ｄ座標（ｘ，ｙ）に対応した正方形領域の原点Ｏnに対する２Ｄ座標（ｘ，ｙ）に対応した点の絶対座標である。また、ステップＳ１２１０およびＳ１２２０の処理を経て得られる座標（ｘ″（ｎ），ｙ″（ｎ））は、第ｎ段階のシェルピンスキー・カーペットの２Ｄ座標（ｘ，ｙ）に対応した正方形領域の原点Ｏnの第ｎ−１段階のシェルピンスキー・カーペットの２Ｄ座標（ｘ，ｙ）に対応した正方形領域における相対座標を示す。
【００３８】
x(n)= x(n-1)-3n-1/s・x″(n-1)  …（４）
y(n)= y(n-1)-3n-1/s・y″(n-1)  …（５）
x′(n)= 3n/s・x(n)  …（６）
y′(n)= 3n/s・y(n)  …（７）
【００３９】
ステップＳ１２３０の処理により、座標（ｘ″（ｎ），ｙ″（ｎ））が図５のテーブルにおける２次元の相対座標の何れかとして得られるので、当該テーブルを用いて座標（ｘ″（ｎ），ｙ″（ｎ））に対応する３次元の相対座標（Ｘ″（ｎ），Ｙ″（ｎ），Ｚ″（ｎ））すなわち解像度ｎのボクセル空間内で２Ｄ座標（ｘ，ｙ）に対応するボクセルの解像度ｎ−１のボクセル空間内で２Ｄ座標（ｘ，ｙ）に対応するボクセルにおける相対座標を導出することができる（ステップＳ１２４０）。こうして座標（Ｘ″（ｎ），Ｙ″（ｎ），Ｚ″（ｎ））を求めたならば、次式（８）〜（１０）に従って２n×２n×２n個のボクセルからなるボクセル空間内で２Ｄ座標（ｘ，ｙ）に対応するボクセルの原点の座標（Ｘ′，Ｙ′，Ｚ′）を導出する（ステップＳ１２５０）。ステップＳ１２５０の処理の後、変数ｎが値Ｎ（シェルピンスキー・カーペット１００の解像度）に一致したか否かを判定し（ステップＳ１２６０）、変数ｎが値Ｎ未満であれば、当該変数ｎをインクリメントして（ステップＳ１２７０）、再度ステップＳ１２１０〜Ｓ１２５０の処理を実行する。そして、ステップＳ１２６０にて変数ｎが値Ｎに一致した段階で、座標（Ｘ′，Ｙ′，Ｚ′）に基づいて２Ｄ座標（ｘ，ｙ）に対応した３Ｄ座標（Ｘ，Ｙ，Ｚ）を設定すると共に情報記憶部２２（ＲＡＭ）に格納する（ステップＳ１２８０）。実施例のステップＳ１２８０では、座標（Ｘ′，Ｙ′，Ｚ′）から次式（１１）〜（１３）に従って得られる２N×２N×２N個のボクセルからなるボクセル空間内で２Ｄ座標（ｘ，ｙ）に対応するボクセルの中心の座標を３Ｄ座標（Ｘ，Ｙ，Ｚ）として設定する。ただし、式（１１）〜（１３）において、“Ｓ”は、３Ｄ画像表示領域９３に表示された３次元フレームＸＹＺの一辺の長さ（画素数）を示す（図２参照）。
【００４０】
X′= X′+ 2N-n・X(n)  …（８）
Y′= Y′+ 2N-n・Y(n)  …（９）
Z′= Z′+ 2N-n・Z(n)  …（１０）
X = X′+ S/2N+1  …（１１）
Y = Y′+ S/2N+1  …（１２）
Z = Z′+ S/2N+1  …（１３）
【００４１】
上述のようにして３Ｄ座標（Ｘ，Ｙ，Ｚ）を設定すると、モデリング部２３は、３Ｄ座標（Ｘ，Ｙ，Ｚ）を中心とした所定サイズの立方体状のフレームＦ（８つの頂点および頂点同士を結ぶ１２本の直線）を設定すると共に設定した情報を情報記憶部２２（ＲＡＭ）に格納し（ステップＳ１３０）、設定した３Ｄ座標（Ｘ，Ｙ，Ｚ）に対応する点ＰとフレームＦの画像表示を表示制御部２４に指示する（ステップＳ１４０）。実施例において、ステップＳ１３０にて設定されるフレームＦのサイズは、３次元フレームＸＹＺを２m×２m×２m個（ただし、ｍ＜Ｎであり、例えばｍ＝２）のボクセルに分割したときの１個のボクセルのサイズに一致する。また、モデリング部２３からの画像表示指令を受け取った表示制御部２４は、情報記憶部２２から３Ｄ座標（Ｘ，Ｙ，Ｚ）やフレームＦ等に関する情報を読み出して、点ＰやフレームＦが３次元フレームＸＹＺや既存の確定点Ｐｃ等と共に３Ｄ画像表示領域９３に投影表示されるように画像表示処理を実行する。ステップＳ１４０の処理の後、モデリング部２３は、ユーザにより２Ｄ位置の確定処理が実行されたか否かを判定し（ステップＳ１５０）、２Ｄ位置の確定処理が実行されていない場合には、再度ステップＳ１００以降の処理を実行する。
【００４２】
また、ユーザにより２Ｄ位置の確定処理が実行されている場合、モデリング部２３は、ステップＳ１２０（Ｓ１２８０）にて設定された３Ｄ座標（Ｘ，Ｙ，Ｚ）を新たな確定点Ｐｃの座標として情報記憶部２２（ＲＡＭ）に格納した上で（ステップＳ１６０）、確定点Ｐｃ等の画像表示を表示制御部２４に指示し（ステップＳ１７０）、再度ステップＳ１００以降の処理を実行する。モデリング部２３からの画像表示指令を受け取った表示制御部２４は、情報記憶部２２から確定点Ｐｃの３Ｄ座標（Ｘ，Ｙ，Ｚ）等を読み出して、新たな確定点Ｐｃが３次元フレームＸＹＺや既存の確定点Ｐｃ等と共に３Ｄ画像表示領域９３に投影表示されるように画像表示処理を実行する。なお、確定前の点Ｐと確定点Ｐｃとは、識別性を考慮して色や形などを変えて３Ｄ画像表示領域９３に表示されてもよい。
【００４３】
続いて、図９を参照しながら、３次元位置指定用プログラムがインストールされたコンピュータ２０を用いて３次元空間としての３次元フレームＸＹＺ内に線や面等を設定する手順について説明する。図９は、実施例のコンピュータ２０において実行される３Ｄ描画ルーチンの一例を示すフローチャートである。かかる３Ｄ描画ルーチンは、３次元位置指定用プログラムが起動された状態で、ウィンドウ９０上の“LINE”，“CURVE”，“PLANE”，“CURVED SURFACE”，“CIRCLE”および“SPHERE”といったボタン９５の何れかクリックされると、コンピュータ２０のモデリング部２３により実行される。
【００４４】
図９の３Ｄ描画ルーチンの開始に際して、モデリング部２３は、ユーザによりクリックされたボタン９５が“LINE”，“CURVE”，“PLANE”，“CURVED SURFACE”，“CIRCLE”および“SPHERE”の何れかであるかを調べることにより、ユーザによりクリックされたボタン９５に対応した描画対象を特定する（ステップＳ２００）。次いで、情報記憶部２２からすべての確定点Ｐｃの３Ｄ座標（Ｘ，Ｙ，Ｚ）を読み出し（ステップＳ２１０）、ユーザにより指定された描画対象を描画可能であるか否かを判定する（ステップＳ２２０）。ステップＳ２２０では、基本的に、描画対象ごとに定められている確定点Ｐｃの最小数と既存の確定点Ｐｃの数とを比較することにより描画対象を描画可能であるか否かが判定される。そして、例えば確定点Ｐｃが２個しか存在していないにも拘わらず曲面の描画が指定されたような場合には、ステップＳ２２０にて否定判断がなされ、モデリング部２３は、例えば「３Ｄ位置を指定してください。」といった“ERROR”メッセージを表示画面３１上に現すように表示制御部２４に指示する（ステップＳ２５０）。
【００４５】
一方、ステップＳ２２０にてユーザにより指定された描画対象を描画可能であると判断すると、モデリング部２３は、確定点Ｐｃの３Ｄ座標（Ｘ，Ｙ，Ｚ）に基づいてユーザにより指定された直線、折れ線、曲線、平面、曲面、円および球の何れかを設定し、設定した情報を情報記憶部２２に格納する（ステップＳ２３０）。そして、モデリング部２３は、設定した線や面の画像表示を表示制御部２４に指示し（ステップＳ２４０）、本ルーチンを終了させる。モデリング部２３からの画像表示指令を受け取った表示制御部２４は、設定された線や面が３次元フレームＸＹＺや既存の確定点Ｐｃ等と共に３Ｄ画像表示領域９３に投影表示されるように画像表示処理を実行する。
【００４６】
なお、ステップＳ２４０の処理に関して、確定点Ｐｃが２個存在するときに、２個の確定点Ｐｃをそれぞれ（Ｘ0，Ｙ0，Ｚ0），（Ｘ1，Ｙ1，Ｚ1）と表せば、これら２個の確定点Ｐｃを通る直線を次式（１４）のように定義することができる。また、３個以上の確定点Ｐｃから定まる曲線としては、ベジェ曲線やＮＵＲＢＳ曲線といったパラメトリック等を利用することができる。ここで、Ｎ個の確定点Ｐｃが存在しているときに、パラメータをｔとし、曲線の次数をｎとすれば、ベジェ曲線上の３Ｄ座標Ｐ（ｔ）を次式（１５）のように定義することができる。また、Ｎ個の確定点Ｐｃが存在しているときに、ｆi,k（ｔ）をＢスプライン基底関数とし、ｗiを重みとし、曲線の次数をｎとすれば、ＮＵＲＢＳ曲線上の３Ｄ座標Ｐ（ｔ）を次式（１６）のように定義することができる。更に、確定点Ｐｃが３個存在するときに、３個の確定点Ｐｃの何れかを（Ｘ0，Ｙ0，Ｚ0）とし、当該３個の確定点Ｐｃから定まる法線ベクトルを（ａ，ｂ，ｃ）とすれば、当該３個の確定点Ｐｃから定める平面を次式（１７）のように定義することができる。また、４個以上の確定点Ｐｃから定まる曲面としては、次式（１８）により定義されるベジェ曲面や次式（１９）により定義されるＮＵＲＢＳ曲面といったパラメトリック曲面等を利用することができる（ただし、式（１８）および（１９）において“ｕ”、“ｖ”はパラメータである。）。
【数１】
2010066920.tif 000003
【数２】
2010066920.tif 000004
【００４７】
以上説明したように、実施例の３次元位置指定用プログラムがインストールされたコンピュータ２０は、表示画面３１上に画像を表示可能な表示装置３０と接続され、３次元位置指定用プログラムが起動されると、表示制御部２４により表示画面３１上の２次元空間としての２Ｄ座標指定領域９２に第Ｎ段階のシェルピンスキー・カーペット１００が表示させられる。こうして２Ｄ座標指定領域９２に表示された第Ｎ段階のシェルピンスキー・カーペット１００上で２Ｄ位置（ピクセル単位のｘｙ座標）すなわち何れかの正方形領域が指定されると、奥行きが指定されなくても、単純な配置計算によりシェルピンスキー・カーペット１００上で指定された２Ｄ位置（２Ｄ座標（ｘ，ｙ））に対応する１個のボクセルの解像度Ｎのボクセル空間における位置が取得される。そして、当該１個のボクセルのボクセル空間における位置から３次元空間としての３次元フレームＸＹＺにおける３次元位置である３Ｄ座標（Ｘ，Ｙ，Ｚ）が取得され、当該３次元座標（Ｘ，Ｙ，Ｚ）を示す点Ｐが表示画面３１上の３Ｄ画像表示領域９３にプロット表示される。
【００４８】
このように、３次元位置指定用プログラムがインストールされたコンピュータ２０を用いれば、２Ｄ座標指定領域９２での２Ｄ位置の指定により、演算負荷を軽減しながら３次元フレームＸＹＺにおける３Ｄ座標（３Ｄ位置）を容易かつ精度よく指定することが可能となる。また、コンピュータ２０では、３Ｄ画像表示領域９３にプロット表示された点Ｐを参照しながら、２Ｄ位置すなわち第Ｎ段階のシェルピンスキー・カーペット１００の正方形領域を指定することができるので、３次元フレームＸＹＺにおける所望の３Ｄ座標を容易に指定することが可能となる。更に、３Ｄ画像表示領域９３には、２Ｄ位置の確定処理が実行されるまで、３Ｄ座標に対応した点Ｐの周囲に所定サイズのボクセルに基づく立方体状のフレームＦが表示されることから、２Ｄ座標指定領域９２において指定した２Ｄ位置に対応した３Ｄ座標（点Ｐ）が３次元フレームＸＹＺ内のどの辺りにあるかを容易に把握可能となる。
【００４９】
また、実施例のコンピュータ２０に適用された対応規則は、第１段階のシェルピンスキー・カーペットを構成する８個の正方形領域と１つのボリュームを構成する２×２×２個のボクセルとの対応関係を規定するものである。これにより、第ｎ段階（１≦ｎ≦Ｎ）のシェルピンスキー・カーペットの２Ｄ座標（ｘ，ｙ）に対応する正方形領域の第ｎ−１段階のシェルピンスキー・カーペットの２Ｄ座標（ｘ，ｙ）に対応する正方形領域における相対座標（ｘ″（ｎ），ｙ″（ｎ））と上記対応規則に基づく図５のテーブルとから、解像度Ｎ＝ｎのボクセル空間内で２Ｄ座標（ｘ，ｙ）に対応するボクセルの解像度Ｎ＝ｎ−１のボクセル空間内で２Ｄ座標（ｘ，ｙ）に対応するボクセルにおける相対座標（Ｘ″（ｎ），Ｙ″（ｎ），Ｚ″（ｎ））を取得することができる。そして、取得したｎ個の相対座標（Ｘ″（ｎ），Ｙ″（ｎ），Ｚ″（ｎ））を用いれば、２Ｄ座標（ｘ，ｙ）に対応した３次元フレームＸＹＺにおける３Ｄ座標（Ｘ，Ｙ，Ｚ）を取得することが可能となる。このように、第１段階のシェルピンスキー・カーペットを構成する８個の正方形領域と１つのボリュームを構成する２×２×２個のボクセルとの対応関係を予め定めておけば、フラクタルであるシェルピンスキー・カーペットの自己相似性を利用した繰り返し計算を実行することで、より少ない演算負荷で高速に３次元フレームＸＹＺにおける３Ｄ座標（Ｘ，Ｙ，Ｚ）を指定することが可能となる。
【００５０】
ただし、シェルピンスキー・カーペットの自己相似性を利用すれば、必ずしもＮ＝５といったような比較的解像度の高いシェルピンスキー・カーペット１００を２Ｄ座標指定領域９２に表示させる必要はない。すなわち、比較的小さな解像度（例えばＮ＝１〜３程度）のシェルピンスキー・カーペット１００を２Ｄ座標指定領域９２に表示させ、２Ｄ位置すなわち正方形領域が指定されるたびに、新たなシェルピンスキー・カーペット１００を当該指定された正方形領域にフラクタル展開を施したものとして２Ｄ座標指定領域９２に表示させることにより、ユーザに３次元フレームＸＹＺにおける所望の３Ｄ座標（Ｘ，Ｙ，Ｚ）を段階的に指定させることが可能となる。また、テーブルとしては、第Ｎ段階のシェルピンスキー・カーペットの全正方形領域とボクセル空間を構成する２N×２N×２N個のボクセルとを対応付けするものを予め用意しておいてもよい。
【００５１】
更に、実施例のコンピュータ２０に適用された対応規則は、第１段階のシェルピンスキー・カーペットの８個の正方形領域をこれらに対して定められた一筆書きの経路上での順番に従って２×２×２個のボクセルに対して一筆書きの経路を辿るように割り当てる規則である。これにより、第Ｎ段階のシェルピンスキー・カーペット１００における少なくとも２つの正方形領域の隣接関係を２N×２N×２N個のボクセルからなるボクセル空間（３次元フレームＸＹＺ）において保持することが可能となるので、シェルピンスキー・カーペット１００上における正方形領域の近接関係を３次元フレームＸＹＺにおいても比較的良好に保つことができる。ただし、対応規則は、１つのボリュームを構成する２×２×２個のボクセルの３次元空間における位置と第１段階のシェルピンスキー・カーペットを構成する８個の正方形領域の２次元空間における位置との対応関係を規定するものであれば、どのような対応関係を規定するものであっても構わない。
【００５２】
また、実施例のコンピュータ２０に構築されるモデリング部２３は、３次元フレームＸＹＺ内に複数の３Ｄ座標が指定されているときに、“LINE”ボタンのクリックに応じて当該複数の３Ｄ座標を通る直線または折れ線を設定可能である。更に、モデリング部２３は、３次元フレームＸＹＺに３箇所以上の３Ｄ座標が指定されているときに、“CURVE”ボタンのクリックに応じて当該３箇所以上の３Ｄ座標から定まる曲線を設定可能である。また、モデリング部２３は、３次元フレームＸＹＺに３箇所以上の３Ｄ座標が指定されているときに、“PLANE”のクリックに応じて当該３箇所以上の３Ｄ座標から定まる平面を設定可能である。更に、モデリング部２３は、３次元フレームＸＹＺに４箇所以上の３Ｄ座標が指定されているときに、“CURVED SURFACE”ボタンのクリックに応じて当該４箇所以上の３Ｄ座標から定まる曲面を設定可能である。また、モデリング部２３は、３次元フレームＸＹＺに２箇所の３Ｄ座標が指定されているときに、“CIRCLE”ボタンまたは“SPHERE”ボタンのクリックに応じて当該２箇所の３Ｄ座標に基づく円または球を設定可能である。従って、実施例の３次元位置指定用プログラムがインストールされたコンピュータ２０を用いれば、様々な３次元形状を描画したり、デザインしたりすることが可能となる。ただし、線や面の設定手順は、図９に示す手順に限られるものではなく、ユーザによりボタン９５がクリックされた後、必要数の３Ｄ位置（シェルピンスキー・カーペット１００の正方形領域）の指定がなされてから線や面の設定が実行されてもよい。
【００５３】
なお、上記実施例において、表示装置３０は、図示しないスタイラスにより指定された表示画面３１上の絶対座標を検出可能なタブレットを含む、いわゆる液晶タブレット等として構成されてもよい。また、表示装置３０として、いわゆるデュアルモニタを用いてもよく、２台の表示装置３０の一方に２Ｄ座標指定領域９２を表示させると共に他方に３Ｄ画像表示領域９３を表示させてもよい。更に、上記実施例では、第Ｎ段階のシェルピンスキー・カーペット１００が２次元空間としての２Ｄ座標指定領域９２に直接対応付けられているが、これに限られるものではない。すなわち、第Ｎ段階のシェルピンスキー・カーペット１００は、２Ｄ座標指定領域９２と３次元フレーム９３との対応がより直感的にわかりやすいものとなるように更なる２Ｄ座標の変換処理を介して間接的に対応付けられてもよい。また、ユーザがシェルピンスキー・カーペット１００のブランク領域にカーソルを置いたときに、当該ブランク領域が所属する正方形領域に対応したボクセルに基づくフレーム（画像）を３Ｄ画像表示領域９３に表示させたり、当該ブランク領域が所属する正方形領域に関連した情報を２Ｄ座標指定領域９２や３Ｄ画像表示領域９３に表示させてもよい。
【００５４】
引き続き、本発明による３次元位置指定装置および方法ならびに３次元位置指定用プログラムの応用例や、本発明によるボクセルモデリング装置、ボクセルモデリング方法およびボクセルモデリング用プログラムについて説明する。
【００５５】
上記実施例における「ボクセル」は、基本的には、いわゆるボクセル値をもたない単なる立方体を意味しているが、３次元空間に対応付けられるボクセル空間の各ボクセルにはボクセル値が付与されてもよい。これにより、２次元空間において２次元位置を指定することにより、当該２次元位置に対応した３次元位置にあるボクセル値にアクセスすることが可能となる。このようにボクセルに対してボクセル値を付与する応用例としては、写真加工ソフトやペイントソフト等においてユーザーに任意の色の選択を許容するインターフェースであるカラーピッカーが挙げられる。すなわち、コンピュータ上で、色はＲ（赤），Ｇ（緑），Ｂ（青）の３成分によって表現され，例えば、（Ｒ，Ｇ，Ｂ）＝（０，０，０）は黒、（Ｒ，Ｇ，Ｂ）＝（２５５，０，０）は赤、（Ｒ，Ｇ，Ｂ）＝（２５５，２５５，２５５）は白、といったように各色成分の強度は２５６階調のパラメータとして表されるのが一般的である。従って、コンピュータ上では、色空間をＲＧＢ３軸からなる３次元空間とみなすことができる。
【００５６】
これを踏まえて、予め解像度Ｎ＝８（第８段階）のシェルピンスキー・カーペットの正方形領域とボクセル空間を構成する２8×２8×２8個のボクセル（それぞれＲＧＢの色情報を格納しているもの）とを対応付けたり、あるいは上述のような対応規則を用いたりすれば、解像度Ｎ＝８のシェルピンスキー・カーペットの何れかの正方形領域を指定することにより、３次元空間としての色空間においてＲＧＢの色情報を指定（取得）することが可能となる。なお、色成分を２５６階調の代わりに浮動小数を用いて表現するＨＤＲ（High Dynamic Range）フォーマットについても、本発明を用いてＲＧＢフォーマットの場合と同様のカラーピッカーを構成することができる。更に、輝度信号（Ｙ）、輝度信号と青色成分の差（Ｕ）および輝度信号と赤色成分の差（Ｖ）という３つの情報で色を表すＹＵＶフォーマットや、輝度(明るさ：Ｙ)および色相(色合い：ＣｒＣｂ)という情報で色を表すＹＣｒＣｂフォーマットについても、本発明を用いてＲＧＢフォーマットの場合と同様のカラーピッカーを構成することができる。
【００５７】
また、例えば、いわゆるネットショピングの商品指定画面等に商品情報等を３次元的に配列することが考えられる。このような場合に、予め所定解像度のシェルピンスキー・カーペットの正方形領域とボクセル空間を構成するボクセル（商品情報を格納しているもの）とを対応付けたり、あるいは上述のような対応規則を用いたりすれば、シェルピンスキー・カーペットの何れかの正方形領域を指定することにより、３次元的に配列された商品情報に（隠れて見えなくなっているものにも）容易にアクセスすることが可能となる。同様に、例えば立体倉庫や立体駐車場の管理ソフト等において、管理画面等に在庫情報や入庫状況を３次元的に配列することが考えられる。このような場合にも、予め所定解像度のシェルピンスキー・カーペットの正方形領域とボクセル空間を構成するボクセル（在庫情報や入庫情報を格納しているもの）とを対応付けたり、あるいは上述のような対応規則を用いたりすれば、シェルピンスキー・カーペットの何れかの正方形領域を指定することにより、３次元的に配列された情報に（隠れて見えなくなっているものにも）容易にアクセスすることが可能となる。
【００５８】
更に、上述のような３Ｄ座標の設定機能と直線や曲線の設定機能とを利用すれば、オブジェクト移動アニメーション用の軌跡をデザインすることも可能となり、例えば、３Ｄのキャラクターがパス（道）に沿って進行するアニメーション等を作成する際に有効なものとなるであろう。また、上述の３Ｄ座標の設定機能と曲線の設定機能とを利用して３次元空間（３次元座標系）に設定された曲線に沿ったベクトル場を計算すると共にパーティクルシステムを用いることで、流れ場のデザインと可視化とを実行することができる。
【００５９】
図１０は、本発明に係るボクセルモデリング用プログラムがインストールされたボクセルモデリング装置としてのコンピュータ２０Ａの概略構成図である。なお、以下の説明において、ここまでに説明した要素等と同一の要素等には同一の参照符号を付し、重複する説明を省略する。
【００６０】
図１０に示すように、コンピュータ２０Ａにおいてボクセルモデリング用プログラムが起動されると、表示装置３０の表示画面３１にウィンドウ９０Ａが表示される。ウィンドウ９０Ａは、２Ｄ座標指定領域９２Ａと３Ｄ画像表示領域９３Ａとを含む。２次元空間としての２Ｄ座標指定領域９２Ａには、第Ｎ段階のシェルピンスキー・カーペット１００Ａが表示され、ユーザによりシェルピンスキー・カーペット１００Ａの何れかの正方形領域が選択されると、例えば当該正方形領域が塗りつぶされたように表示される。また、３Ｄ画像表示領域９３Ａには、２Ｄ座標指定領域９２Ａに表示されたシェルピンスキー・カーペット１００Ａ上でユーザにより指定（選択）された２Ｄ位置（ピクセル単位のｘｙ座標）すなわち何れかの正方形領域に対応したボクセルに基づいてモデリング部２３Ａにより設定された３次元形状を示す３Ｄ画像３００が表示される。図１０の例において、モデリング部２３は、上述の対応規則（テーブル）を用いて、シェルピンスキー・カーペット１００上で指定された正方形領域に対応する１個のボクセルの２N×２N×２N個のボクセルからなるボクセル空間における位置を取得し、取得した位置のボクセルを消去することにより立方体を削り出すようにして３次元形状を設定する。
【００６１】
このように、解像度Ｎ（第Ｎ段階）のシェルピンスキー・カーペットとボクセル空間とを対応付けると共に、２次元空間上での２次元位置の指定により３次元空間における３次元位置の指定を可能とすれば、３次元形状をボクセルの集合として表現するボクセルモデリングをも容易に実行可能となる。また、このようにして解像度Ｎのシェルピンスキー・カーペットを用いて立体形状をモデリングした場合、必然的に値Ｎよりも小さい解像度に対応したボクセルモデルデータを得ることができる。そして、ボクセルモデリング用プログラムがインストールされたコンピュータ２０Ａによれば、各ボクセルにボクセル値を付与しておくことで、ポリゴンモデリングとは異なり、３次元形状の表面のみならず形状内部の密度といったような内部データまでモデリングすることが可能となる。なお、このようなボクセルモデリングにより得らえる３次元形状は滑らかな表面を有するものではないが、例えばマーチングキューブ法（Lorensen W.E., Cline H.E., "Marching Cubes: A High Resolution 3D Surface Construction Algorithm"等参照）といった手法を用いることで３次元形状の表面を滑らかなものに近似することができる。また、図１０の例では、シェルピンスキー・カーペット１００上で指定された正方形領域に対応するボクセルをボクセル空間から消去することにより３次元形状を設定しているが、これに限られるものではない。すなわち、シェルピンスキー・カーペット１００上で指定された正方形領域に対応するボクセルを積み上げるように、すなわち、指定された正方形領域に対応するボクセルの集合として３次元形状を設定してもよい。
【００６２】
以上、実施例を用いて本発明の実施の形態について説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において、様々な変更をなし得ることはいうまでもない。
【産業上の利用可能性】
【００６３】
本発明は、３次元空間における３次元位置の指定や３次元形状表現を必要とする情報処理分野において利用可能である。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施例に係る３次元位置指定用プログラムがインストールされた３次元位置指定装置としてのコンピュータ２０の概略構成図である。
【図２】表示装置３０の表示画面３１に表示されるウィンドウ９０の一例を示す説明図である。
【図３】実施例のコンピュータ２０において実行される３Ｄ座標設定ルーチンの一例を示すフローチャートである。
【図４】実施例における対応規則を説明するための説明図である。
【図５】第１段階のシェルピンスキー・カーペットを構成する８個の正方形領域と８個のボクセルの３Ｄ座標とを対応付けするテーブルの一例を示す説明図である。
【図６】２Ｄ座標（ｘ，ｙ）に対応した第Ｎ段階のシェルピンスキー・カーペットの正方形領域を特定する手順を示す説明図である。
【図７】ボクセル空間を構成する８N個のボクセルから２Ｄ座標（ｘ，ｙ）に対応したボクセルを特性する手順を模式的に示す説明図である。
【図８】図４のステップＳ１２０における座標変換処理の一例を示すフローチャートである。
【図９】実施例のコンピュータ２０において実行される３Ｄ描画ルーチンの一例を示すフローチャートである。
【図１０】本発明の応用例に係るボクセルモデリングプログラムがインストールされたボクセルモデリング装置としてのコンピュータ２０Ａの概略構成図である。
【符号の説明】
【００６５】
２０，２０Ａ  コンピュータ、２１  入力受付部、２２  情報記憶部、２３，２３Ａ  モデリング部、２４  表示制御部、３０  表示装置、３１  表示画面、４０  キーボード、５０  マウス、９０，９０Ａ  ウィンドウ、９２，９２Ａ  ２Ｄ座標指定領域、９３，９３Ａ  ３Ｄ画像表示領域、９５  ボタン、１００、１００Ａ  シェルピンスキー・カーペット、３００  ３Ｄ画像。
【図１】
2010066920.tif 000005
【図２】
2010066920.tif 000006
【図３】
2010066920.tif 000007
【図４】
2010066920.tif 000008
【図５】
2010066920.tif 000009
【図６】
2010066920.tif 000010
【図７】
2010066920.tif 000011
【図８】
2010066920.tif 000012
【図９】
2010066920.tif 000013
【図１０】
2010066920.tif 000014