JP2002535787A - バーチャルリアリティモデリング - Google Patents

バーチャルリアリティモデリング

Info

Publication number
JP2002535787A
JP2002535787A JP2000595310A JP2000595310A JP2002535787A JP 2002535787 A JP2002535787 A JP 2002535787A JP 2000595310 A JP2000595310 A JP 2000595310A JP 2000595310 A JP2000595310 A JP 2000595310A JP 2002535787 A JP2002535787 A JP 2002535787A
Authority
JP
Japan
Prior art keywords
coordinate system
model
bits
data structure
elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000595310A
Other languages
English (en)
Other versions
JP2002535787A5 (ja
Inventor
トムセン,マイケル
クロフ,ポール
ティムセンコ,オルガ
Original Assignee
レゴ エー/エス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by レゴ エー/エス filed Critical レゴ エー/エス
Publication of JP2002535787A publication Critical patent/JP2002535787A/ja
Publication of JP2002535787A5 publication Critical patent/JP2002535787A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes

Landscapes

  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Powder Metallurgy (AREA)
  • Holo Graphy (AREA)
  • Image Generation (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Telescopes (AREA)
  • Numerical Control (AREA)
  • Prostheses (AREA)

Abstract

(57)【要約】 コード化されて、エレメントの集合についての幾何学的形状の表現の集合から第1のエレメントセットを識別し、かつ第1の座標系中の整数座標によりエレメントの位置を表す第1のデータ構造中のビットと、コード化されて第2の座標系に対する第1の座標系の空間的変換を表す第2データ構造中のビットからなる幾何学オブジェクトのモデル。これにより、幾何学オブジェクトのモデルの非常にコンパクトな表現を生成することが可能になる。このモデルは一見非常に厳しく制約されているように見えるが、実際は非常に柔軟性がありアクセスの容易なモデルである。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、事前定義された幾何学エレメントを用いるコンピュータ支援のバー
チャルリアリティモデリングの分野に関する。
【0002】 (発明の背景) コンピュータ支援のバーチャルリアリティモデリングは、幾何学オブジェクト
のモデルを作成し、そのモデルを解釈し、そのモデルを操作し、その他の点でコ
ンピュータシステムにおいて幾何学オブジェクトのモデルを扱うタスクである。
【0003】 第1の観点から見ると、バーチャルリアリティのモデリングは、現実世界で実
際に実施される前にアイディアを視覚化することができるという点において興味
の持たれる主題である。バーチャルリアリティモデルの修正が十分に容易であれ
ば、同一のプロセスを現実世界で実行する状況と比較して、幾何学オブジェクト
を作り出し精密化するプロセスでかなりの時間を節減することができる。現実世
界で物体を描くという単純な作業には数時間が容易にかかりうるのに対し、コン
ピュータはモデルを視覚化するために数ミリ秒あるいは数秒で新しい色をつける
ことができる。
【0004】 第2の観点から見ると、バーチャルリアリティモデリングは現実世界に存在す
るオブジェクトのモデルを作成し、コンピュータを介してそれを視覚化し、例え
ばある意味でそれを操作することが可能であるという点において興味が持たれる
。したがって現実世界の物体のモデルを、例えば高度の文書化の目的など異なる
目的のために記憶することができる。
【0005】 コンピュータ支援バーチャルリアリティモデリングには多くの可能な応用例が
存在するが、特殊性のある応用例はバーチャルリアリティモデリングをエンター
テイメントまたは教育のために使用するものである。現実世界では、電子計算機
が開発される以前から多様なタイプのモデリング概念が知られている。特に、モ
ジュール式概念またはセミモジュール式概念は過去から現在に至るまで非常に一
般的である。こうした概念は通例、事前に製造されたエレメントのモジュールに
従って、何らかの所定の方式で互いと相互結合することのできる事前に製造され
たエレメントのセットを提供する。この事前に製造されるエレメントは、特定の
モデリングタスクに対して適合されたよく知られるオブジェクトに似る。したが
って例えば家のモデルを構築する際には、エレメントは壁のレンガ、屋根瓦、ド
アおよび窓に似るであろう。このようにエレメントを選択することの目的は、新
しいモデルを作るたびに家のすべての詳細部分を定義する場合と比べて、家のモ
デルの構築に伴う作業を大幅に減らすことである。しかし家または他のオブジェ
クトを構築する際の完全な自由性は、モデル構築の容易性とトレードオフされる
【0006】 事前定義されたエレメントを用いるこの手法は、コンピュータ支援バーチャル
リアリティモデリングの分野においてよく知られている。また、互いに相互結合
できるモジュールエレメントを用いる概念もよく知られる。しかしそのようなモ
デルをコンピュータで表現することに関しては、事前定義されたエレメントおよ
びモジュール式システムを用いる概念の利便性は従来技術では完全には達成され
ていない。
【0007】 コンピュータがコンピュータ支援の設計およびモデリングに使用されてきた間
、最大の計算労力を要するタスクは、モデルの見え方の計算を含むモデルのビジ
ュアライゼーション(視覚化)であった。その理由の1つは、バーチャルリアリ
ティモデルの複雑さおよびその精密さが、現在利用可能なコンピュータ技術およ
び計算能力を追うように拡大されてきたことである。
【0008】 モデルを表すデータの転送および交換に関しては、バーチャルリアリティモデ
ルの複雑さおよび精密さの欠点が非常に明白に現れる。現在、記憶装置またはコ
ンピュータ通信ネットワークの形態をとる何らかのタイプの外部装置がコンピュ
ータに接続され、したがってモデルを記憶し、ロードおよび/または送信し、受
信するための信号経路を拡張している。通例、このような信号経路は単一コンピ
ュータ内の信号経路と比べて比較的低い帯域幅を有する。したがって、モデルを
表現するための効率的な方式が必要とされる。
【0009】 (従来技術) 幾何学オブジェクトモデルを表現する1つの方式は、「VRML」としても知
られる、よく知られた「バーチャルリアリティモデリング言語」である。この方
式はしばしばインターネット上で使用される。「VRML」は、パラメータセッ
トによって定義される何らかのタイプのポリゴンに基づいている。例えば3次元
空間におけるポリゴンの角の位置を定義するなどパラメータを指定することによ
り、すべてのモデルはこうしたポリゴンに基づく。共通の変換を用いて、ポリゴ
ングループの位置、方向、スケールを定義することが可能である。
【0010】 このモデリング方式を用いると、この方式はユーザをいかなる点でも制限しな
いので、すべての可能なモデリングタスクを所望通りにモデリングすることがで
きる。ポリゴンはいずれも広範囲の表現によってサポートされているので、これ
は実際にはこの方式の欠点の1つでもある。コンピュータ上で、この表現はモデ
ル中の各パラメータについての実数型の数からなる。さらに大半のモデリングパ
ラダイムの性質により著しい数のポリゴンが必要であり、したがって著しい数の
実数型のパラメータも必要になる。例えば曲面を考えてみると、そのような表面
は粗いモデルでは単一のポリゴンを用いてモデリングすることができるが、精密
なモデルが必要とされる場合にはこの曲面は複数のポリゴンから構成しなければ
ならず、少なくとも表面が十分になめらかに見えるような多くのポリゴンから構
成されなければならない。
【0011】 VRMLモデルの操作に関しては、幾何学的記述を、可能な操作それぞれを定
義するメタ記述によって拡張しなければならない。したがって最初にVRMLモ
デルにそのようなメタ記述が与えられていない場合には、そのモデルを操作する
ことができない。これが完全に自由なモデリング方式の結果である。
【0012】 したがって従来技術には、コンピュータ支援モデリングによって得られるモデ
ルは非常に多量の記憶容量を必要とするという問題が存在する。
【0013】 従来技術には多様なタイプの圧縮方式が存在するが、こうした圧縮方式はデー
タを効率的に圧縮するために、操作する大きなデータブロックを要する。さらに
こうした圧縮方式は、圧縮および圧縮解除を実行するのに比較的大きなタイムス
ロットを必要とする。これは通常、例えばコンピュータネットワークを介したモ
デルの転送を含む対話式のモデリングタスクに関してクリティカルになる。した
がって、生成および解釈が高速で、追加の圧縮方式を必要としない幾何学モデル
表現が必要とされる。
【0014】 (発明の概要) 本発明の第1の目的は、幾何学オブジェクトモデルのコンパクトな表現を提供
することである。
【0015】 本発明の第2の目的は、移動可能および/または回転可能なオブジェクトを含
む複雑なオブジェクトのモデリングを可能にする、幾何学オブジェクトモデルの
コンパクトな表現を提供することである。
【0016】 本発明の第3の目的は、非常に高速に生成および解釈することが可能なモデル
構造およびモデル構造の表現を提供することである。
【0017】 本発明の第4の目的は、モジュール式のおもちゃの組立ブロックまたはエレメ
ントからなるオブジェクトを表すのに利便であるモデル構造およびモデル構造の
表現を提供することである。
【0018】 本発明の第5の目的は、モデルがビジュアライゼーションを受け、生成され、
あるいは操作される際の帯域幅要件が比較的低くかつ処理時間が低いという意味
において、コンピュータネットワークを介して配布するのに都合のよいモデル構
造の表現を提供することである。
【0019】 本発明の第6の目的は、モデルが操作を受けるときに幾何学オブジェクトの追
加のメタ記述を必要としないモデル構造およびモデル構造の表現を提供すること
である。
【0020】 本発明によると、上の段落で述べた目的は請求項によって定義される本発明の
範囲内で達成される。詳細には、幾何学オブジェクトのモデルが:コード化され
てエレメントの集合のための幾何学的形状の表現の集合から第1のエレメントセ
ットを識別し、かつ第1座標系中の整数座標によりエレメントの位置を表す第1
データ構造中のビットと;符号化されて、第1座標系に相対的な第2座標系の空
間的変換を表す第2データ構造中のビットを含むときがそうである。
【0021】 これにより幾何学オブジェクトの非常にコンパクトな表現が得られ、同時にモ
デルは、移動可能な部分を含む複雑な幾何学的構造のモデリングを可能にする。
実際は、コンパクトな表現を得るために、モデルは固定部分間を区別しそのよう
な固定部分内のエレメント位置を制約する。ただしそのような固定部分またはセ
グメントの空間的変換を表すことが必要なときには、制約がないかまたは制約が
少ない相互関係の表現を適用することができる。これにより比較的柔軟性のある
モデル表現も提供される。
【0022】 エレメント位置の整数表現により、各座標系内で丸め(概数化)エラーを起こ
さずにコンピュータ上でモデルを繰り返し処理することが可能になる。したがっ
てセグメント内で多量のエレメントからなるモデルは、そのような丸めエラーに
起因するひずみが生じることはない。
【0023】 モデルはエレメントの幾何学的表現への参照だけからなるという事実により、
モデルは修正を行わずに、選択されたエレメントセットによって解釈することが
できる。それにより、例えばモデルを表示する際に十分に速いレンダリング時間
を提供するという意味において、特定のコンピュータ上で利便性良く解釈するた
めに特定のグラフィックフォーマットを選択することができる。
【0024】 それぞれの座標系内の整数に制約されたエレメント位置の表現により可能なエ
レメント位置が潜在的に与えられる、すなわち座標系内では回転、自由な変位な
どは不可能である。
【0025】 エレメントに対する制約によりコンパクトなモデル表現が得られるので追加の
圧縮は必要ではなく、したがってモデル構造は、モデルの表現に使用される一連
のステートメントを書き込む/読み出すことにより連続的に生成され、連続的に
解釈される。
【0026】 本発明は下記で、好ましい実施形態と関連し、図面を参照してより完全に説明
される。
【0027】 (好ましい実施形態の詳細な説明) 図1は、従来技術のバーチャルリアリティモデリング言語による幾何学オブジ
ェクトモデルの階層構造を表している。このようなバーチャルリアリティモデリ
ング言語は当分野の技術者にはVRMLとして知られている。VRMLの基本エ
レメントは、3次元の直交座標系中のその座標によって定義される2次元の非凹
ポリゴンである。3次元の直交座標系の軸をそれぞれx軸、y軸、およびz軸と
表すと、長方形でありうる2次元の凸ポリゴンが長方形の4つの角の座標によっ
て定義される。これは4つの(x、y、z)座標のセットである。VRMLのポ
リゴン指向構造により、架空のオブジェクトや存在する現実世界のオブジェクト
のバーチャルリアリティモデルを設計する設計者は、オブジェクトをポリゴンに
分割しなければならない。したがって、モデルが精密で滑らかな表面を有するよ
うに見せるために、曲線状の滑らかな表面を有するオブジェクトの正確で精密な
VRMLモデルは莫大な数のポリゴンで形成しなければならない。ただしオブジ
ェクトのより粗いVRMLモデルは少ない数のポリゴンから形成することができ
、したがってモデルの複雑さを低減することができる。設計者が任意のオブジェ
クトをモデリングできるようにするには、2次元ポリゴンを自由に3次元座標系
(以下ではこれを「3次元空間」または単に「空間」とも表す)内に置くことが
可能でなければならない。コンピュータ内で、ポリゴンの座標はいわゆる「実数
」型の数、すなわち浮動小数点数によって表される。
【0028】 多少単純なモデルをも扱うために、ポリゴンは上下逆のツリー構造の階層10
1に配置される。ツリーの各ブランチ102は、階層を定義するためにノードに
結合される。所与の階層レベル上のノードはそれぞれ、より低い階層レベル上の
他のノードまたはポリゴンへの共通の基準である。この階層は、最も低い階層レ
ベルであるポリゴンによって下方に終了される。
【0029】 ポリゴン103および104は、インタフェース105および106により同
一のノード107を参照する座標x、y、およびzによって定義される。ノード
107は、ポリゴン(図示せず)を有する他のノード108によっても参照され
る。ノード107のインタフェース部分109により、直接または非直接にノー
ド107に結合された、より低い階層レベルにあるポリゴンおよびノードを、共
通の変換によって平行移動、回転およびスケールすることが可能である。したが
って、ポリゴンのセットをグループ化し、平行移動、回転およびスケーリングか
らなる単一の変換を用いてそのグループを扱うことが可能である。
【0030】 ポリゴンおよびノードの定義に使用されるパラメータ、すなわち座標、平行移
動、回転およびスケールはすべて実数型であり、したがってコンピュータ中では
浮動小数点数として表される。この表現は、任意のモデリングタスクを扱うこと
ができるようにするために選択される。ただしこの表現は多量の記憶容量を必要
とし、実際、モデルの実時間操作を含むモデルの記憶および転送に関しては障害
(clog)となる。
【0031】 図2aは、第1および第2のセグメントからなり、本発明によるモデリングを
受ける単純なオブジェクトを示している。オブジェクトのモデルは2つのセグメ
ント201および202を有し、それぞれがエレメント203、204、205
と206、207を有している。軸x、yおよびzは座標系209にわた
ってセグメント201に属しており、軸x、yおよびzは座標系211に
わたってセグメント202に属している。
【0032】 第1セグメントのエレメント203、204、205は座標系209のモジュ
ール208に従ってのみ配置されていることに留意されたい。同様に第2セグメ
ントのエレメント206および207は、座標系211のモジュール210に従
ってのみ配置されている。
【0033】 オブジェクトを2つのセグメントに分割することの目的は以下から明らかにな
ろう。
【0034】 図2bは図2aに示した単純なオブジェクトを示しているが、ここでは第2セ
グメントが第1セグメントに対して回転されている。この図では、それぞれ軸x 、y、zおよびx、y、zによって定義される、一致しない2つの
異なる座標系が存在することが見て取れる。セグメント201中のエレメントは
、グリッド209のモジュール208に従ってのみ配置することができる。同様
に、セグメント202中のエレメントはグリッド211のモジュール210に従
ってのみ配置することができる。したがってセグメント中のエレメントはその位
置に関して制約されている。グリッドは2次元グリッドとして示しているが、通
例グリッドは3次元グリッドであり、エレメントを3次元で配置することを可能
にする。さらにセグメント中のエレメントの方向は、セグメントの3つの軸(そ
れぞれx、y、zおよびx、y、z)について90度ステップの回
転に制約される。
【0035】 セグメント202はセグメント201のグリッド209に従って配置されるが
、セグメント202は軸zに関して回転することが可能である。即ち今や、単
純なモデルは拡張され、一連の回転可能セグメントを含む高度なオブジェクトを
モデリングすることが可能である。単純なモデルにこの回転フィーチャが導入さ
れているという事実にも関わらず、セグメント202の位置がグリッド209に
制約されており、エレメント204および205もグリッド、すなわちグリッド
211に制約されているので、表現は回転角度を表す単一の数によってのみ拡張
されることに留意されたい。
【0036】 より多くのエレメントを徐々にセグメントに追加し、エレメントを有する新セ
グメントを既存のセグメント201および202と相互結合することにより、モ
デルを拡張することが可能である。実際、位置および方向の制約の形態の多数の
制限にも関わらず、この方式で相当複雑な幾何学オブジェクトをモデリングする
ことができる。この多数の制約は、複雑な幾何学オブジェクトをモデリングする
、モデルの非常にコンパクトな表現の鍵となる。
【0037】 詳細には、モデリングを受けるオブジェクトが互いに対して移動または回転す
ることが可能な固体部分を比較的少なく含むとき、また固体部分を多くのエレメ
ントでモデリングしなければならないときに、本発明によるモデルは従来技術の
バーチャルリアリティモデルに優る。そのようなオブジェクトの例は、例えば2
つのブリッジリーフを有するブリッジである。このオブジェクトのモデルは2つ
の移動可能固体部分、すなわちブリッジリーフしか含まない可能性があるが、各
ブリッジリーフおよびそのブリッジリーフを支える基盤は、例えばフェンス、道
、塔など多くのエレメントを用いてモデリングすべき固体構造を含む可能性があ
る。
【0038】 以下では、本発明による表現がいかにして実際に生成されるか、また他のフィ
ーチャをいかにして本発明によるモデルに追加できるかについての説明を提供す
る。
【0039】 図3は、本発明による幾何学オブジェクトモデルの階層構造を示している。 階層の目的は、共通の平行移動を受ける可能性のある幾何学的プリミティブ(
primitive)の論理グループ化を提供することだけではなく、それぞれの階層レ
ベルで使用されるパラメータに異なるタイプの制約を加え、それにより、制約を
考慮しながらコンパクトなモデル表現を確立するという意味でパラメータの適切
な表現を選択できるようにすることである。
【0040】 この階層はエレメントの幾何学的形状の実際の表現ではなく、エレメント間の
空間的関係に関するものであることに留意されたい。エレメント形状の実際の表
現は、例えばVRMLまたは3DMFなど任意の利便なフォーマットにするよう
に選択することができる。
【0041】 本発明の実施形態によるモデルは、「ワールドレベル(World Level)」、「
モデルレベル(Model Level)」、「セグメントレベル(Segment Level)」およ
び「エレメントレベル(Element Level」」の4つの基本レベルからなる階層3
16によって編成することができる。 ワールドレベルでは、仮想世界を表すワールドブロック315が定義される。
ワールドブロックの主要な目的は、原点を有し、その原点が階層の低レイヤにと
って共通の基準である3次元空間を定義することである。
【0042】 モデルレベルには、仮想世界内のモデルを表すモデルブロック311、314
が存在することができる。モデルブロックは、フィールド312および313と
、セグメントブロック309、307の形をとるブロックからなる。好ましい実
施形態では、モデルブロック中のフィールドは「平行移動(Translate)」、「
回転(Rotate)」および「スケール(Scale)」である。このフィールドは仮想
世界におけるモデルの位置、方向およびサイズを定義する。モデルの位置、方向
およびサイズは自由に定義することが許されており、すなわちモデルはフィール
ド上でいかなる制限をも受けない。コンピュータ中では、平行移動、回転、およ
びスケールのフィールドは実数型(type Real)の数、すなわち浮動小数点表現
によって表すことができる。
【0043】 セグメントレベルには、モデル中のセグメントを表す複数のセグメントブロッ
ク307、309が存在することができる。セグメントブロックはフィールド3
08、310と、エレメントブロックおよび/または従属セグメントブロック3
05の形をとるブロック301、302とを備える。セグメントブロック中のフ
ィールド310は、オフセット(Offset)、回転および軸(Axis)である。この
フィールドは、セグメント中の軸位置、軸についての角度から見た回転、および
軸の方向を定義する。したがって軸の位置は、セグメントブロック305を従属
セグメントブロック305に結合するのに使用される結合を定義する。
【0044】 セグメント中の軸の位置は、セグメントの制約が許す位置に制限される。こう
した制約は3次元の座標系を用いて設定することができ、エレメントはモジュー
ルステップで配置することができる。軸周囲の角度回転は、本発明の基本実施形
態では制約を受けない。軸の方向は、例えば図2bの座標系の3つの直交軸につ
いての90度ステップに制約される。
【0045】 オフセットフィールドは、コンピュータ中の整数型(type Integer)の数によ
って表される3つのパラメータを有することができる。あるいは、整数型の3つ
のパラメータを有する平行移動フィールドを使用することもできる。
【0046】 さらに、回転フィールドは実数型の3つの数の配列からなる3つのパラメータ
を有することができ、また軸フィールドは短整数型の3つの数の配列によって表
すか、あるいは単一ビットにより座標系内の3つの軸のうち1つを指定すること
によって表すことができる。
【0047】 エレメントレベルには、セグメント中のエレメントを表す複数のエレメントブ
ロック301、302が存在することができる。エレメントブロックは従属ブロ
ックを備えず、フィールド303、304だけを備える。したがってエレメント
ブロックは下方への階層を終了する。エレメントブロック中のフィールドはオフ
セット、方向(Orientation)および形状参照(Shape Reference)である。位置
および方向に関して、エレメントはモデルで最も制約された部分である。オフセ
ットフィールドは、個別の値に制約された3次元のオフセットである。制約が3
次元の座標系によって設定され、エレメントがモジュールステップで配置できる
場合、オフセットフィールドは整数型の数の配列によって表されることが好まし
い。さらに、方向フィールドはセグメントブロック中の軸フィールドと同じよう
に制約され、すなわち座標系の3つの直交軸を中心とする90度ステップに制約
される。したがって軸フィールドは短整数型の3つの数の配列によって表すか、
あるいは単に座標系中の3つの軸のうち1つを示すことにより表すことができる
【0048】 形状参照フィールドにより、エレメントは、ビジュアライゼーションの目的の
ために解釈および使用することのできる幾何学的記述への参照(reference)を
含む。形状参照は、個々のエレメントの幾何学的記述からなるデータベースへの
クエリに使用することができる参照番号であることが好ましい。通例、モデルは
異なるタイプのエレメントセットに基づく。データベースは、任意の好ましい幾
何学的記述による個々のエレメントの幾何学記述を含む。好ましい幾何学的記述
はVRML、3DMFなどである。さらにデータベース中には、個々のエレメン
トに対して異なるタイプの複数の幾何学的記述を記憶することができる。これに
より、例えばかなり高速なモデルのビジュアライゼーションを得ることと、十分
に高いビジュアライゼーション解像度を得ることとの間で適切なトレードオフを
提供するなど、ある意味において適切な幾何学的記述を選択することが可能にな
る。整数座標に制約されるのはエレメントの位置だけであり、エレメントの形状
を表すのに使用される座標または他のタイプのパラメータは制約を受けないこと
は強調すべきである。
【0049】 エレメントブロック301、302は、そのエレメントを作っているマテリア
ルへの参照や装飾またはテクスチャへの参照を提供する他のフィールドを備える
ことも可能である。このようなフィールドは、「マテリアル参照」および「装飾
バージョン」と表してよい。幾何学的記述については、マテリアルおよび装飾ま
たはテクスチャの記述は適切なフォーマットでデータベース中に記憶することが
可能である。
【0050】 このように、例えばVRMLモデル構造と比較した本発明によるモデル構造の
制約の効果は、大半のモデリングタスクでは最も低い階層レベルの構造が最も頻
繁に使用されるという事実に基づいている。したがってまさにこの最も低いレベ
ルの構造を制約し、これらの構造の表現をちょうど十分になるように適合させる
ことにより、非常にコンパクトなモデル表現を得ることが可能になる。階層を全
体として考えると、モデルブロックが自由な変換を可能にし、セグメントブロッ
クが部分的な制約のある変換を可能にするのに対し、エレメントブロックは非常
に制約された変換のみを可能にする。
【0051】 エレメントおよびセグメントの可能な幾何学的解釈を定義し、エレメント、セ
グメント、モデルおよびワールドが編成される階層を定義したので、話題は次い
で、実際のモデルを表すのに使用される対応するコード構造の好ましい実施形態
の定義へと移る。
【0052】 本発明の基本実施形態は単一のセグメントを備えることができ、エレメントは
、フリーワールドすなわち任意の座標系における、制約された座標系中の座標に
よって定義される制約のある位置を有することに留意されたい。 コード構造。 コード構造は2タイプのプリミティブ、すなわちブロックおよびフィールドか
らなる。ブロックはブロック名、およびその内容を囲むブレース{ }によっ
て定義される。ブロックは複数のフィールドおよび他の従属ブロックを囲むこと
ができる。フィールドは、フィールド名、およびフィールド名に続く複数のパラ
メータによって定義される。 ブロックおよびフィールド。 下記では、ブロックは、括弧で囲まれたそのコンテクストがその後に続くブロ
ック名によって書かれる。コンテクストはそれらが存在できるブロックであり、
トップレベルはファイルと呼ばれる。用語「ファイル」は、例えばコンピュータ
のメモリ、CD−ROM、デジタルビデオディスク(DVD)、フロッピー(登 録商標)ディスク、ハードディスク、揮発性メモリ(例えばランダムアクセスメ モリ)などのコンピュータ可読メディア上に記憶された電子ファイルを指すもの として使用される。
【0053】 各ブロックは短い記述を有する。この定義の複雑さを低減するために、従属ブ
ロックはそのブロック名のみで書かれる。 ワールド(ファイル) 構造上重要なプリミティブは階層中のブロック、すなわちワールドブロック、
モデルブロック、セグメントブロック、およびエレメントブロックである。ワー
ルドブロックは、ワールドの記述を含んでいる「ファイル」ファイルを参照する
。 ワールドは次のシンタックスによって定義される。
【0054】 本発明による仮想世界では、ステートメント「Model{...}」に含ま
れる複数のモデルが存在しうる。ただし、本発明によって記述されるまたは記述
されない他のフィーチャをこのワールド中にセットアップすることが可能である
。このようなフィーチャは背景、音声、事前定義されたイベントなどである。
【0055】 それ以外の場合、ワールドブロックはワールド中のモデル(および他のフィー
チャ)への共通の基準(reference)を設定するために使用される。この基準は
座標系の形であることが好ましい。 モデル(ワールド) モデルブロックは複数のモデルまたは複数のセグメントブロックを含むことがで
きる。モデルブロック中のフィールドは「回転」、「平行移動」および「スケー
ル」である。
【0056】 すべての回転パラメータおよび方向パラメータはよく知られる右手座標系に基
づいており、すなわち親指は軸の1つの正の数をたどり、正の角度値は他の指の
方向に数えられることに留意されたい。
【0057】 回転フィールドは、モデルをどのようにワールド中で方向づけするかを決定す
る3つのパラメータを含む。このパラメータはよく知られるオイラー角として指
定されることが好ましい。すなわち最初に、直交座標系中の第1の軸についての
角度を指定する3つのパラメータの第1に従ってモデルが回転され、次いで、第
1軸を中心とするモデルの第1の回転のためにその方向が変更された第2の軸を
中心とする角度を指定する第2のパラメータに従ってモデルが回転される。この
手順は、モデルが回転フィールド中の3つのパラメータが所望するように回転さ
れるまで続けられる。ただしオブジェクトの方向および/または回転を指定する
ためには他の手順を適用してもよい。
【0058】 上記のモデル定義中の回転フィールドのためのシンタックスでは、パラメータ
は「実数」型であるが、例えば整数、例えば可能な値[0、10、20、...
350]度からなる所与の列挙のタイプ、あるいは他タイプのパラメータを使用
することもできる。
【0059】 平行移動フィールドも実数型の3つのパラメータを含んでいる。これらのパラ
メータはそれぞれ、座標系中の3つの直交軸のうち1つに沿ったモデルの平行移
動を指定する。したがって平行移動は、モジュール式座標系のモジュールに制限
されない変換を可能にする。 セグメント(モデル、セグメント) セグメントブロックは、エレメントブロックおよび任意選択で従属セグメント
ブロックによって形成されるボディパートを含む。セグメント中のフィールドは
「オフセット」、「方向」、「軸」および「回転」である。
【0060】 オフセットフィールドは、階層内で現在のセグメントより優位にある別のセグ
メントの原点に対する現在のセグメントの原点の位置を記述する。優位のセグメ
ントが存在しない場合は、オフセットフィールドは省略される。オフセットフィ
ールドは、位置を記述するための整数型の3つのパラメータを含む。この位置を
整数値に制約することにより、完全なモデルを表現するために必要なデータ量を
著しく減らすことができる。
【0061】 方向フィールド(図3では省略)は、セグメントの方向、すなわちセグメント
を例えば上下逆さまにするかどうか、左に90度回転するかどうかなどを記述す
る。方向フィールドは、座標系中の3つの軸のうち1つまたは複数を中心とする
90度ステップでこの方向を記述するための、3つの2ビットパラメータを備え
る。
【0062】 軸フィールドは、それを中心にセグメントを回転することができる軸の方向を
記述する。方向は現在のセグメントの原点に対して記述されるので、座標系中の
3つの軸のうち1つを指定するためには3ビットのパラメータしか使用されない
【0063】 回転フィールドは、以前に軸フィールド中で定義された軸を中心とする現在の
セグメントの回転を記述する。回転フィールドは、実数型の単一のパラメータを
備える。このパラメータは現在のセグメントの固定角度を指定するために使用す
ることができ、またはこのパラメータを修正して、例えば指定された角速度で現
在のセグメントを回転させる形で操作をシミュレートすることができる。
【0064】 したがって、上記で定義した制約により、完全なモデルを表現するのに必要な
データ量を著しく低減することができる。この利点は本発明に従ってモデルを作
成するユーザに不満を抱かせることなく実現される。なぜなら制約はモジュール
式の構築システムまたはモジュール式のバーチャルリアリティにおいてのもので
あると予想されるからである。ただしこの制約がモデリングタスクの一部で制限
要因となる場合は、例えばモデルブロック中で定義される平行移動フィールドを
適用して制約を克服するかまたは解除することができる。すなわち、例えば実数
型の非整数を使用した変位を使用することができる。
【0065】 ステートメント「Element{...}」および「Segment{..
.}」は、当該のセグメントが、本発明によるモデルの階層による従属エレメン
ト、およびセグメントを備えることができることを示す。 エレメント(セグメント) エレメントブロックは本発明による幾何学的プリミティブである。これは、「
形状参照」フィールドを用いて幾何学立体を参照する。ただし他の参照フィール
ド「マテリアル参照(Material Reference)」および「装飾バージョン(Decora
tion Version)」を定義することができる。他のフィールドは「方向」および「
オフセット」である。
【0066】 オフセットフィールドはセグメント中の、モジュール式グリッドのモジュール
に従ったエレメントの位置を定義するのに使用される。したがって整数型のパラ
メータを使用することができる。あるいは、英数字のストリングを含むタイプの
パラメータを、「形状参照」、「マテリアル参照」および「装飾参照」のフィー
ルドで使用することができる。
【0067】 エレメントの方向は、方向フィールドおよび3つの2ビットパラメータを用い
て定義される。したがってエレメントの方向は、セグメントのモジュール式グリ
ッドに制約される。
【0068】 特定のモデルを効率的に扱うために、エレメントブロックは多量の幾何学デー
タを含みうる幾何学的記述全体への参照の代わりに、エレメントの幾何学的記述
への参照からなる。したがってモデルの外観は、エレメントブロック中の形状参
照パラメータを別の形状参照パラメータに入れ換えることによって変更すること
ができる。
【0069】 次いで、本発明による具体的なモデルの例に移る。 図4は、2つのエレメントファミリーを示している。第1のファミリーはエレ
メント401、402、403からなる。第2のファミリーはエレメント404
、405、406からなる。エレメントはそれぞれ、指定された参照を有するエ
レメントが要求されると幾何学的記述を取り出せるように参照と関連付けられた
幾何学的記述を有する。幾何学的記述は、コンピュータ支援設計ソフトウェアを
用いてエレメントを設計し、それにより適切なメディアの上に記憶しそこから取
り出すことのできる指定のフォーマットでデータを生成することにより提供する
ことができる。そのような指定のフォーマットは例えばVRML、3DMFなど
である。したがってデータは、本発明による仮想モデルを視覚的に解釈するため
に取り出すことができる。
【0070】 各エレメントは基準の位置および方向を有するように設計され、エレメントが
モデル中で使用されると、モデル中のその位置および方向を基準の位置および方
向に対して記述することができる。この基準の位置および方向を定義するために
、エレメントは説明を目的とするものであり、この開示中に限っては軸x、y、
およびzを有する直交座標系中に置かれている。
【0071】 個々のエレメントの外観は異なっているが、各エレメントはセグメントのモジ
ュール式グリッド中のモジュールに対応するそれぞれの基準モジュールを有する
。この基準モジュールは、点線/周囲の箱によって表している。
【0072】 次いで具体的なエレメントに移る。エレメント401は、3つのグリッドモジ
ュールを占めるL字型のエレメントである。このエレメントにはタイプ識別「T
401」を割当てる。エレメント402は単一のグリッド単位を占める立方体の
エレメントである。このエレメントには、タイプ識別「T402」を割当てる。
エレメント403は、4グリッド単位を占めるT字型のエレメントである。この
エレメントには、タイプ識別「T403」を割当てる。
【0073】 これに対応して、エレメント404は3つのグリッドモジュールを占めるL字
型のチューブ状エレメントである。このエレメントにはタイプ識別「T404」
を割当てる。エレメント405は、単一のグリッド単位を占めるまっすぐなチュ
ーブエレメントである。このエレメントにはタイプ識別「T405」を割当てる
。エレメント406は4つのグリッドモジュールを占めるT字型のチューブエレ
メントである。このエレメントにはタイプ識別「T406」を割当てる。
【0074】 したがって、各エレメント401〜406についての幾何学的記述を記憶し、
タイプ識別すなわち参照を用いて、指定のエレメントについての幾何学記述を本
発明によるバーチャルモデリング言語から取り出すことが可能になる。
【0075】 それぞれのファミリー中のエレメントは、そのそれぞれのファミリー中の他の
エレメントと相互結合できるように設計されることが好ましい。これは、2つの
隣接するグリッドモジュール間の平面と一致する表面の形をとる認識可能な境界
面をエレメントが備えるようにエレメントを設計することにより、視覚的に示す
ことができる。チューブ状のエレメント404、405、406を考えると、認
識可能な境界面はチューブの端の形状でありうる。他のエレメントは、例えば米
国特許第4,214,403号、第4,176,493号、第5,795,21
0号、第4,214,949号、第5,645,463号に示される。
【0076】 図5は、幾何学オブジェクトのモデルを構築するプロセスの第1ステップを示
している。タイプ「T401」のエレメント501は、軸x1、y1、z1によ
って定義される直交座標系を有するセグメント中に配置される。この軸は図示の
目的のためだけのものであり、モデルがビジュアライゼーションされるときは示
しても示さなくてもよい。
【0077】 バーチャルリアリティモデルの好ましい実施形態では、最小の可能モデルは少
なくとも1つのセグメントからなることが定義され、したがってエレメント50
1がセグメント中に配置される。エレメント501は軸x1、y1、z1につい
ての方向を有し、それが図4に示したこのエレメントのタイプを定義する際の基
準方向とは異なることに留意されたい。この方向は、エレメントの多数の90度
ステップとして記述されることが好ましい。エレメント501は、このエレメン
トをx1軸に平行な軸を中心に270度回転させることによって方向づけられ、
この場合角度は右手座標系に従って測定される(すなわち、親指でx軸を指し、
指に従って円形方向に正の値をとる。この定義は以下を通じて使用される)。
【0078】 単一のエレメント501を有するセグメントを表すのに使用される好ましいコ
ードを以下に示す。
【0079】 このコードシンタックスの定義に従い、エレメントを有するセグメントが定義
される。さらに形状参照フィールドにより、エレメントタイプが「T401」で
あることが定義される。エレメントの方向は、方向フィールドと、このエレメン
トがx1軸について270度回転されることを示すパラメータ(270、0、0
)とによって示される。この例のパラメータは角度として述べているが、90度
制約のためにこの表現はパラメータごとに2ビットだけでコード化できることに
留意されたい。
【0080】 したがってこのコードはビジュアルインタープリタアプリケーションによって
解釈することができ、このアプリケーションはエレメントの幾何学的記述をロー
ドし、上記のコード中に示されるステートメントに従ってエレメントの位置およ
び方向を計算し、表示手段によって表示するために平面または球体上への所望の
投影を計算する。
【0081】 グリッドのサイズは、エレメントの表示に使用される解像度に比べて相対的に
粗くなるように選択される。通例、グリッドサイズは単に相互結合だけを扱える
ように適合されるか、またはある意味で単にエレメントファミリー中のエレメン
トの配列を可能にするように適合される。
【0082】 エレメントは整数座標を用いて座標系中に配置されるという事実にかかわらず
、エレメントの幾何学的形状の定義または表現は非整数座標からなることができ
る。重要な点は、エレメントの位置が整数によって表されることである。
【0083】 図6は、幾何学オブジェクトのモデルを構築するプロセスの第2ステップを示
す。このステップではエレメントがさらに追加され、本発明による仮想モデルの
効果がより明白に現れている。この図の幾何学オブジェクトは、それぞれタイプ
「T401」、「T403」、および「T402」である3つのエレメント60
1、602、および603からなっている。各エレメントの位置および方向は次
のコードによって与えられる。
【0084】 エレメント601を定義するコードの最初の部分はすでに紹介している。後に
明らかになるように、セグメント中の他のエレメント(602および603)は
このエレメント(601)との関連で定義される。
【0085】 コードの次の部分は、タイプ「T403」のエレメント602を定義する。見
てとれるように、このエレメントはエレメントタイプ定義の際の方向と同じ方向
は有していない。したがってこのエレメントをz1軸を中心に270度回転する
ことを指定する方向フィールドを追加する必要がある。エレメント602はさら
に、x1軸に沿って3モジュールの整数オフセット値分ずらされる。コードの最
後の部分は、タイプ「T402」のエレメント603の位置を定義する。このエ
レメントは、x1軸に沿って3モジュールの整数オフセット値分、およびy1軸
に沿って2モジュールの整数オフセット値分ずらされる。
【0086】 セグメント中のエレメントはグリッドのモジュールに従ってのみ配置すること
ができるので、エレメントの位置および方向の定義に使用されるパラメータは、
例えば整数値を用いて非常に効率的に表すことができる。この方式で、所望の場
合にはエレメントをさらにセグメントに追加することができる。
【0087】 操作の場合には、モジュール式グリッドが与える制約のために、セグメント中
のエレメントは互いに対して相対的に操作することができないことが容易に決定
される。
【0088】 図7は、本発明による幾何学オブジェクトのモデルを構築するプロセスの第2
ステップを示している。このステップではモデルにさらに多くのエレメントが追
加され、本発明による仮想モデルの効果がさらに明白に現れている。さらに、こ
のステップではエレメントが追加されるが、それはセグメント内で与えられる位
置および方向の制約に必ずしも拘束されない。これにはモデルの記述を拡張する
ことが必要であるが、この拡張された記述は必要な部分(すなわち例えば回転を
記述する際に)でしか使用されないという事実により、モデル全体のコンパクト
性および便宜性は維持される。
【0089】 図7で幾何学オブジェクトは、それぞれタイプ「T401」、「T403」、
「T402」、「T403」、「T401」である5つのエレメント701、7
02、703、704、705からなっている。各エレメントの位置および方向
は、以下のコードによって与えられる。
【0090】 コードの最初の部分は、図6で導入されたエレメント701、702、703
を定義している。コードの次の部分は、z軸に平行な軸(すなわち垂直軸)につ
いて45度回転され、かつエレメント704および705を有する別のセグメン
トを定義する。
【0091】 エレメント704および705を定義するコード部分は異なる方式でも生成で
きるが、以下のステップ1〜4からなるステップバイステップの手順が最も理解
しやすいと考えられる。
【0092】 ステップ1:このコード生成ステップでは、新しいセグメントをモデルに追加
することが決定される(例えばユーザコマンドに応答して)。これを念頭に置き
、タイプ「T403」のエレメント(図4参照)の定義において定義されたグリ
ッドまたは座標系と一致するモジュール式グリッド(図示せず)を有する新しい
セグメント中に、エレメント704が第1エレメントとして追加される。したが
ってオフセットフィールドまたは方向フィールドを指定する必要はない。続いて
、エレメント705が新しいセグメント中に追加される。ただしこのエレメント
はx1軸に沿って−3の整数値でオフセットされ、方向は、タイプ「T401」
のエレメントの定義におけるエレメントの方向に対してx軸を中心に270度回
転される。これは次のコード中のオフセットフィールドおよび方向フィールドに
よって定義される。
【0093】 ステップ2:このコード生成ステップでは新しいセグメントの原点が、新しい
セグメントが古いセグメントに結合される部分、すなわち「T字型」エレメント
704の底部に位置するように決定される。したがってエレメント704および
705の位置は、セグメントの新しい原点に従うように再計算される。 これには、エレメント704のためにオフセットフィールドが追加され、また
エレメント705のためのオフセットフィールドがこの新しい原点を反映するよ
うに修正されることが伴うことに留意されたい。
【0094】 この再計算は、例えば図2bに示すように新しいセグメントが新しいセグメン
ト中の異なる位置で古いセグメントに結合される場合にも実行しなければならな
い。しかしオフセットパラメータは整数型なので、この再計算は実数型のパラメ
ータが使用された場合に比べて非常に高速に実行することができる。実用モデル
では多数の加算演算および減算演算が実行されるにも関わらず、整数表現のため
に丸め誤差(概算誤差)は入り込まない。
【0095】 ステップ3:このコード生成ステップでは、新しいセグメントをどこで古いセ
グメントと相互結合するかが指定される。これは、古いセグメントの原点に対し
てどのように新しいセグメントの原点が平行移動されるかを指定することによっ
て示される。これは、次のオフセットフィールドを、上記のステップ2でコード
によって与えられた第2セグメントブロックに挿入することによって行われる。 Offset(0,0,2); したがって新セグメントの原点は、z1軸に沿って整数値2の分平行移動され
る。
【0096】 ステップ4:新セグメントおよび新セグメント中のエレメントの位置を定義し
たので、古いセグメントに対する新しいセグメントの方向を指定することができ
る。これは、上記のステップ2で示したコードに、次の「Rotate」フィー
ルドを挿入することによって行われる。 Rotate(90,225,0); したがって、新セグメントは最初にx軸を中心に90度回転され、次いでその
セグメントは、以前に定義されたようにすでに90度回転されたy軸を中心に2
25度回転される。
【0097】 操作の場合にはすでに述べたように、セグメント中のエレメントは、モジュー
ル式グリッドによって与えられる制約のために互いに対して相対的に操作するこ
とができないことが容易に決定される。しかしセグメントの暗黙的な定義により
、セグメントを互いに対して回転できることも容易に決定される。したがって追
加のメタ記述、すなわち可能な操作(すなわち運動または回転)の定義を定義す
る必要はない。セグメントを互いに対して相対的に、かつ個々のモジュール式グ
リッドによって制約されずに平行移動することが望ましい場合は、単純な平行移
動フィールドを追加して平行移動を定義することができる。
【0098】 図8は、本発明によってモデリングする第3の単純なオブジェクトを示してい
る。このオブジェクトは、上記の図7について記述されたものと同一のモデルに
よって記述することができるが、ただ「形状参照」フィールドパラメータによっ
て定義された各エレメントのタイプを、図4で定義した第2のエレメントファミ
リーの各エレメントタイプに置き換えている。モデルは、それぞれ図7のエレメ
ント701、702、703、704、705に対応するエレメント801、8
02、803、804、805からなっている。
【0099】 したがって効率的な記述が失われることなく、別のエレメントファミリーをこ
のモデル中で使用できることが説明される。好ましい実施形態では、エレメント
ファミリーはモデリングパラダイムのクラスに対して適合され、エレメントは所
与のモデリングタスクに適している可能性がある現実世界のよく知られたオブジ
ェクトを表す。
【0100】 さらに上記の好ましい実施形態の開示および本発明の目的によると、当分野の
技術者には、各ステートメントのパラメータを修正することにより、幾何学的記
述を用いて、メタ記述すなわち幾何学オブジェクトの可能な操作の記述が暗黙的
に与えられることが明らかである。例えば2つのセグメントの相互結合を考える
と、そうした相互結合は軸フィールドおよび回転フィールドによって行われる。
回転角度を修正することにより幾何学記述が変更され、同時に操作すなわち回転
が行われる。このような場合回転軸は幾何学的記述中で定義され、したがってこ
の方式でメタ記述が幾何学的記述中に埋め込まれる。セグメント中のエレメント
に関しては、幾何学的記述中のパラメータは回転のメタ記述を許さないので、エ
レメントには回転を行えないことが明らかである。ただし実用的実施形態では、
必要な場合にはユーザに新しいメタ記述を適用するための制御が与えられる。実
際、モデル構造中には制限された記述のセットしか存在せず、またパラメータは
制限された値のセットに制約されているので、そのような新しいメタ記述は容易
に適用することができる。
【0101】 本発明によるモデルの構造、修正、およびモデルの操作を定義したので、こう
したタスクを実行するためのコンピュータシステムを開示する。
【0102】 図9は、本発明による幾何学構造体を設計し、記憶し、操作し、共用するため
のクライアントコンピュータシステムを示している。全体を901として示すこ
のクライアントコンピュータシステムは、スタンドアロンシステムかまたはクラ
イアント/サーバシステム中のクライアントとして使用することができる。クラ
イアントは、例えばハードディスクおよびランダムアクセスメモリ(RAM)な
ど部分的に揮発性メモリおよび不揮発性メモリ手段として実施されるメモリ90
2を備える。メモリは、中央演算処理装置903によって実行可能なプロシージ
ャまたはプログラムのコードインタープリタ(コード解釈)907、ジェネレー
タ(コード生成)908、UIイベントハンドラ909、およびモデリングアプ
リケーション910を備える。さらにメモリはモデルデータ911を含む。
【0103】 コードインタープリタ907は、本発明によるモデルを定義するコードを読み
取り、解釈するようになされている。好ましい実施形態では、コードインタープ
リタは、本発明によるモデルを読み取り、コンピュータディスプレー上に提示す
るためにそのようなモデルを知られているグラフィックフォーマットに変換する
ようになされている。オブジェクトモデルを表現するための以前に定義されたコ
ード構造が当分野の技術者に知られると、この変換は、グラフィックコンピュー
ティングの分野で周知のよく知られたグラフィック原理を適用することによって
実施することができる。コードインタープリタ907が実施する機能の概略的な
リストを以下に挙げる。
【0104】 機能1:ワールドブロックが読み出されると、コードインタープリタ(CI)
は、どの後続のステートメントが参照する座標系を設定する。
【0105】 機能2:モデルブロックが読み出されると、CIは、機能1によって定義され
た座標系内にセグメントおよびエレメントからなるモデルを配置する準備をする
。これは回転フィールドおよび平行移動フィールドに従って行われる。
【0106】 機能3:セグメントブロックが読み出されると、CIは、機能2で指定された
位置および方向に従って、またそのセグメントの方向を指定する方向フィールド
に従ってエレメントからなるセグメントを配置する準備をする。さらに、従属セ
グメントの位置を決定するために、オフセットフィールド、軸フィールド、回転
フィールドが読み出される。
【0107】 機能4:エレメントブロックが読み出されると、CIは、例えばモデルデータ
911として記憶されているデータベースにアクセスすることにより、形状参照
フィールド中のエレメントタイプ参照によって指定されるエレメントの幾何学的
記述を読み出す。
【0108】 連続的にかつ/または反復的に呼び出される機能1、2、3、および4の結果
は、平面または球体上に投影されるデータか、または投影することのできるデー
タとして提供される。
【0109】 UIイベントハンドラ909は、ユーザインタフェースとのユーザの対話を、
コードジェネレータ908が認識できる適切なユーザコマンドに変換するように
なされている。可能な認識可能コマンドセットは:エレメントをエレメントライ
ブラリから取り出すこと、エレメントを別のエレメントと結合すること、エレメ
ントの結合を解除すること、エレメントを廃棄すること、例えば回転の開始など
セグメントを操作することなどを含むことができる。各コマンドとともに、以前
に各フィールドについて定義された各パラメータセットが関連付けられる。
【0110】 コードジェネレータ908は上記のように、またユーザのコマンドに応答して
、本発明による実際のモデルを記述するコードを修正するようになされている。
コードジェネレータ908によって実施される機能の概略的なリストを下記に示
す(セグメントはあらかじめ指定されるものと想定する)。
【0111】 機能5:エレメントがエレメントライブラリから選択されると、形状参照フィ
ールドによりそのタイプが指定される。
【0112】 機能6:エレメントがセグメント中でエレメントに結合されると、そのセグメ
ントが識別され、セグメント内の結合されたエレメントの位置および方向が、モ
デル表現に挿入されるオフセットフィールドおよび方向フィールドによって決定
され、表現される。
【0113】 機能7:エレメントの結合が解除されると、そのエレメントの位置および方向
を表すコードが消去される。
【0114】 並行するタスクまたは後続のタスクとして、コードジェネレータの結果を提示
するためにコードインタープリタを実行することができる。
【0115】 モデリングアプリケーション910は、メモリ、ファイル、ユーザインタフェ
ースなどを制御するように適合される。
【0116】 ユーザ905は、ユーザインタフェース906を用いてクライアントコンピュ
ータシステム901と対話することができる。
【0117】 モデル、幾何学的記述、または他のデータをロードするために、クライアント
コンピュータシステムは入出力装置(I/O)904を備える。この入出力装置
は、異なるタイプの記憶メディア、および例えばインターネットなど異なるタイ
プのコンピュータネットワークへのインタフェースとして使用することができる
。入出力装置(I/O)904はさらに、他のユーザと例えば対話式にモデルを
交換するために使用することができる。
【0118】 メモリ902、中央演算処理装置(CPU)903、ユーザインタフェース(
UI)906、および入出力装置904間でのデータ交換は、データバス912
を用いて行われる。
【0119】 図10は、本発明による幾何学的構造体を扱うためのサーバコンピュータシス
テムを示す。全体を1001として示すこのサーバコンピュータシステムは、複
数のクライアントコンピュータシステムにサービスするために使用される。サー
バは、例えばハードディスクおよびランダムアクセスメモリ(RAM)など揮発
性メモリおよび不揮発性メモリ手段として部分的に実施されるメモリ1002を
備える。メモリは、中央演算処理装置1003によって実行可能なプロシージャ
またはプログラムの「コードインタープリタ」1005、「コードジェネレータ
」1006、および「セッションハンドラ」1007を備える。メモリはさらに
、例えば幾何学記述、モデルの記述などの形態の「モデルデータ」1008を含
む。
【0120】 モデル、幾何学記述あるいは他のデータをロードするために、あるいはデータ
をクライアントコンピュータシステムに配布するために、サーバコンピュータシ
ステムは入出力装置(I/O)1004を備える。この入出力装置は異なるタイ
プの記憶メディア、および例えばインターネットなど異なるタイプのコンピュー
タネットワークへのインタフェースとして使用することができる。
【0121】 メモリ1002、中央演算処理装置(CPU)1003、および入出力装置1
004間のデータ交換はデータバス1009を用いて提供される。
【0122】 次いで、図9および図10の説明中で参照した機能/コンピュータプログラム
の詳細な説明に移る。 図11は、セグメントおよびモデルが操作を受けるのと並行してセグメントお
よびモデルを構築する方法の流れ図を示している。この流れ図では、本発明によ
るモデルを扱うためのクライアントおよび/またはサーバコンピュータ上で実行
されるプロシージャの操作も示している。
【0123】 ステップ1101で、ユーザインタフェース1102の一部であるユーザコン
トロールを用いて入力されたユーザコマンドが受け取られる。ユーザコントロー
ルはユーザディスプレー1121と対話する例えばコンピュータキーボード、ジ
ョイスティック、またはマウスを含む多くの異なるタイプでよく、それによりユ
ーザインタフェースとのユーザ対話を表すためにプログラムに信号を提供する。
ユーザは例えばユーザディスプレー1121上に表示されるエレメントを選択し
て、よく知られるドラッグアンドドロップ操作を用いてコンピュータマウスによ
りそれを所望の位置に移動することができる。このようにしてエレメントのこの
移動を表すユーザコマンドが生成される。ユーザインタフェースのこのような動
作は、イベントドリブン型プログラミングとしても知られる。
【0124】 ユーザコマンドは流れ図のブロック1113で受領され、本発明によるモデル
データ1112を生成し、更新し、あるいは操作するために使用される。ブロッ
ク1113における処理の結果であるモデルデータ1112は、入出力装置11
17を介して通信ネットワークに転送することができる。したがってモデルを他
のユーザと交換すること、モデルを共用すること、サーバからモデルをロードす
ること、サーバ上にモデルを保存することなどが可能である。通常、モデルデー
タ1112は変換器1118により、記憶されているエレメントの外観を表すデ
ータと併合される。変換器は以前に定義された「形状参照」を使用して、データ
ベース1119からこの外観の幾何学表現を獲得する。さらに変換器1118中
では、幾何学的表現と、特定モデルの形状を記述する以前に定義されたブロック
およびフィールドとが結合され、3Dバーチャルリアリティエンジン1120に
よって解釈することのできるフォーマットに変換される。3Dバーチャルリアリ
ティエンジン1120はモデルを表す情報を提供し、そのモデルはユーザディス
プレー1121上で視覚化することができる。
【0125】 次いで流れ図のブロック1113の詳細な説明に移る。 ユーザコマンドが受領されると、そのユーザコマンドがエレメント操作、セグ
メント操作、あるいはモデル操作に関するものかどうかが判定される。エレメン
トがモデルに追加される場合、モデルから除去される場合、あるいはモデル中で
第1の位置から第2位置に移動される場合にはステップ1116でエレメント操
作が検出される。モデル中のセグメントが移動されるか、除去されるか、操作さ
れる場合、あるいは新しいセグメントがモデルに追加される場合はステップ11
15でセグメント操作が検出される。モデルが操作される場合、すなわちグリッ
ドへの制約を受けずに自由に移動される場合、または例えばセグメントがグリッ
ドへの制約を受けずに自由に配置される場合には、ステップ1114でモデル操
作が検出される。 検出された操作に従い、モデルデータが生成され、更新され、あるいは操作さ
れる。
【0126】 ユーザが例えば図4に示したエレメントを含むエレメントライブラリからエレ
メントを選択する場合、ステップ1110「新しいエレメントの獲得」に入り、
選択されたエレメントが例えばタイプ「T401」であると識別される。続いて
ステップ1111で、選択されたエレメントはすでにワールド中にある別のエレ
メントに結合されるか、あるいは単独で配置され、それによりセグメントとして
扱われる。選択されたエレメントが結合されると、このエレメント、その位置お
よび方向を表すコードが既存のコードに追加されるか、または新しいコードが生
成される。
【0127】 別のエレメントがワールド中に存在する場合、ユーザはそのエレメントを選択
し、そのエレメントをその現在の位置から移動または結合解除することを決める
ことができる。そのようなイベントが検出される場合、そのエレメントを表す既
存のコードの部分は除去され一時的に保存される。
【0128】 選択されたエレメントは廃棄するか、または他の位置に結合/移動することが
できる。エレメントが廃棄されるイベントが検出される場合、そのエレメントは
ユーザインタフェースから消え、ステップ1109でテンポラリコードが消去さ
れる。あるいはエレメントが別の位置に結合されるイベントが検出される場合は
、そのエレメント、その新しい位置および方向を表すコードが生成され、既存コ
ードに挿入される。
【0129】 既存モデルを生成または修正するプロセスを高速化するために、他のセグメン
トおよびエレメントからなるセグメント全体は単一のオブジェクトとして扱うこ
とができる。
【0130】 セグメントがワールド中に存在する場合、ユーザは、移動または結合解除を受
けるセグメント内のすべてのセグメントおよびエレメントに共通であるアクショ
ンにより、そのセグメントを選択して、現在のその位置から移動または結合解除
することを決定することができる。このようなイベントが検出される場合、その
セグメント全体をあらわす既存コードの部分が除去され一時的に記憶される。
【0131】 セグメント全体を廃棄するイベントが検出される場合、そのセグメント全体が
ユーザインタフェースから消え、ステップ1106でテンポラリコードが消去さ
れる。あるいはエレメントを別の位置に結合するイベントが検出される場合は、
そのセグメント、その新しい位置および方向を表すコードが生成され、既存コー
ドに挿入される。
【0132】 さらにセグメントを操作することができ、モデルを移動することができる。ワ
ールド中にセグメントが存在する場合にはそれを操作することができる。すなわ
ち操作を受けるセグメント中のエレメントまたは他のセグメントは変更せずに、
セグメントを例えば指定の角度で回転させるか、あるいは指定の角速度で回転す
るように示すことができる。これは、ユーザインタフェースからの指定のイベン
トを検出し、例えばセグメントブロックの回転フィールド中のパラメータを修正
するなど、操作を受けるセグメントについてのコードをステップ1104で修正
することによって行うことができる。
【0133】 モデルがワールド中に存在する場合、そのモデルはセグメントの操作と同様に
移動することができるが、その代わりにステップ1103でモデルブロックの回
転フィールドおよび平行移動フィールド中のパラメータを修正する。
【0134】 所定のイベントでは、プロシージャはステップ1112で終了または停止する
ことができ、例えば生成されたセグメントおよびモデルを記憶することが含まれ
る。
【0135】 図12は、複数のクライアントにとってアクセス可能な共通ワールドにアクセ
スし、それを共用する方法の流れ図を示している。本発明の好ましい実施形態で
は、サーバがワールドのモデルを保持する。モデルは、ワールド中のセグメント
およびモデルの操作あるいはそれ以外の変更を許可されている複数のクライアン
トに配布することができ、あるいは新しいモデルおよびセグメントをワールドに
追加することができる。各クライアントによって行われた変更は、同一のワール
ドを共用する他のクライアントに転送することができる。したがって各クライア
ントは、他のクライアントがワールド中のモデルに何らかの変更を行う場合、ワ
ールドの自分のローカルコピーの変化を経験することになる。このようなワール
ドのクライアントローカルコピーの更新は、多数のユーザをサポートし、過度の
更新時間を回避すべき場合には非常に高速にかつ効率的に実行しなければならな
い。これは本発明によって可能になり、異なるクライアント自体がワールドと対
話をすることより常に変化しているように見える、複数クライアントにとってア
クセス可能な共通ワールドを提供する鍵となる。
【0136】 流れ図「ワールドのロード」の第1ステップ1201でクライアントとサーバ
間のログオンセッションが実行され、これにはクライアント名、適切なデータ転
送プロトコルなどの識別が含まれる。次のステップ1202では、ワールドのサ
ーバ記述がクライアントに転送される。このデータ転送の前、最中、または後に
クライアントおよびサーバは情報を交換して、モデル中のすべての構成要素、す
なわちモデル、セグメント、エレメントなどがクライアントによって知られてい
るかどうかを確定する。この検証はステップ1203で実行される。知られてい
ないモデルがワールド中にある場合は、ステップ1204で関連するモデルの適
切な記述が転送される。知られていないモデルがない場合は、クライアントはワ
ールドのコピーを持っているものと考えられ、したがってクライアントはモデル
およびセグメントを操作し、またはその他の点でワールド中の変更を行うことが
許される。
【0137】 以下に、本発明によるモデルの階層構造により情報をさらにクライアントに供
給する方法を提示する。モデル、セグメント、エレメント、およびモデルの他の
構成要素は一意の識別番号を有するものと想定する。したがってサーバはクライ
アントに例えば特定のモデルが存在するかどうかを尋ねることができ、その特定
モデルが存在する場合はデータをさらに転送する必要はなく、存在しない場合に
は、サーバは特定モデルの特定セグメントが存在するかどうかをクライアントに
尋ねることができる。このようにして、知られていないモデル構成要素だけをク
ライアントに転送すればよい。
【0138】 図13は、知られていないモデル、セグメント、およびエレメントを獲得する
方法の流れ図を示している。ただしこの流れ図は、各モデル階層レベルを連続的
に調べることにより、モデル、セグメント、エレメントの獲得にも一般に適用で
きるので、ここでは知られていないモデルの獲得法だけを示している。
【0139】 流れ図「モデルの獲得」の第1ステップ1301でモデルを獲得する方法に入
る。ステップ1302で、クライアントにおいてモデルが何らかの形態で入手可
能であるかどうかが検証され、入手可能である場合は、ステップ1305でその
モデルが実行時データベース(runtime data base )にローカルに転送される。
実行時データベースは、クライアントが対話することを望むワールドの一部であ
る構成要素の保持を担っている。あるいはモデルがローカルには入手不可能であ
るが、リモートすなわちサーバでは入手可能である場合には、このモデルはサー
バからクライアントの実行時データベースに転送される。この決定はステップ1
303で行われ、データはステップ1305で転送される。ステップ1303で
の決定が、モデルはリモートでも入手不可能であるとの決定である場合は、ステ
ップ1304でエラーを処理しなければならない。
【0140】 サーバからクライアントに転送されるモデルが、クライアントによって知られ
ていないセグメントを含む場合、これらのセグメントは知られていないモデルの
場合と同様に交換される。ステップ1306で、交換されるモデル中に知られて
いないセグメントがあるかどうかが検証される。知られていないセグメントがあ
る場合、ステップ1308でこれらのセグメントが交換され、知られていないセ
グメントがない場合、クライアントはステップ1307でワールドモデルの修正
を続行することができる。
【0141】 図9、10、11、12、13に示す好ましい実施形態は、ハードウェア、ソ
フトウェア、あるいはその組み合わせに実行することができる。
【0142】 ソフトウェアは、任意のデータ記憶メディアまたはデータ送信メディアを用い
て配布することができる。このメディアにはフロッピーディスク、CD−ROM
、ミニディスク、コンパクトディスクあるいはネットワークが含まれる。ネット
ワークは例えばインターネットであってよい。ネットワークを介してコンピュー
タプログラムをダウンロードすることにより、本発明のソフトウェア実施形態を
配布することができる。
【0143】 さらに、エレメントの幾何学的記述、モデルのパーツ、あるいは完成したモデ
ルは上記の任意のデータ記憶メディアまたはデータ転送メディアを用いて配布ま
たは交換することができる。
【0144】 各フィールドのために定義されるパラメータ表現は容易に読める文字および数
字によって示したが、本発明によるモデルの表現は決してそうした表現に制限さ
れるものではないことに留意されたい。実際には、通例、圧縮パラメータ表現ま
たはコード化パラメータ表現が使用される。これはデータ圧縮の分野で知られる
方法を用いて行うことができる。
【0145】 さらに、コード構造中のステートメントはトークン表現中のビットに変換でき
ることに留意されたい。したがってトークン表現は、コンパクトなデータ構造ま
たはデータパケットとしてコンピュータ間で送信することができる。
【0146】 以下の引用文献では、幾何学的記述(例えばVRML、3DMFなど)によっ
て記述され、かつ本発明によるモデル中でエレメントとして使用されることが好
ましいエレメントが開示される。
【0147】 Interlego AGに譲渡された米国特許第5,645,463号は、
ベースプレートと、ベースプレート上の円形孔に旋回できるように取り付けられ
るディスクからなるおもちゃの組立て(building)エレメントを開示する。ディ
スクと同様にベースプレートも、モジュール式グリッド中に配置される結合手段
を備える。好ましい実施形態では、ベースプレートを第1のセグメントまたは第
1のセグメントの一部とし、またディスクを第2のセグメントまたは第2のセグ
メントの一部とすることにより、この組立てエレメントは本発明に従ってモデリ
ングされる。本発明の先の説明から、軸フィールドおよび回転フィールドにより
、ベースプレート中のディスクの回転をモデリングできることが明らかになろう
。回転軸は、ベースプレートの面に対して垂直の方向で、ベースプレートの中心
にくるようにモデリングされる。
【0148】 Interlego AGに譲渡された米国特許第4,214,403号は、
2つのブロックのうち第1のものの1つの角にある管状のブッシュ、および2つ
のブロックのうち第2のものの中にある相補的な旋回ピンによりちょうつがい式
に相互結合される、一組の箱型のおもちゃの組立てブロックを含むおもちゃのち
ょうつがいエレメントを開示する。好ましい実施形態では、第1のブロックを第
1セグメントとし、第2のブロックを第2セグメントとすることにより、本発明
にしたがってこの組立てエレメントがモデリングされる。軸フィールドおよび回
転フィールドを用いることにより、第2ブロックに対する第1ブロックの回転を
モデリングすることが可能である。回転軸は旋回ピンに沿う方向で、旋回ピンの
中心にくるようにモデリングされる。第4,214,403号の説明では、固定
した相互結合方式で両方のブロックをまた別のブロックと結合できることが明ら
かである。これらの別のブロックは、それぞれ第1セグメントまたは第2セグメ
ント中のエレメントとしてモデリングすることができる。
【0149】 Interlego AGに譲渡された米国特許第5,645,463号は、
例えば軸を支えるための穴、結合用のスタッドおよびタブ、エレメントを留めて
相互結合するためのグリップ手段など複数タイプの結合手段を備える別のおもち
ゃの組立てエレメントを開示する。このおもちゃの組立エレメントも、相互結合
するようになされたエレメントのモデルを含む本発明に従ってモデリングするこ
とが可能である。上記の結合手段を用いると、別のエレメントをこの開示される
エレメントに結合することができる。このようなエレメントを本発明に従ってモ
デリングすると、そのエレメントをセグメントとして指定することが可能であり
、結合手段の位置に一致する位置での他セグメントとの相互結合をサポートする
。これは、上記のように軸フィールドおよび回転フィールドを追加することによ
り行われる。
【0150】 Magic Mold Corporationに譲渡された米国特許第5,
061,219号は、例えば軸を支えるための穴、1つまたは複数のグリップソ
ケットを受ける(have)ためのハブ状コネクタなど複数タイプの結合手段と
、例えば支柱状の構成で、グリップソケットにはまるように構成された端部を有
する構造エレメントとからなる建築おもちゃ組立てエレメントを開示する。この
建築用おもちゃ組立エレメントは、第1の軸について4つの可能な方向を、第1
軸に対して直交する第2軸について4つの可能な方向を、第1軸および第2軸に
対して直交する第3の軸について8つの可能な方向を有するエレメントとしてモ
デリングすることができる。ハブ状コネクタの中心孔は、おもちゃエレメントの
位置を記述するための基準として使用することができる。
【0151】 さらに米国特許第5,423,707号、第5,137,486号、第5,1
99,919号、第5,421,762号、第5,238,438号に、建築お
もちゃ組立てエレメントが開示される。
【0152】 本発明を上記に示したもの以外のモジュール式組立てシステムをモデリングす
るために使用できることは明らかである。
【0153】 本発明は直交座標系を参照して説明したが、本発明に従って使用される定義に
は他の座標系を使用することができる。
【0154】 本発明はここに示すコードに制限されるものではなく、このコードは好ましい
実施形態として選択されるものである。したがって本発明は特定のブロックおよ
びフィールドのステートメント(例えばセグメントブロック、平行移動フィール
ドなど)に制限されない。パラメータの表現(例えば4のオフセット値、90度
の回転角度など)はこの開示で、読んで理解することが容易な表現として使用さ
れている。ただし当分野の技術者には、この表現を、コンピュータ可読メディア
上のデータ構造に記憶するのに十分に利便な表現に変換することはよく知られて
いる。
【0155】 データ構造は、関連するパラメータおよびブロックの範囲を識別するブラケッ
トを含む、ブロックおよびフィールドのステートメントの直接表現としてもよい
。それによりデータ構造は、例えば直接のASCII表現として記憶することが
できる。あるいは、データ構造は、バイナリコードによって識別されるブロック
またはフィールドを各項目が表し、またフィールドと関連付けられたパラメータ
が例えばバイナリコードフォーマットで記憶されるコード化リスト項目構造とし
て解釈してもよい。ただし、本発明による必要な情報を記憶するためには他の適
切なデータ構造を選択してもよい。データ構造を、ブロックおよびフィールドの
定義に使用され、また例の中で使用される直接のコード表現とすることにより、
ブラケットによって設定されるブロックの範囲のためにブロックおよびフィール
ドの階層が自動的にデータ構造に組み込まれる。ただし、例えば各エレメントに
ついてそれがどの優位セグメント、モデル、およびワールドの一部であるのかを
識別し、同様にセグメントについてもそれがどのモデルおよびワールドの一部で
あるのかを指定することにより、この階層は他の方式でも指定することができる
。あるいは、優位のブロックを識別することにより階層を指定することも可能で
ある。
【0156】 この説明中、用語「幾何学オブジェクト」は、本発明によるモデリングを受け
る現実世界または仮想世界のオブジェクトとして理解すべきである。 この説明中、用語「操作」は、モデルの幾何学的解釈の部分を移動および/ま
たは回転するアクションを含むものとして非常に広範囲に解釈すべきである。 この説明中、用語「メタ記述」とは操作の実際の記述である。 一般的用語「モデリングする」または「本発明によるモデル」は、用語「モデ
ルブロック」と混同すべきではない。
【0157】 本発明の基本概念は、モデルを非常に制約する点にあり、それは一見したとこ
ろではモデリング概念の可能性を制限するように思われることである。しかし実
際はこれによりモデルの非常にコンパクトな表現を選択することが可能になり、
その表現が非常にコンパクトでありアクセスが容易であるという点において非常
に柔軟性のあるモデル構造が得られ、したがって本発明によるモデルの修正、対
話、あるいは操作において高速で効率的な処理が可能になる。さらに、送信ネッ
トワークを介してかなり複雑なオブジェクトのモデルを非常に高速に送信するこ
とが可能になる。
【図面の簡単な説明】
【図1】 従来技術のバーチャルリアリティモデリング言語による幾何学オブジェクトモ
デルの階層構造を示す図である。
【図2a】 本発明によるモデリングを受ける第1のオブジェクトを示す図である。
【図2b】 本発明によるモデリングを受ける第2のオブジェクトを示す図である。
【図3】 本発明による幾何学オブジェクトモデルの階層構造を示す図である。
【図4】 2つのエレメントファミリーを示す図である。
【図5】 第3の幾何学オブジェクトのモデルを構築するプロセスの第1ステップを示す
図である。
【図6】 第3の幾何学オブジェクトのモデルを構築するプロセスの第2ステップを示す
図である。
【図7】 第3の幾何学オブジェクトのモデルを構築するプロセスの第3ステップを示す
図である。
【図8】 本発明によりモデリングする第4のオブジェクトを示す図である。
【図9】 本発明による幾何学モデルを設計し、記憶し、操作し、共用するためのクライ
アントコンピュータシステムの図である。
【図10】 本発明による幾何学的構造体を処理するためのサーバコンピュータシステムを
示す図である。
【図11】 セグメントおよびモデルを操作するのと並行してセグメントおよびモデルを構
築する方法の流れ図である。
【図12】 複数のクライアントからアクセス可能な共通のワールドにアクセスし、それを
共用する方法の流れ図である。
【図13】 モデル情報を転送する方法の流れ図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,US,UZ,VN,YU,ZA,ZW (72)発明者 ティムセンコ,オルガ デンマーク国 デーケー−7190 ビラン ド,エスティ.ティーエッチ.,ローゼン ガーデン 9 Fターム(参考) 5B046 AA05 BA01 DA10 FA02 FA18 5B080 AA13 BA01 BA08

Claims (47)

    【特許請求の範囲】
  1. 【請求項1】 幾何学オブジェクトのコンピュータ可読モデルを生成する方
    法であって、エレメントの集合についての幾何学的形状の表現を含むデータベー
    スにアクセスできるコンピュータ上でモデルが生成され、該方法は、 第1データ構造中のビットをコード化して、集合から第1のエレメントセット
    を識別し、第1の座標系中の整数座標によりエレメントの制約位置を表すステッ
    プと、 第2データ構造中のビットをコード化して、第1座標系に対する第2座標系の
    空間的変換を表すステップと、 第1および第2のデータ構造を、幾何学オブジェクトのコンピュータ可読モデ
    ルとするステップを含む方法。
  2. 【請求項2】 第3データ構造中のビットをコード化して、集合から第2の
    エレメントセットを識別し、第2座標系中の整数座標によりエレメント位置を表
    すステップと、これらのビットをコンピュータ可読モデル中に含むステップをさ
    らに含む請求項1に記載の方法。
  3. 【請求項3】 第2データ構造中のビットをコード化して、制約のある空間
    的変換を表す請求項1または2のいずれか一項に記載の方法。
  4. 【請求項4】 第2データ構造中のビットをコード化して軸の位置を表し、
    その軸を中心とする、第2座標系の第2座標系に対する回転を表すステップをさ
    らに含む請求項1から3のいずれか一項に記載の方法。
  5. 【請求項5】 第3データ構造中のビットをコード化するステップが、第3
    データ構造中のビットをコード化して第2座標系中の整数座標により軸の位置を
    表すステップをさらに含む請求項1から4のいずれか一項に記載の方法。
  6. 【請求項6】 第3データ構造中のビットをコード化するステップが、第2
    データ構造中のビットをコード化して、事前定義された相互に直交する軸のセッ
    ト中の1つの軸に沿った方向を識別することにより、軸の方向を表すステップを
    さらに含む請求項1から5のいずれか一項に記載の方法。
  7. 【請求項7】 第1および第3データ構造中のビットをコード化して、第1
    座標系および第2座標系内のエレメントの方向をそれぞれ表すステップをさらに
    含む請求項2から6のいずれか一項に記載の方法。
  8. 【請求項8】 ビットをコード化して、事前定義された相互に直交する軸の
    セット中の1つの軸に沿った方向を識別することによりエレメントの方向を表す
    ステップをさらに含む請求項1から7のいずれか一項に記載の方法。
  9. 【請求項9】 第4データ構造中のビットをコード化して、第3座標系に対
    する第1座標系および第2座標系の空間的変換を表すステップと、 第4データ構造を幾何学オブジェクトのコンピュータ可読モデル中に含むステ
    ップをさらに含む請求項1から8のいずれか一項に記載の方法。
  10. 【請求項10】 整数座標がそれぞれ3次元ボリュームを識別することがで
    き、その逆も可能であり、また3次元ボリュームのサイズが、整数座標により2
    つのエレメントの位置表現を可能にするようになされ、密着した幾何学オブジェ
    クトを形成するために2つのエレメントが随伴行列である請求項1から9のいず
    れか一項に記載の方法。
  11. 【請求項11】 エレメントが、よく知られるおもちゃの組立てエレメント
    に似た幾何学的形状表現を備える請求項1から10のいずれか一項に記載の方法
  12. 【請求項12】 少なくとも形状の一部がエレメントの可能な相互結合の結
    合手段またはビジュアリゼーションに似るようになされた幾何学的形状表現をエ
    レメントが備える請求項1から11のいずれか一項に記載の方法。
  13. 【請求項13】 エレメントの集合の幾何学的形状表現が、座標系中の実数
    型の数によって与えられる座標からなる請求項1から12のいずれか一項に記載
    の方法。
  14. 【請求項14】 第3データ構造中のビットをコード化して第2座標系中の
    原点に対する整数座標を表すステップと、第1座標系内のエレメントとの相互結
    合の座標をその原点が定義するステップと、第2座標系内の相互結合の新しい座
    標に応答して、第2座標系内の新しい原点を定義するステップと、新しい原点の
    結果として第2座標系内のエレメントの新しい位置を計算するステップと、第2
    データ構造中のビットをコード化して計算の結果を表すステップをさらに含む請
    求項1から13のいずれか一項に記載の方法。
  15. 【請求項15】 第1データ構造中のビットをコード化して軸位置を表し、
    それにより第1座標系内の第2座標系中のエレメントとの相互結合の座標を定義
    するステップと、第1座標系内の相互結合の新しい座標を定義して、第1座標系
    に対する第2座標系内のエレメントの新しい位置を表すステップと、第1データ
    構造中のビットをコード化して新しい軸位置を表すステップであって、その新し
    い位置が相互結合の新しい座標であるステップをさらに含む請求項4から14の
    いずれか一項に記載の方法。
  16. 【請求項16】 ユーザとユーザインタフェース間の対話を表す信号を提供
    するユーザコントロールを含むユーザインタフェースを有するコンピュータ上で
    方法を実行するステップであって、その対話がコンピュータ可読モデルの幾何学
    的表現の修正および/または操作を含むステップと、その信号をコンピュータ可
    読モデルまたは修正されたコンピュータ可読モデルに変換するステップとをさら
    に含む請求項1から15のいずれか一項に記載の方法。
  17. 【請求項17】 コード化ビットまたはコンピュータ可読モデルを、コンピ
    ュータに接続された通信ネットワークを介して送信するステップをさらに含む請
    求項1から16のいずれか一項に記載の方法。
  18. 【請求項18】 コード化ビットまたはコンピュータ可読モデルを、コンピ
    ュータに接続された通信ネットワークを介してコンピュータ上で受信するステッ
    プをさらに含む請求項17に記載の方法。
  19. 【請求項19】 データ転送のためにローカルデータベースおよびリモート
    データベースに接続するステップと、 第1に、各エレメントについて幾何学的形状の表現がローカルで入手可能である
    かどうかを調べるためにローカルデータベースを調べるステップと、 第2に、幾何学的形状の表現がローカルで入手可能である場合はローカルデータ
    ベースからその幾何学的形状を取り出し、あるいはローカルで入手可能でない場
    合は、その幾何学的形状がリモートデータベース中にあればその幾何学的形状を
    リモートデータベースから取り出すステップとをさらに含む請求項1から18の
    いずれか一項に記載の方法。
  20. 【請求項20】 その空間的相互関係が、第1、第2および第3のデータ構
    造に従って記述されると、幾何学的形状を表す表示可能なデータを生成するステ
    ップをさらに含む請求項1から19のいずれか一項に記載の方法。
  21. 【請求項21】 記録されたプログラムをその上に有するコンピュータ可読
    メディアであって、そのプログラムが実行されると、請求項1から20のいずれ
    か一項による方法をコンピュータに実行させるコンピュータ可読メディア。
  22. 【請求項22】 請求項1から20のいずれか一項による方法を実行する手
    段を備えるコンピュータシステム。
  23. 【請求項23】 請求項1から20のいずれか一項による方法を使用するた
    めのデータ構造を有する、幾何学オブジェクトのコンピュータ可読モデル。
  24. 【請求項24】 幾何学オブジェクトのコンピュータ可読モデルを解釈する
    方法であって、ユーザインタフェースを有するコンピュータ、およびエレメント
    の集合についての幾何学的形状の表現を含むデータベースにアクセスできるコン
    ピュータ上でモデルが解釈され、該方法は、 第1データ構造中のビットをデコードして、集合から第1のエレメントセット
    を識別し、第1座標系内の整数座標によりエレメントの位置を識別するステップ
    と、 第2データ構造中のビットをデコードして、第1座標系に対する第2座標系の
    空間的変換を識別するステップと、 識別済みの幾何学的形状表現を取り出し、その空間的相互関係が第1および第
    2のデータ構造に従って記述されると、その幾何学的形状を表す表示可能データ
    を生成するステップとをさらに含む方法。
  25. 【請求項25】 第3データ構造中のビットをデコードして集合から第2の
    エレメントセットを識別し、また第2座標系内の整数座標によりエレメントの位
    置を識別し、これらのビットをコンピュータ可読モデル中に含むステップをさら
    に含む請求項24に記載の方法。
  26. 【請求項26】 第2データ構造中のビットをデコードして、制約された空
    間的変換だけを識別するステップを含む請求項24または25のいずれか一項に
    記載の方法。
  27. 【請求項27】 第2データ構造中のビットをデコードして軸の位置を識別
    し、またその軸を中心とする、第2座標系に対しての第2座標系の回転を識別す
    るステップをさらに含む請求項25または26のいずれか一項に記載の方法。
  28. 【請求項28】 第2データ構造中のビットをデコードして、第2座標系内
    の整数座標により軸の位置を識別するステップをさらに含む請求項25から27
    のいずれか一項に記載の方法。
  29. 【請求項29】 第2データ構造中のビットをデコードして、事前定義され
    た相互に直交する軸のセット中の1つの軸に沿った方向を識別することにより軸
    の方向を識別するステップをさらに含む請求項26から28のいずれか一項に記
    載の方法。
  30. 【請求項30】 第1および第3のデータ構造中のビットをデコードして、
    第1座標系および第2座標系内のエレメントの位置をそれぞれ識別するステップ
    をさらに含む請求項26から29のいずれか一項に記載の方法。
  31. 【請求項31】 ビットをデコードして、事前定義された相互に直交する軸
    のセット中の1つの軸に沿った方向の識別を読み取ることにより、エレメントの
    方向を識別するステップをさらに含む請求項30に記載の方法。
  32. 【請求項32】 第4のデータ構造中のビットをデコードして、第3座標系
    に対する第1および第2の座標系の空間的変換を識別するステップと、 その空間的変換に従って見えるように表示可能データを修正するステップとをさ
    らに含む請求項24から31のいずれか一項に記載の方法。
  33. 【請求項33】 整数座標がそれぞれ3次元ボリュームを識別することがで
    き、その逆も可能であり、また3次元ボリュームのサイズが、整数座標による2
    つのエレメントの表示可能な位置を可能にするようになされ、密着した幾何学オ
    ブジェクトを形成するために2つのエレメントが随伴行列である請求項24から
    32のいずれか一項に記載の方法。
  34. 【請求項34】 エレメントが、よく知られるおもちゃの組立てエレメント
    に似た幾何学的形状の表現を含む請求項24から33のいずれか一項に記載の方
    法。
  35. 【請求項35】 エレメントが幾何学的形状の表現からなり、形状の少なく
    とも一部が、エレメントの可能な相互結合の結合手段またはビジュアリゼーショ
    ンに似るようになされている請求項24から34のいずれか一項に記載の方法。
  36. 【請求項36】 エレメントの集合についての幾何学的形状の表現が、座標
    系内の非整数座標を含む請求項24から35のいずれか一項に記載の方法。
  37. 【請求項37】 第3データ構造中のビットをデコードして、第2座標系中
    の原点に対する整数座標を表すステップであって、その原点が第1座標系内のエ
    レメントとの相互結合の座標を定義するステップと、 第2座標系内の相互結合の新しい座標に応答して第3座標系内の新しい原点を
    定義するステップと、 新しい原点の結果として、第2座標系内のエレメントの新しい位置を計算する
    ステップと、 第3データ構造中のビットをコード化して計算の結果を表すステップとをさら
    に含む請求項25から36のいずれか一項に記載の方法。
  38. 【請求項38】 第1データ構造中のビットをデコードして軸の位置を表し
    、それにより第1座標系内の相互結合の座標を定義するステップと、 第1座標系内の相互結合の新しい座標を定義して、第1座標系に対する第2座
    標系内のエレメントの新しい位置を表すステップと、 第1データ構造中のビットをコード化して新しい軸位置を表すステップであっ
    て、その新しい位置が相互結合の新しい座標であるステップとをさらに含む請求
    項27から37のいずれか一項に記載の方法。
  39. 【請求項39】 ユーザとユーザインタフェース間の対話を表す信号を提供
    するユーザコントロールを含むユーザインタフェースを有するコンピュータ上で
    方法を実行するステップであって、その対話がコンピュータ可読モデルの幾何学
    的表現の修正および/または操作を含むステップと、 信号をコンピュータ可読モデルまたは修正済みのコンピュータ可読モデルに変
    換するステップとをさらに含む請求項24から38のいずれか一項に記載の方法
  40. 【請求項40】 データ構造に従って平面または曲面(curved expanse)上
    に現れる幾何学的形状の投影を計算することにより、コンピュータ可読モデルを
    表示可能データに変換するステップをさらに含む請求項24から39のいずれか
    一項に記載の方法。
  41. 【請求項41】 コンピュータ可読モデルを表すバイナリファイルタイプか
    ら、コンピュータ可読モデルを読み出すステップをさらに含む請求項24から4
    0のいずれか一項に記載の方法。
  42. 【請求項42】 コンピュータに接続された通信ネットワークを介して、ビ
    ットまたはコンピュータ可読モデルを送信するステップをさらに含む請求項24
    から41のいずれか一項に記載の方法。
  43. 【請求項43】 コンピュータに接続された通信ネットワークを介して、ビ
    ットまたはコンピュータ可読モデルをコンピュータ上で受信するステップをさら
    に含む請求項42に記載の方法。
  44. 【請求項44】 データベースをローカルデータベースおよびリモートデー
    タベースに切り離すステップと、 第1に、各エレメントについて幾何学的形状の表現がローカルで入手可能かど
    うかを調べるためにローカルデータベースを調べるステップと、 第2に、幾何学的形状がローカルで入手可能である場合はローカルデータベー
    スからその幾何学的形状を取り出し、あるいは幾何学的形状がローカルで入手可
    能でない場合は、その形状がリモートデータベース中に存在すればリモートデー
    タベースから幾何学的形状を取り出すステップとをさらに含む請求項24から4
    3のいずれか一項に記載の方法。
  45. 【請求項45】 その上に記録されたプログラムを有するコンピュータ可読
    メディアであって、プログラムが実行されると、請求項24から44のいずれか
    一項による方法をコンピュータに実行させるコンピュータ可読メディア。
  46. 【請求項46】 請求項24から44のいずれか一項による方法を実行する
    手段を有するコンピュータシステム。
  47. 【請求項47】 請求項24から44のいずれか一項による方法を使用する
    ためのデータ構造を有する幾何学オブジェクトのコンピュータ可読モデル。
JP2000595310A 1999-01-22 2000-01-21 バーチャルリアリティモデリング Pending JP2002535787A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DK199900095 1999-01-22
DKPA199900095 1999-01-22
PCT/DK2000/000027 WO2000043959A2 (en) 1999-01-22 2000-01-21 Virtual reality modelling

Publications (2)

Publication Number Publication Date
JP2002535787A true JP2002535787A (ja) 2002-10-22
JP2002535787A5 JP2002535787A5 (ja) 2007-01-18

Family

ID=8089684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000595310A Pending JP2002535787A (ja) 1999-01-22 2000-01-21 バーチャルリアリティモデリング

Country Status (15)

Country Link
EP (1) EP1323136B1 (ja)
JP (1) JP2002535787A (ja)
KR (1) KR100623546B1 (ja)
CN (1) CN1168048C (ja)
AT (1) ATE278226T1 (ja)
AU (1) AU2092900A (ja)
CA (1) CA2358893C (ja)
DE (1) DE60014455T2 (ja)
DK (1) DK1323136T3 (ja)
ES (1) ES2226772T3 (ja)
HK (1) HK1042576B (ja)
NO (1) NO319715B1 (ja)
PL (1) PL364759A1 (ja)
PT (1) PT1323136E (ja)
WO (1) WO2000043959A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006502485A (ja) * 2002-10-11 2006-01-19 レゴ エー/エス コンピュータ読み取り可能なモデル

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495443C (zh) * 2002-10-11 2009-06-03 乐高公司 生成计算机可读模型的方法和数据处理系统
CA2524031C (en) 2003-05-20 2015-07-07 Interlego Ag Method and system for manipulating a digital representation of a three-dimensional object
US7596473B2 (en) 2003-05-20 2009-09-29 Interlego Ag Method of constructing a virtual construction model
US7467154B2 (en) 2005-06-29 2008-12-16 Microsoft Corporation Producing a locally optimal path through a lattice by overlapping search
DE102006026453A1 (de) * 2006-05-31 2007-12-06 Siemens Ag Bildtransformationsverfahren
US9230360B2 (en) * 2009-10-02 2016-01-05 Lego A/S Connectivity depended geometry optimization for real-time rendering
US9898556B2 (en) * 2011-06-20 2018-02-20 Ford Global Technology, Llc Immersive dimensional variation
CN103996327A (zh) * 2014-03-23 2014-08-20 成都理工大学 一种空间坐标变换器教具
CN105404714B (zh) * 2015-10-28 2019-01-15 北京瀚方伟业工程技术有限公司 一种在建模软件中在位修改构件位置的方法和装置
CN106095436A (zh) * 2016-06-12 2016-11-09 浪潮(苏州)金融技术服务有限公司 一种使用多维化技术构建数据组件的方法
CN106552421A (zh) * 2016-12-12 2017-04-05 天津知音网络科技有限公司 Ar儿童拼图系统
WO2018188055A1 (zh) * 2017-04-14 2018-10-18 深圳市方鹏科技有限公司 一种虚拟现实技术的建模空间定位装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU761202B2 (en) * 1997-09-22 2003-05-29 Sony Corporation Generation of a bit stream containing binary image/audio data that is multiplexed with a code defining an object in ascii format

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006502485A (ja) * 2002-10-11 2006-01-19 レゴ エー/エス コンピュータ読み取り可能なモデル

Also Published As

Publication number Publication date
PT1323136E (pt) 2005-02-28
KR20010113659A (ko) 2001-12-28
PL364759A1 (en) 2004-12-13
EP1323136B1 (en) 2004-09-29
NO20013479L (no) 2001-09-13
WO2000043959A2 (en) 2000-07-27
WO2000043959A3 (en) 2000-11-30
HK1042576A1 (en) 2002-08-16
HK1042576B (zh) 2005-03-04
KR100623546B1 (ko) 2006-09-13
CN1168048C (zh) 2004-09-22
AU2092900A (en) 2000-08-07
CA2358893A1 (en) 2000-07-27
DK1323136T3 (da) 2005-01-10
EP1323136A2 (en) 2003-07-02
DE60014455T2 (de) 2005-03-03
ATE278226T1 (de) 2004-10-15
CN1341249A (zh) 2002-03-20
NO20013479D0 (no) 2001-07-13
ES2226772T3 (es) 2005-04-01
CA2358893C (en) 2008-07-29
NO319715B1 (no) 2005-09-05
DE60014455D1 (de) 2004-11-04

Similar Documents

Publication Publication Date Title
US6389375B1 (en) Virtual reality modelling
US5588104A (en) Method and apparatus for creating virtual worlds using a data flow network
Gain et al. A survey of spatial deformation from a user-centered perspective
US5894310A (en) Intelligent shapes for authoring three-dimensional models
US7236170B2 (en) Wrap deformation using subdivision surfaces
JP2002535787A (ja) バーチャルリアリティモデリング
JP2008502960A (ja) 組立てブロックモデルのための組立て指示の自動作成
USRE40693E1 (en) Method and apparatus for creating a wireframe and polygon virtual world
WO2004104936A1 (en) Defrobulated angles for character joint representation
US7057618B2 (en) Patch picking methods and apparatus
Mudge et al. 3d modeling for non-expert users with the castle construction kit v0. 5
Fu et al. Easyvrmodeling: Easily create 3d models by an immersive vr system
Rossignac The 3D revolution: CAD access for all!
US6683620B1 (en) Relational modeling of trimmed nurbs surfaces
Hajek Creation of information-rich 3D model in Geographic Information System-case study at the castle kozel
WO2005116935A2 (en) Pickwalking methods and apparatus
Raymaekers et al. Icome: an immersive collaborative 3d object modelling environment
Caddigan et al. Vmd user’s guide
WO2001031585A9 (en) Three dimensional computer graphics drawing system
KR101005322B1 (ko) 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법
Foster et al. Multi-user modeling of nurbs-based objects
Hananto et al. Increasing the Detail and Realism in Web3D Distributed World
Grasberger et al. Sketch-based Collaborative Interactive Implicit Modelling at a Distance
Batty et al. 3 Geographical Information Systems and Urban Design
Reichl Procedural modeling of buildings

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061124

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090715

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091015

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091015

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100120