JPH10105737A - 画像処理方法 - Google Patents
画像処理方法Info
- Publication number
- JPH10105737A JPH10105737A JP9249114A JP24911497A JPH10105737A JP H10105737 A JPH10105737 A JP H10105737A JP 9249114 A JP9249114 A JP 9249114A JP 24911497 A JP24911497 A JP 24911497A JP H10105737 A JPH10105737 A JP H10105737A
- Authority
- JP
- Japan
- Prior art keywords
- memory area
- data
- detail
- level
- data record
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Shaping Of Tube Ends By Bending Or Straightening (AREA)
- Mechanical Coupling Of Light Guides (AREA)
Abstract
(57)【要約】
【課題】 三次元画像を表示する方法の1つであるプロ
グレッシブメッシュ法は、物体をリアルタイムで表示す
ることができない。 【解決手段】 物体の表面データを生成し、この表面デ
ータを頂点の座標としてメモリ1に記憶する。階層デー
タ構造の表面データのデータレコードをメモリ1に記憶
する。メモリ1に記憶されたデータレコードにより最低
詳細度レベルを演算装置2で演算する。各データレコー
ドの最低詳細度レベルとそのデータレコードに記憶され
ている詳細度レベルとを演算装置2で比較する。比較し
たデータレコードの表面データをメモリ1にコピーす
る。メモリ1でアドレス指定される表面データ要素を物
体の形状表示のために外部装置4へ出力する。
グレッシブメッシュ法は、物体をリアルタイムで表示す
ることができない。 【解決手段】 物体の表面データを生成し、この表面デ
ータを頂点の座標としてメモリ1に記憶する。階層デー
タ構造の表面データのデータレコードをメモリ1に記憶
する。メモリ1に記憶されたデータレコードにより最低
詳細度レベルを演算装置2で演算する。各データレコー
ドの最低詳細度レベルとそのデータレコードに記憶され
ている詳細度レベルとを演算装置2で比較する。比較し
たデータレコードの表面データをメモリ1にコピーす
る。メモリ1でアドレス指定される表面データ要素を物
体の形状表示のために外部装置4へ出力する。
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は画像処理方法に関
し、特に、可変詳細度レベルで物体の表面形状を出力装
置に表示する画像処理方法に関するものである。
し、特に、可変詳細度レベルで物体の表面形状を出力装
置に表示する画像処理方法に関するものである。
【0002】
【従来の技術】三次元図形を操作する方法は、CAD、
医療用3Dスキャナデータ又は産業用3Dスキャナデー
タの視覚表示、飛行シミュレーション又は運転シミュレ
ーション、あるいは複雑な経済関係の表現など、広い範
囲で応用されている。
医療用3Dスキャナデータ又は産業用3Dスキャナデー
タの視覚表示、飛行シミュレーション又は運転シミュレ
ーション、あるいは複雑な経済関係の表現など、広い範
囲で応用されている。
【0003】三次元物体を表現するための最も重要な基
本要素の1つはポリゴンである。ポリゴンの最も単純な
形態が三角形である。物体表面は、たとえば、三角形に
より形成される細かい格子により、ほぼ任意の正確度を
もって記述できる。このような物体の表面形状に対して
は、画像表示速度は特に重要である。この点に関して、
三種類の方法、すなわち、非対話型表示法、対話型表示
法及びイマーシブ(immersive)表示法を区別している。
本要素の1つはポリゴンである。ポリゴンの最も単純な
形態が三角形である。物体表面は、たとえば、三角形に
より形成される細かい格子により、ほぼ任意の正確度を
もって記述できる。このような物体の表面形状に対して
は、画像表示速度は特に重要である。この点に関して、
三種類の方法、すなわち、非対話型表示法、対話型表示
法及びイマーシブ(immersive)表示法を区別している。
【0004】非対話型表示法では、コンピュータグラフ
ィックス又は形状表現をそれぞれ所定の時間内に計算す
る必要がない。たとえば、フィルム製造の場合、計算期
間は数週間から数か月と長い。
ィックス又は形状表現をそれぞれ所定の時間内に計算す
る必要がない。たとえば、フィルム製造の場合、計算期
間は数週間から数か月と長い。
【0005】対話型表示法においては、三次元物体との
間の対話作業が可能でなければならない。この目的のた
めに、1秒につき三枚の画像の表示を計算し、それらの
画像を表示しなければならない。さもないと、たとえ
ば、マウスを動かすなどの手段によるユーザからの入力
と、物体の回転などの応答との関係が失われてしまう。
対話型表示法の一例は一般的なCADアプリケーション
である。
間の対話作業が可能でなければならない。この目的のた
めに、1秒につき三枚の画像の表示を計算し、それらの
画像を表示しなければならない。さもないと、たとえ
ば、マウスを動かすなどの手段によるユーザからの入力
と、物体の回転などの応答との関係が失われてしまう。
対話型表示法の一例は一般的なCADアプリケーション
である。
【0006】3種類目の表示法はイマーシブ画像表示法
である。この方法によれば、観察者がスムーズな動きを
見ているという印象を得るように、三次元画像を速やか
に表示しなければならない。この効果は毎秒15枚以上
の画像を表示することによって得られる。イマーシブ表
示法は、たとえば、運転シミュレーションや飛行シミュ
レーションなどのバーチャルリアリティを含めた用途で
応用される。
である。この方法によれば、観察者がスムーズな動きを
見ているという印象を得るように、三次元画像を速やか
に表示しなければならない。この効果は毎秒15枚以上
の画像を表示することによって得られる。イマーシブ表
示法は、たとえば、運転シミュレーションや飛行シミュ
レーションなどのバーチャルリアリティを含めた用途で
応用される。
【0007】対話型画像表示法、または、イマーシブ表
示法は、いわゆるリアルタイム表示法である。たとえ
ば、イマーシブ画像表示を実行するために中程度の性能
のコンピュータを使用する場合、画像に含まれる物体
は、全て、ある数以上の格子三角形を含んでいてはなら
ない。従って、コンピュータの効率が物体を表現する際
の正確度の限界を決定する。一般的なLOD(詳細度レ
ベル level of detail)法では、物体の表示が始ま
る前に、詳細度レベルによって区別され、従って、複雑
度レベルによっても区別されるいくつかの形状仕様を作
成する。三次元画像表示においては、1つの形状表示表
現を特定の基準の関数として選択する。たとえば、観察
者から遠く離れた小さな物体はごく不正確にしか表示さ
れないため、重要な物体又は物体セグメントの正確な表
示のために十分な計算容量を利用できるできる。
示法は、いわゆるリアルタイム表示法である。たとえ
ば、イマーシブ画像表示を実行するために中程度の性能
のコンピュータを使用する場合、画像に含まれる物体
は、全て、ある数以上の格子三角形を含んでいてはなら
ない。従って、コンピュータの効率が物体を表現する際
の正確度の限界を決定する。一般的なLOD(詳細度レ
ベル level of detail)法では、物体の表示が始ま
る前に、詳細度レベルによって区別され、従って、複雑
度レベルによっても区別されるいくつかの形状仕様を作
成する。三次元画像表示においては、1つの形状表示表
現を特定の基準の関数として選択する。たとえば、観察
者から遠く離れた小さな物体はごく不正確にしか表示さ
れないため、重要な物体又は物体セグメントの正確な表
示のために十分な計算容量を利用できるできる。
【0008】三次元物体のコンピュータ支援表示の場
合、物体を表面形状仕様の形で記憶する。そのような方
式では、複数の表面部分、すなわち、ポリゴンの網目に
よって物体表面を近似する。表面形状格子は対話型設計
法又は自動設計法のいずれかにより生成される。
合、物体を表面形状仕様の形で記憶する。そのような方
式では、複数の表面部分、すなわち、ポリゴンの網目に
よって物体表面を近似する。表面形状格子は対話型設計
法又は自動設計法のいずれかにより生成される。
【0009】対話型設計法においては、ユーザは物体を
直接に幾何学形状として規定する。ユーザは格子形状を
直接に設計する。従って、この設計モードは非常に長い
時間を必要とするので、このような対話型設計法によっ
て得られる物体は、原則として、それほど複雑ではな
い。
直接に幾何学形状として規定する。ユーザは格子形状を
直接に設計する。従って、この設計モードは非常に長い
時間を必要とするので、このような対話型設計法によっ
て得られる物体は、原則として、それほど複雑ではな
い。
【0010】自動設計法は、たとえば、セグメントに分
割された三次元スキャナデータの形態をとる所定の物体
仕様を必要とする。このデータを表現するために、物体
表面を自動的に取り出し、格子システムにより記述す
る。それらの処理過程を実現するために採用される方法
の大半において、最大限の正確度で近似を生成しようと
する試みがなされている。そのため、自動設計法では通
常、非常に大量の格子三角形が生成される。断層画像に
基づいて物体形状仕様を設計する一般的な方法は、たと
えば、ACM Computergraphics (1987年刊)の16
3ページから169ページに掲載されたWilliam E. Lor
ensen 及びH. E. Cline の「Marching Cubes:a high-r
esolution 3D surface construction algorithm 」の中
に記載されている。この方法は多くの医療用プログラム
システム及び産業用プログラムシステムにおいて採用さ
れている。
割された三次元スキャナデータの形態をとる所定の物体
仕様を必要とする。このデータを表現するために、物体
表面を自動的に取り出し、格子システムにより記述す
る。それらの処理過程を実現するために採用される方法
の大半において、最大限の正確度で近似を生成しようと
する試みがなされている。そのため、自動設計法では通
常、非常に大量の格子三角形が生成される。断層画像に
基づいて物体形状仕様を設計する一般的な方法は、たと
えば、ACM Computergraphics (1987年刊)の16
3ページから169ページに掲載されたWilliam E. Lor
ensen 及びH. E. Cline の「Marching Cubes:a high-r
esolution 3D surface construction algorithm 」の中
に記載されている。この方法は多くの医療用プログラム
システム及び産業用プログラムシステムにおいて採用さ
れている。
【0011】最新のグラフィックスハードウェアは効率
が良いにもかかわらず、複雑な物体の三次元表示をリア
ルタイムで生成することは必ずしも可能ではない。これ
は対話型表示法や、特にイマーシブ表示法について言え
ることである。従って、そのような表示方法において
は、かなり少数の基本形状要素又は基本ポリゴンにより
物体を制限することによって、表面仕様を単純化しなけ
ればならない。採用されるリダクション法は2つのグル
ープに分けられる。いわゆる大域法は全く新しい表面仕
様を生成するが、局所法は対話型方式で動作し、たとえ
ば、表面のアマルガメーションによって表面の局所領域
を単純化する。一般的なリダクションは、たとえば、Ca
rl Eriksonの「Polygonal simplification: An Overvie
w 」(Technical Report, Department of Computer Sci
ence, UNC Chapel Hill, 1996年刊)の中に記載さ
れている。
が良いにもかかわらず、複雑な物体の三次元表示をリア
ルタイムで生成することは必ずしも可能ではない。これ
は対話型表示法や、特にイマーシブ表示法について言え
ることである。従って、そのような表示方法において
は、かなり少数の基本形状要素又は基本ポリゴンにより
物体を制限することによって、表面仕様を単純化しなけ
ればならない。採用されるリダクション法は2つのグル
ープに分けられる。いわゆる大域法は全く新しい表面仕
様を生成するが、局所法は対話型方式で動作し、たとえ
ば、表面のアマルガメーションによって表面の局所領域
を単純化する。一般的なリダクションは、たとえば、Ca
rl Eriksonの「Polygonal simplification: An Overvie
w 」(Technical Report, Department of Computer Sci
ence, UNC Chapel Hill, 1996年刊)の中に記載さ
れている。
【0012】一般的なリダクション法の結果、表面形状
は単純化されるが、ほぼ全ての場合に情報の損失又は表
現の誤りが見られる。リダクション方法は多数の小さな
ポリゴンにより物体表面を表現している元の表示を少数
の大きなポリゴンにより物体表面を記述する表現に変換
する。変換後の形状表現は当初の仕様とは厳密には一致
しない。ところが、たとえば、医療又は産業上の品質管
理などの多くの用途において、リダクション法の結果と
して起こるそのような表現の誤りは許容できないほどの
ものである。従って、1つの物体に関して、異なる詳細
度レベルを示すいくつかの形状仕様を生成するのが一般
的である。その場合にはたとえば、J. Clarkの「Hierar
chical geometric models for the visible surface al
gorithm」(Communications of the ACM 19(10), 54
7ページから554ページ、1976年10月刊)に記
載されているようないわゆる詳細度レベル(LOD)法
により物体の三次元表現を制御する。
は単純化されるが、ほぼ全ての場合に情報の損失又は表
現の誤りが見られる。リダクション方法は多数の小さな
ポリゴンにより物体表面を表現している元の表示を少数
の大きなポリゴンにより物体表面を記述する表現に変換
する。変換後の形状表現は当初の仕様とは厳密には一致
しない。ところが、たとえば、医療又は産業上の品質管
理などの多くの用途において、リダクション法の結果と
して起こるそのような表現の誤りは許容できないほどの
ものである。従って、1つの物体に関して、異なる詳細
度レベルを示すいくつかの形状仕様を生成するのが一般
的である。その場合にはたとえば、J. Clarkの「Hierar
chical geometric models for the visible surface al
gorithm」(Communications of the ACM 19(10), 54
7ページから554ページ、1976年10月刊)に記
載されているようないわゆる詳細度レベル(LOD)法
により物体の三次元表現を制御する。
【0013】この方式では、表示プロセスの間に、詳細
度レベル、すなわち、正確度レベルをそれぞれの物体の
関連性の関数として選択する。関連性は、たとえば、観
察者と物体との間隔、観察者の焦点合せ状態、又は人体
組織の病理変化などの特定の物体特性に基づいて確定さ
れる。時間の経過に伴ってそれらの値は変化する可能性
があるので、表示すべき画像ごと、画像の中で表現され
る物体ごとにそれらのいわゆるLOD基準を評価しなけ
ればならない。2つの表示表現の間の急激な遷移を防止
するために、たとえば、John Rohlf及びJames Helmanの
「Iris Performer: a high-performance multiprocessi
ng toolkit for real-time 3-D graphics 」(ACM Comp
uter Graphics Proceedings, Annual Conference serie
s,1994年刊)に記載されているような透明フェード
オーバーを実行することが可能である。
度レベル、すなわち、正確度レベルをそれぞれの物体の
関連性の関数として選択する。関連性は、たとえば、観
察者と物体との間隔、観察者の焦点合せ状態、又は人体
組織の病理変化などの特定の物体特性に基づいて確定さ
れる。時間の経過に伴ってそれらの値は変化する可能性
があるので、表示すべき画像ごと、画像の中で表現され
る物体ごとにそれらのいわゆるLOD基準を評価しなけ
ればならない。2つの表示表現の間の急激な遷移を防止
するために、たとえば、John Rohlf及びJames Helmanの
「Iris Performer: a high-performance multiprocessi
ng toolkit for real-time 3-D graphics 」(ACM Comp
uter Graphics Proceedings, Annual Conference serie
s,1994年刊)に記載されているような透明フェード
オーバーを実行することが可能である。
【0014】Hugues HoppeがACM Computer Graphics Pr
oceedings, Annual Conference series(1996年)の
中で説明している「プログレッシブメッシュ」法におい
ては、きわめて単純化した基本形状を線形リストと組み
合わせることにより物体形状を表現する。リストの各要
素は局所精密化を含む。すなわち、たとえば、2つの隣
接する三角形を4つの更に小さい三角形と置き換える。
視覚表示又は表現において精密化過程を制御しつつ実行
することにより、この方法は特定した任意の詳細度レベ
ルを達成できる。
oceedings, Annual Conference series(1996年)の
中で説明している「プログレッシブメッシュ」法におい
ては、きわめて単純化した基本形状を線形リストと組み
合わせることにより物体形状を表現する。リストの各要
素は局所精密化を含む。すなわち、たとえば、2つの隣
接する三角形を4つの更に小さい三角形と置き換える。
視覚表示又は表現において精密化過程を制御しつつ実行
することにより、この方法は特定した任意の詳細度レベ
ルを達成できる。
【0015】
【発明が解決しようとする課題】詳細度レベルの異なる
いくつかの物体仕様を視覚表示する前に計算するリダク
ション法と、物体ごとの1つの画像表示を選択するため
のLOD法とを組み合わせると、明確な欠点が生じる。
いくつかの物体仕様を視覚表示する前に計算するリダク
ション法と、物体ごとの1つの画像表示を選択するため
のLOD法とを組み合わせると、明確な欠点が生じる。
【0016】最新の3Dスキャナの局所分解能が高いこ
と及びリアリティ、すなわち、詳細度レベルに関してコ
ンピュータ支援によるシミュレーション、設計及び視覚
表示の方法に対する需要がますます大きくなってきてい
ることを考慮すると、表示すべき物体の複雑さは絶えず
増している。これまで一般的であった方法は、物体ごと
に一定の精度を有するあらかじめ計算済の仕様に限られ
ていた。前述のプログレッシブメッシュ法を除いて、先
に説明したどの方法においても物体表面に沿った詳細度
レベルの変化は不可能である。
と及びリアリティ、すなわち、詳細度レベルに関してコ
ンピュータ支援によるシミュレーション、設計及び視覚
表示の方法に対する需要がますます大きくなってきてい
ることを考慮すると、表示すべき物体の複雑さは絶えず
増している。これまで一般的であった方法は、物体ごと
に一定の精度を有するあらかじめ計算済の仕様に限られ
ていた。前述のプログレッシブメッシュ法を除いて、先
に説明したどの方法においても物体表面に沿った詳細度
レベルの変化は不可能である。
【0017】物体表面に沿って詳細度レベルが不変であ
ると、次のような悪影響がある。一般的な方法では、表
示すべき物体仕様はLOD基準の評価によって確定され
る。物体の大きさが増すにつれて、1つの値により物体
の関連性を十分に近似することができにくくなる。観察
者と物体との間隔などの動的LOD基準の大半は物体表
面に沿って変わり続け、また、周知の方法においては、
1つの詳細度レベルしか選択できないので、このような
方式を採用すると、物体領域の大半をこの領域について
LOD基準が評価されるときに得られた正確度をもって
表示することは不可能である。関連性の薄い物体セグメ
ントを過剰に詳細に表示してしまうため、計算効率が低
下し、物体の重要な部分が不正確に表現されることによ
り得られる視覚表示は不正確な情報を与える結果を招
く。
ると、次のような悪影響がある。一般的な方法では、表
示すべき物体仕様はLOD基準の評価によって確定され
る。物体の大きさが増すにつれて、1つの値により物体
の関連性を十分に近似することができにくくなる。観察
者と物体との間隔などの動的LOD基準の大半は物体表
面に沿って変わり続け、また、周知の方法においては、
1つの詳細度レベルしか選択できないので、このような
方式を採用すると、物体領域の大半をこの領域について
LOD基準が評価されるときに得られた正確度をもって
表示することは不可能である。関連性の薄い物体セグメ
ントを過剰に詳細に表示してしまうため、計算効率が低
下し、物体の重要な部分が不正確に表現されることによ
り得られる視覚表示は不正確な情報を与える結果を招
く。
【0018】不透明物体の三次元視覚表示の生成には、
物体の後部隠面は無関係であるが、従来の技術による方
法は、いずれも、LODの設定に際してこのことも考慮
に入れることができない。表面の隠れた部分、すなわ
ち、観察者の方に向いていない部分を検出し、図形ハー
ドウェアにより表示しないようにはしているが、実現さ
れる用途の大半において、この機能がパイプラインアー
キテクチャに関して計算時間を短縮するという結果につ
ながることはほとんどない。たとえば、物体が非常に高
い関連性レベル又は重要度レベルを有するものとする
と、その物体は観察者にごく近接しているか、又はその
物体が画面の中心に位置しているために、隠れたポリゴ
ン又は隠面セグメントによって、計算効率の低下は非常
に大きくなる。
物体の後部隠面は無関係であるが、従来の技術による方
法は、いずれも、LODの設定に際してこのことも考慮
に入れることができない。表面の隠れた部分、すなわ
ち、観察者の方に向いていない部分を検出し、図形ハー
ドウェアにより表示しないようにはしているが、実現さ
れる用途の大半において、この機能がパイプラインアー
キテクチャに関して計算時間を短縮するという結果につ
ながることはほとんどない。たとえば、物体が非常に高
い関連性レベル又は重要度レベルを有するものとする
と、その物体は観察者にごく近接しているか、又はその
物体が画面の中心に位置しているために、隠れたポリゴ
ン又は隠面セグメントによって、計算効率の低下は非常
に大きくなる。
【0019】従来の方法のもう1つの特に重大な欠点
は、ある特定のコンピュータの表示効率がある物体仕様
を最大詳細度レベルで所定の時間内に視覚表示するには
不十分である場合、所期の画像繰り返し速度からはずれ
た速度が必要になり、そのために、それぞれの用途によ
って驚くべき結果を招きかねないということである。
は、ある特定のコンピュータの表示効率がある物体仕様
を最大詳細度レベルで所定の時間内に視覚表示するには
不十分である場合、所期の画像繰り返し速度からはずれ
た速度が必要になり、そのために、それぞれの用途によ
って驚くべき結果を招きかねないということである。
【0020】そこで、所期の画像繰り返し速度からの逸
脱を防止するために、リダクションに先だって物体を静
的に複数の物体セグメントに分解する試みがなされてい
る。ところが、この方法には、物体セグメントの境界、
すなわち、物体セグメントが互いに接触する場所にある
領域をリダクションから除外しなければならず、そのよ
うにしないと、2つの隣接する物体セグメントを異なる
詳細度レベルで描いたときに物体表面に隙間ができてし
まうという欠点がある。これは実現可能なリダクション
率に特に悪い影響を及ぼし、特に、非常に小さなセグメ
ントを選択できなくなる。更に、そのような静的オブジ
ェクト分解においては、視覚表示のプロセスの間に詳細
度レベルの異なる2つの領域の境界の相互適応ができな
い。
脱を防止するために、リダクションに先だって物体を静
的に複数の物体セグメントに分解する試みがなされてい
る。ところが、この方法には、物体セグメントの境界、
すなわち、物体セグメントが互いに接触する場所にある
領域をリダクションから除外しなければならず、そのよ
うにしないと、2つの隣接する物体セグメントを異なる
詳細度レベルで描いたときに物体表面に隙間ができてし
まうという欠点がある。これは実現可能なリダクション
率に特に悪い影響を及ぼし、特に、非常に小さなセグメ
ントを選択できなくなる。更に、そのような静的オブジ
ェクト分解においては、視覚表示のプロセスの間に詳細
度レベルの異なる2つの領域の境界の相互適応ができな
い。
【0021】プログレッシブメッシュ法の欠点は、リア
ルタイムアプリケーションの大半にサポートされないこ
とである。これは、精密化リストが線形構造であるため
である。この線形リスト構造は逐次処理しかできないの
で、可変詳細度レベルを持つ物体を表現するためにはリ
スト全体を網羅しなければならない。特に、多数の表面
によって物体形状全体を表示する場合には、このように
精密化リスト全体を網羅するということは、周知のプロ
グレッシブメッシュ法においては計算に関して非常に大
きな浪費を意味し、その結果、多くのシステムではリア
ルタイム能力が損なわれてしまう。十分な正確度を得る
ために既に早い時点で物体セグメントが検出されている
か否かにかかわらず、進行中の処理動作でそれらの物体
セグメントを精密化するために、続くリスト要素を処理
しなければならないので、特定の物体セグメントのそれ
以上の精密化はもはや不要であることがわかるにすぎな
い。
ルタイムアプリケーションの大半にサポートされないこ
とである。これは、精密化リストが線形構造であるため
である。この線形リスト構造は逐次処理しかできないの
で、可変詳細度レベルを持つ物体を表現するためにはリ
スト全体を網羅しなければならない。特に、多数の表面
によって物体形状全体を表示する場合には、このように
精密化リスト全体を網羅するということは、周知のプロ
グレッシブメッシュ法においては計算に関して非常に大
きな浪費を意味し、その結果、多くのシステムではリア
ルタイム能力が損なわれてしまう。十分な正確度を得る
ために既に早い時点で物体セグメントが検出されている
か否かにかかわらず、進行中の処理動作でそれらの物体
セグメントを精密化するために、続くリスト要素を処理
しなければならないので、特定の物体セグメントのそれ
以上の精密化はもはや不要であることがわかるにすぎな
い。
【0022】プログレッシブメッシュ法のもう1つの欠
点は、精密化リストの個々のステップの間にデータの相
互従属性が存在するために、逐次処理を余儀なくされる
という点である。すなわち、高い計算負荷をいくつかの
プロセッサに効率よく分散させることができない。
点は、精密化リストの個々のステップの間にデータの相
互従属性が存在するために、逐次処理を余儀なくされる
という点である。すなわち、高い計算負荷をいくつかの
プロセッサに効率よく分散させることができない。
【0023】周知のプログレッシブメッシュ方法におい
ては、物体の視覚表示で許容される最小詳細度レベルの
規定も、要求される最大詳細度レベルの規定も、いずれ
もリスト処理に関わる作業の量を減少させることがない
ので処理の融通性は低い。
ては、物体の視覚表示で許容される最小詳細度レベルの
規定も、要求される最大詳細度レベルの規定も、いずれ
もリスト処理に関わる作業の量を減少させることがない
ので処理の融通性は低い。
【0024】プログレッシブメッシュ法のもう1つの欠
点は、階層的な可視度の決定が不可能なことである。た
とえば、線形リストの中の1つの精密化ステップで、対
応する物体セグメントが隠れていると判定された場合に
は、進行中の手続きの間に処理を進めるためにこの情報
を使用することができない。
点は、階層的な可視度の決定が不可能なことである。た
とえば、線形リストの中の1つの精密化ステップで、対
応する物体セグメントが隠れていると判定された場合に
は、進行中の手続きの間に処理を進めるためにこの情報
を使用することができない。
【0025】本発明は、上記の問題を解決するものであ
り、物体の複雑さを著しく改善するとともに、関連する
物体セグメントを最大限の詳細度で表示するための画像
処理方法を提供することを目的とする。
り、物体の複雑さを著しく改善するとともに、関連する
物体セグメントを最大限の詳細度で表示するための画像
処理方法を提供することを目的とする。
【0026】
【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
達成する一手段として、以下の構成を備える。
【0027】本発明にかかる画像処理方法は、可変詳細
度レベルで物体の表面形状を外部装置に出力する画像処
理方法であって、少なくとも1つの物体の表面データを
生成して、前記表面データを第1のメモリエリアに記憶
し、前記表面データおよび物体セグメントをより低い詳
細度レベルで表現するための追加表面データのデータレ
コードを生成して、前記データレコードを第2のメモリ
エリアに記憶し、前記追加表面データのデータレコード
に格納されたいかなるポインタアドレスによっても参照
されないデータレコードのポインタアドレスを第3のメ
モリエリアに記憶し、前記物体セグメントを表現するた
めの最小詳細度レベルを計算し、計算された最小詳細度
レベル以上の詳細度レベルを格納しているデータレコー
ドの表面データ要素を参照するポインタアドレスを第4
のメモリエリアにコピーし、前記第4のメモリエリアで
アドレス指定される表面データ要素を前記外部装置へ出
力することを特徴とする。
度レベルで物体の表面形状を外部装置に出力する画像処
理方法であって、少なくとも1つの物体の表面データを
生成して、前記表面データを第1のメモリエリアに記憶
し、前記表面データおよび物体セグメントをより低い詳
細度レベルで表現するための追加表面データのデータレ
コードを生成して、前記データレコードを第2のメモリ
エリアに記憶し、前記追加表面データのデータレコード
に格納されたいかなるポインタアドレスによっても参照
されないデータレコードのポインタアドレスを第3のメ
モリエリアに記憶し、前記物体セグメントを表現するた
めの最小詳細度レベルを計算し、計算された最小詳細度
レベル以上の詳細度レベルを格納しているデータレコー
ドの表面データ要素を参照するポインタアドレスを第4
のメモリエリアにコピーし、前記第4のメモリエリアで
アドレス指定される表面データ要素を前記外部装置へ出
力することを特徴とする。
【0028】また、可変詳細度レベルで物体の表面形状
を外部装置に出力する画像処理方法であって、少なくと
も1つの物体の表面データを生成し、全体として物体表
面を構成する前記表面データを、互いに接触するアドレ
ス指定が可能な表面データの要素の頂点座標として第1
のメモリエリアに記憶し、前記表面データおよび物体セ
グメントをより低い詳細度レベルで表現するための追加
表面データのポインタアドレスを含み、且つ、ゼロのリ
ダクションレベルを有するデータレコードを生成し、前
記データレコードを第2のメモリエリアに記憶し、前記
追加表面データのデータレコードのいかなるポインタア
ドレスによっても参照されず、且つ、全体として最低の
詳細度レベルで物体を指定するデータレコードのポイン
タアドレスを前記第3のメモリエリアに記憶し、前記物
体セグメントを表現するための最小詳細度レベルを計算
し、計算された最小詳細度レベル以上の詳細度レベルを
格納しているデータレコードの表面データ要素を参照す
るポインタアドレスを第4のメモリエリアにコピーし、
前記第4のメモリエリアでアドレス指定される表面デー
タ要素を前記外部装置へ出力することを特徴とする。
を外部装置に出力する画像処理方法であって、少なくと
も1つの物体の表面データを生成し、全体として物体表
面を構成する前記表面データを、互いに接触するアドレ
ス指定が可能な表面データの要素の頂点座標として第1
のメモリエリアに記憶し、前記表面データおよび物体セ
グメントをより低い詳細度レベルで表現するための追加
表面データのポインタアドレスを含み、且つ、ゼロのリ
ダクションレベルを有するデータレコードを生成し、前
記データレコードを第2のメモリエリアに記憶し、前記
追加表面データのデータレコードのいかなるポインタア
ドレスによっても参照されず、且つ、全体として最低の
詳細度レベルで物体を指定するデータレコードのポイン
タアドレスを前記第3のメモリエリアに記憶し、前記物
体セグメントを表現するための最小詳細度レベルを計算
し、計算された最小詳細度レベル以上の詳細度レベルを
格納しているデータレコードの表面データ要素を参照す
るポインタアドレスを第4のメモリエリアにコピーし、
前記第4のメモリエリアでアドレス指定される表面デー
タ要素を前記外部装置へ出力することを特徴とする。
【0029】本発明の利点の1つは、階層データ構造を
生成しているために、要求される詳細度レベルに到達す
れば、直ちにサブツリーの処理を省略できることであ
る。階層データ構造によって、効率の良い並行処理も可
能になる。本発明の階層データ構造は、表面群に基づい
て、それぞれ対応する物体セグメントが見えるか否かを
決定することを可能にする。従って、この方法のもう1
つの利点は、完全に隠れる物体セグメント又は完全に見
える物体セグメントをできるかぎり早い時点で検出で
き、階層データ構造を処理する際に関連する制御を実行
できるという点にある。たとえば、ある物体セグメント
が隠れると判断されたならば、その物体セグメントの階
層データ構造の、本発明の方法においてより低い階層レ
ベルにある部分は無視される。
生成しているために、要求される詳細度レベルに到達す
れば、直ちにサブツリーの処理を省略できることであ
る。階層データ構造によって、効率の良い並行処理も可
能になる。本発明の階層データ構造は、表面群に基づい
て、それぞれ対応する物体セグメントが見えるか否かを
決定することを可能にする。従って、この方法のもう1
つの利点は、完全に隠れる物体セグメント又は完全に見
える物体セグメントをできるかぎり早い時点で検出で
き、階層データ構造を処理する際に関連する制御を実行
できるという点にある。たとえば、ある物体セグメント
が隠れると判断されたならば、その物体セグメントの階
層データ構造の、本発明の方法においてより低い階層レ
ベルにある部分は無視される。
【0030】本発明の別の利点は、物体表面に沿って漸
進的に変化する詳細度レベルをリダクション動作中とい
う早い段階で不変に定める必要がなく、表現時に可変に
規定できることである。
進的に変化する詳細度レベルをリダクション動作中とい
う早い段階で不変に定める必要がなく、表現時に可変に
規定できることである。
【0031】
【発明の実施の形態】以下、本発明にかかる一実施形態
の画像処理方法について図を参照して詳細に説明する。
の画像処理方法について図を参照して詳細に説明する。
【0032】図1は、本発明にかかる一実施形態の画像
処理方法を実行可能な装置の構成例を示す図である。装
置は、メモリエリア1a、メモリエリア1b、メモリエ
リア1c、メモリエリア1dに更に分割されるメモリ1
を備える。メモリ1はバス5を介して演算装置2と、入
力装置3と、出力装置4とに接続している。このバスは
アドレスバス、データバス及び制御バスから構成されて
いるのが好ましい。演算又は計算装置2は、たとえば、
マイクロプロセッサであっても良い。出力装置4は表示
画面であるのが好ましい。図1に示す装置は他のいくつ
かの入力装置及び出力装置を含んでいても良い。入力装
置3は、物体を表示するための形状データを入力するた
めのキーボード又はマウスであるのが好ましい。
処理方法を実行可能な装置の構成例を示す図である。装
置は、メモリエリア1a、メモリエリア1b、メモリエ
リア1c、メモリエリア1dに更に分割されるメモリ1
を備える。メモリ1はバス5を介して演算装置2と、入
力装置3と、出力装置4とに接続している。このバスは
アドレスバス、データバス及び制御バスから構成されて
いるのが好ましい。演算又は計算装置2は、たとえば、
マイクロプロセッサであっても良い。出力装置4は表示
画面であるのが好ましい。図1に示す装置は他のいくつ
かの入力装置及び出力装置を含んでいても良い。入力装
置3は、物体を表示するための形状データを入力するた
めのキーボード又はマウスであるのが好ましい。
【0033】図2は、図1に示すメモリ1の記憶域例を
示す。メモリ1は第1のメモリエリア1aと、第2のメ
モリエリア1bと、第3のメモリエリア1cと、第4の
メモリエリア1dとに分割されている。
示す。メモリ1は第1のメモリエリア1aと、第2のメ
モリエリア1bと、第3のメモリエリア1cと、第4の
メモリエリア1dとに分割されている。
【0034】メモリエリア1aは、一体となって表示す
べき物体の物体表面を形成する複数の表面データ要素を
記憶するために使用されても良い。記憶される表面要素
の数mはメモリエリア1aの1つのアドレスに記憶され
る。その後に続くメモリエリア1aのアドレスは、第1
の表面要素からm番目の表面要素までが記憶される。記
憶される表面データ要素は、それぞれ、表面の頂点の数
nをまず表している。たとえば、三角形の場合、この数
nは3である。表面データ要素は任意の数の頂点を有す
るポリゴンを指定することができる。メモリエリア1a
に記憶される各表面データ要素には、表面の頂点の数n
に加えて、表面の全ての頂点の座標x,y,zも記憶さ
れている。各表面データ要素は任意のポリゴンに対応す
る。
べき物体の物体表面を形成する複数の表面データ要素を
記憶するために使用されても良い。記憶される表面要素
の数mはメモリエリア1aの1つのアドレスに記憶され
る。その後に続くメモリエリア1aのアドレスは、第1
の表面要素からm番目の表面要素までが記憶される。記
憶される表面データ要素は、それぞれ、表面の頂点の数
nをまず表している。たとえば、三角形の場合、この数
nは3である。表面データ要素は任意の数の頂点を有す
るポリゴンを指定することができる。メモリエリア1a
に記憶される各表面データ要素には、表面の頂点の数n
に加えて、表面の全ての頂点の座標x,y,zも記憶さ
れている。各表面データ要素は任意のポリゴンに対応す
る。
【0035】頂点ごとに、三次元物体を表すための3つ
の座標が記憶される。二次元物体の視覚表示の場合に
は、頂点ごとに2つの座標を記憶すれば十分である。
の座標が記憶される。二次元物体の視覚表示の場合に
は、頂点ごとに2つの座標を記憶すれば十分である。
【0036】図2から明らかであるように、メモリエリ
ア1aにはm個の表面データ要素が記憶されており、そ
れらの要素は1つの物体のm個の表面を表す。どのよう
な物体であっても、多数のポリゴンにより構成される細
かい格子又は網目によって物体を指定できる。本発明の
一実施形態では、格子は三角形のみにより構成されてい
る。三角形の場合、1つの表面データ要素の3つの頂点
それぞれの座標だけを記憶すれば良い。
ア1aにはm個の表面データ要素が記憶されており、そ
れらの要素は1つの物体のm個の表面を表す。どのよう
な物体であっても、多数のポリゴンにより構成される細
かい格子又は網目によって物体を指定できる。本発明の
一実施形態では、格子は三角形のみにより構成されてい
る。三角形の場合、1つの表面データ要素の3つの頂点
それぞれの座標だけを記憶すれば良い。
【0037】図2からわかるように、メモリ1はメモリ
エリア1bを含む。メモリエリア1bには階層データ構
造のデータレコードを記憶しても良い。メモリエリア1
bのアドレスには、記憶されるデータレコードの数oが
記憶される。その後に続くアドレスには、データレコー
ドが順次記憶される。
エリア1bを含む。メモリエリア1bには階層データ構
造のデータレコードを記憶しても良い。メモリエリア1
bのアドレスには、記憶されるデータレコードの数oが
記憶される。その後に続くアドレスには、データレコー
ドが順次記憶される。
【0038】各データレコードは、メモリエリア1aに
ある表面データ要素を参照するデータレコードのポイン
タアドレスの数nを含む。更に、各データレコードはメ
モリエリア1aの表面データ要素を参照するポインタア
ドレスfaを含む。その後に、メモリエリア1bにある
データレコードを参照するポインタアドレスの数を表す
数pが続く。更に、メモリエリア1bにあるデータレコ
ードを参照する様々なポインタアドレスdaが続く。最
後に、各データレコードはそのデータレコードのリダク
ションレベルを表す数Sを含む。
ある表面データ要素を参照するデータレコードのポイン
タアドレスの数nを含む。更に、各データレコードはメ
モリエリア1aの表面データ要素を参照するポインタア
ドレスfaを含む。その後に、メモリエリア1bにある
データレコードを参照するポインタアドレスの数を表す
数pが続く。更に、メモリエリア1bにあるデータレコ
ードを参照する様々なポインタアドレスdaが続く。最
後に、各データレコードはそのデータレコードのリダク
ションレベルを表す数Sを含む。
【0039】このリダクションレベルSは、データレコ
ードが物体表面を指定する正確度を表す。リダクション
レベルSが高くなるほど、データレコードにおける物体
表面の表現の正確度は低下する。メモリエリア1bに記
憶されるデータレコードの詳細度のレベルは、できるか
ぎり大きい最大リダクションレベルSmax からリダクシ
ョンレベルSを減算することにより得られる。データレ
コードの詳細度のレベルが高いほど、データレコードに
おける物体表面の指定の正確度は高くなる。
ードが物体表面を指定する正確度を表す。リダクション
レベルSが高くなるほど、データレコードにおける物体
表面の表現の正確度は低下する。メモリエリア1bに記
憶されるデータレコードの詳細度のレベルは、できるか
ぎり大きい最大リダクションレベルSmax からリダクシ
ョンレベルSを減算することにより得られる。データレ
コードの詳細度のレベルが高いほど、データレコードに
おける物体表面の指定の正確度は高くなる。
【0040】メモリ1は、まだ処理中であるデータレコ
ードのアドレスを記憶するメモリエリア1cを含む。こ
の目的のために、処理中であるデータレコードを参照す
る、記憶されたポインタアドレスの数qがメモリエリア
1cの第1のアドレスに記憶される。次に続くポインタ
アドレスdaはメモリエリア1cのその後のアドレスに
記憶され、メモリエリア1bに記憶されている処理中の
データレコードを参照する。
ードのアドレスを記憶するメモリエリア1cを含む。こ
の目的のために、処理中であるデータレコードを参照す
る、記憶されたポインタアドレスの数qがメモリエリア
1cの第1のアドレスに記憶される。次に続くポインタ
アドレスdaはメモリエリア1cのその後のアドレスに
記憶され、メモリエリア1bに記憶されている処理中の
データレコードを参照する。
【0041】メモリ1は、出力すべき表面データ要素の
アドレスが記憶されるメモリエリア1dを含む。メモリ
エリア1dの第1のアドレスには、表面データ要素を参
照する、記憶されたポインタアドレスの数rが記憶され
る。次に、メモリエリア1aにある表面データ要素を参
照する様々なポインタアドレスfaが続いている。メモ
リエリア1aに記憶されている、メモリ1のメモリエリ
ア1dでアドレス指定される表面データ要素は、物体の
形状表示方法の実行後、出力装置4へ出力される。
アドレスが記憶されるメモリエリア1dを含む。メモリ
エリア1dの第1のアドレスには、表面データ要素を参
照する、記憶されたポインタアドレスの数rが記憶され
る。次に、メモリエリア1aにある表面データ要素を参
照する様々なポインタアドレスfaが続いている。メモ
リエリア1aに記憶されている、メモリ1のメモリエリ
ア1dでアドレス指定される表面データ要素は、物体の
形状表示方法の実行後、出力装置4へ出力される。
【0042】本発明の実施形態の画像処理方法を実行可
能な装置は、図3に示すように構成することもできる。
図3に示す装置は、入力装置3の代わりにデータ変換モ
ジュール6と、物体走査装置7とを使用している点で、
図1に示す装置とは明確に異なっている。物体走査装置
7は視覚表示すべき二次元又は三次元の物体を走査し、
出力データをデータ変換モジュール6へ出力する。デー
タ変換モジュール6は物体走査装置7から出力されたデ
ータを本実施形態に適するデータフォーマットに変換す
る。このデータ変換モジュール6は、メモリ1のメモリ
エリア1aに直接に記憶するのに適する形態のデータを
出力するのが好ましい。この目的のために、データ変換
モジュール6から出力されるデータはデータバスを介し
てメモリ1のメモリエリア1aに書き込まれる。物体走
査装置7は、たとえば、物体を走査するスキャナであっ
ても良い。三次元構造は、たとえば、レーザー補助スキ
ャナ又は数枚の写真からの再構成によって走査される。
あるいは、X線コンピュータ断層撮影又はNMR断層撮
影並びに三次元超音波技術により三次元データを生成し
ても良い。
能な装置は、図3に示すように構成することもできる。
図3に示す装置は、入力装置3の代わりにデータ変換モ
ジュール6と、物体走査装置7とを使用している点で、
図1に示す装置とは明確に異なっている。物体走査装置
7は視覚表示すべき二次元又は三次元の物体を走査し、
出力データをデータ変換モジュール6へ出力する。デー
タ変換モジュール6は物体走査装置7から出力されたデ
ータを本実施形態に適するデータフォーマットに変換す
る。このデータ変換モジュール6は、メモリ1のメモリ
エリア1aに直接に記憶するのに適する形態のデータを
出力するのが好ましい。この目的のために、データ変換
モジュール6から出力されるデータはデータバスを介し
てメモリ1のメモリエリア1aに書き込まれる。物体走
査装置7は、たとえば、物体を走査するスキャナであっ
ても良い。三次元構造は、たとえば、レーザー補助スキ
ャナ又は数枚の写真からの再構成によって走査される。
あるいは、X線コンピュータ断層撮影又はNMR断層撮
影並びに三次元超音波技術により三次元データを生成し
ても良い。
【0043】図4は、本発明にかかる一実施形態の画像
処理方法を説明するためのフローチャートである。本実
施形態では、図5から図14を参照して、図4のフロー
チャートを更に詳細に説明する。本実施形態は、物体の
表面形状を可変詳細度レベルまたは可変正確度レベルを
もって出力装置4に表示するために利用される。
処理方法を説明するためのフローチャートである。本実
施形態では、図5から図14を参照して、図4のフロー
チャートを更に詳細に説明する。本実施形態は、物体の
表面形状を可変詳細度レベルまたは可変正確度レベルを
もって出力装置4に表示するために利用される。
【0044】ステップS1では、少なくとも1つの物体
の表面データを生成し、この表面データを頂点の座標と
して記憶する。頂点は、二次元又は三次元の物体を表す
互いに接する表面の頂点である。より高い次元の物体、
たとえば、四次元数学物体などでも記憶できる。頂点の
座標はアドレス指定可能な表面データ要素としてメモリ
1のメモリエリア1aに記憶される。
の表面データを生成し、この表面データを頂点の座標と
して記憶する。頂点は、二次元又は三次元の物体を表す
互いに接する表面の頂点である。より高い次元の物体、
たとえば、四次元数学物体などでも記憶できる。頂点の
座標はアドレス指定可能な表面データ要素としてメモリ
1のメモリエリア1aに記憶される。
【0045】ステップS2では、メモリエリア1aに記
憶される表面データ要素ごとに、対応する表面データ要
素を参照するためのポインタアドレスを含み且つゼロの
リダクションレベルを有するデータレコードを生成す
る。このようにして生成されるデータレコードは、メモ
リ1のメモリエリア1bに記憶される。ステップS2
は、メモリ1のメモリエリア1bを初期設定する働きを
する。次に、ステップS3とステップS4とを並行して
実行する。ステップS3では、詳細度レベルの低い物体
セグメントを表現するために、追加表面データ要素を生
成し、それをメモリエリア1aに記憶する。この動作の
間、物体表面の表現の詳細度のレベルが低下される。す
なわち、物体はより低い正確度で指定される。
憶される表面データ要素ごとに、対応する表面データ要
素を参照するためのポインタアドレスを含み且つゼロの
リダクションレベルを有するデータレコードを生成す
る。このようにして生成されるデータレコードは、メモ
リ1のメモリエリア1bに記憶される。ステップS2
は、メモリ1のメモリエリア1bを初期設定する働きを
する。次に、ステップS3とステップS4とを並行して
実行する。ステップS3では、詳細度レベルの低い物体
セグメントを表現するために、追加表面データ要素を生
成し、それをメモリエリア1aに記憶する。この動作の
間、物体表面の表現の詳細度のレベルが低下される。す
なわち、物体はより低い正確度で指定される。
【0046】ステップS4では、ステップS3と並行し
て、ポインタアドレスを介してアドレス指定可能ないく
つかのデータレコードを伴う階層データ構造をメモリ1
のメモリエリア1bに記憶する。それらのデータレコー
ドは、物体表面の1つのセグメントを指定の詳細度レベ
ルで表示するのに有用である。この動作においては、各
データレコードは物体セグメントを指定するために表面
データ要素を参照する少なくとも1つのポインタアドレ
スと、より高い詳細度レベルを有する別のデータレコー
ドを参照するポインタアドレスと、対応するデータレコ
ード自体の詳細度レベルとを記憶する。ポインタアドレ
スにより参照されるより高い詳細度レベルを有するデー
タレコードは、全体として、データレコードそれ自体と
同じように物体表面の同一の部分を表す。
て、ポインタアドレスを介してアドレス指定可能ないく
つかのデータレコードを伴う階層データ構造をメモリ1
のメモリエリア1bに記憶する。それらのデータレコー
ドは、物体表面の1つのセグメントを指定の詳細度レベ
ルで表示するのに有用である。この動作においては、各
データレコードは物体セグメントを指定するために表面
データ要素を参照する少なくとも1つのポインタアドレ
スと、より高い詳細度レベルを有する別のデータレコー
ドを参照するポインタアドレスと、対応するデータレコ
ード自体の詳細度レベルとを記憶する。ポインタアドレ
スにより参照されるより高い詳細度レベルを有するデー
タレコードは、全体として、データレコードそれ自体と
同じように物体表面の同一の部分を表す。
【0047】ステップS5では、メモリエリア1bに記
憶されており、他のデータレコードに記憶されたポイン
タアドレスによって参照されず、全体として最低の詳細
度レベルを有する物体を指定するデータレコードのポイ
ンタアドレスをメモリ1のメモリエリア1cに記憶す
る。
憶されており、他のデータレコードに記憶されたポイン
タアドレスによって参照されず、全体として最低の詳細
度レベルを有する物体を指定するデータレコードのポイ
ンタアドレスをメモリ1のメモリエリア1cに記憶す
る。
【0048】ステップS6では、データレコードにより
指定される物体セグメントを表現するために、演算装置
2において最低詳細度レベルを計算する。最低詳細度レ
ベルは、様々な基準、いわゆるLOD(詳細度レベル)
基準に基づいて計算される。それらは、表示すべき物体
と、表示すべき物体を見る観察者との三次元関係に関連
する基準である。たとえば、観察者と物体との間隔又は
物体の大きさを表示の基準として採用してもよい。その
他の基準としては、出力画面上の物体の位置、あるいは
観察者の視野の中心又は視野の周辺のいずれかにおける
物体の位置などが考えられる。演算装置2は、物体を表
示すべきときに要求される最小正確度を確定するため
に、LOD計算プロセスを実行する。
指定される物体セグメントを表現するために、演算装置
2において最低詳細度レベルを計算する。最低詳細度レ
ベルは、様々な基準、いわゆるLOD(詳細度レベル)
基準に基づいて計算される。それらは、表示すべき物体
と、表示すべき物体を見る観察者との三次元関係に関連
する基準である。たとえば、観察者と物体との間隔又は
物体の大きさを表示の基準として採用してもよい。その
他の基準としては、出力画面上の物体の位置、あるいは
観察者の視野の中心又は視野の周辺のいずれかにおける
物体の位置などが考えられる。演算装置2は、物体を表
示すべきときに要求される最小正確度を確定するため
に、LOD計算プロセスを実行する。
【0049】ステップS7では、メモリエリア1cに記
憶されるアドレスを有する各データレコードの計算上の
最低詳細度レベルをそのデータレコードに記憶されてい
る詳細度レベルと比較する。
憶されるアドレスを有する各データレコードの計算上の
最低詳細度レベルをそのデータレコードに記憶されてい
る詳細度レベルと比較する。
【0050】次に、メモリエリア1cにアドレスが記憶
されているデータレコードごとに比較の結果を評価す
る。
されているデータレコードごとに比較の結果を評価す
る。
【0051】この比較の結果に応じて、ステップS8で
比較したデータレコードの表面データをメモリエリア1
dにコピーするか、あるいは比較したデータレコードに
よりアドレス指定されるデータレコードによってステッ
プS6、ステップS7及びステップS8を実行する。比
較したデータレコードの記憶詳細度レベルが少なくとも
計算上の最低詳細度レベルと等しい場合、比較したデー
タレコードに記憶されている表面データ要素を参照する
ポインタアドレスをメモリ1のメモリエリア1dにコピ
ーする。これに対し、比較したデータレコードの記憶詳
細度レベルが計算上の詳細度レベルより低い場合には、
比較したデータレコードに記憶されている、データレコ
ードを参照するポインタアドレスをメモリエリア1cに
コピーする。
比較したデータレコードの表面データをメモリエリア1
dにコピーするか、あるいは比較したデータレコードに
よりアドレス指定されるデータレコードによってステッ
プS6、ステップS7及びステップS8を実行する。比
較したデータレコードの記憶詳細度レベルが少なくとも
計算上の最低詳細度レベルと等しい場合、比較したデー
タレコードに記憶されている表面データ要素を参照する
ポインタアドレスをメモリ1のメモリエリア1dにコピ
ーする。これに対し、比較したデータレコードの記憶詳
細度レベルが計算上の詳細度レベルより低い場合には、
比較したデータレコードに記憶されている、データレコ
ードを参照するポインタアドレスをメモリエリア1cに
コピーする。
【0052】いずれの場合にも、この後、メモリエリア
1cで、比較したデータレコードを参照するポインタア
ドレスを消去する。
1cで、比較したデータレコードを参照するポインタア
ドレスを消去する。
【0053】ステップS9では、メモリ1のメモリエリ
ア1dでアドレス指定される表面データ要素を物体の形
状表示のために出力装置4へ出力する。そこで、出力装
置4は要求された詳細度レベルで物体を表示する。要求
される正確度は、任意に選択可能なLOD基準によって
確定される。
ア1dでアドレス指定される表面データ要素を物体の形
状表示のために出力装置4へ出力する。そこで、出力装
置4は要求された詳細度レベルで物体を表示する。要求
される正確度は、任意に選択可能なLOD基準によって
確定される。
【0054】図5は、図4に示すフローチャートのステ
ップS1の詳細例を説明するためのフローチャートであ
る。ステップS1では、物体の表面データを生成し、全
体として物体表面を形成する互いに接するアドレス指定
可能な表面データ要素の頂点の座標としてメモリエリア
1aに記憶する。この目的のために、まず、サブステッ
プS1(1)においてカウンタiを1に設定する。次の
サブステップS1(2)では、互いに接する表面セグメ
ントから構成される少なくとも1つの物体の表面形状の
仕様を生成する。
ップS1の詳細例を説明するためのフローチャートであ
る。ステップS1では、物体の表面データを生成し、全
体として物体表面を形成する互いに接するアドレス指定
可能な表面データ要素の頂点の座標としてメモリエリア
1aに記憶する。この目的のために、まず、サブステッ
プS1(1)においてカウンタiを1に設定する。次の
サブステップS1(2)では、互いに接する表面セグメ
ントから構成される少なくとも1つの物体の表面形状の
仕様を生成する。
【0055】サブステップS1(3)では、カウンタi
を表面仕様の中の表面セグメントの数と比較する。カウ
ントiが表面仕様の中の表面セグメントの数より小さけ
れば、サブステップS1(4)において、表面仕様のi
番目の表面セグメントをアドレス指定可能な表面データ
要素としてメモリエリア1aに記憶する。その後、サブ
ステップS1(5)でカウントを1増分し、プログラム
はサブステップS1(3)に戻る。iが表面仕様の中の
表面セグメントの数より大きくなるまで、サブステップ
S1(3)、サブステップS1(4)、サブステップS
1(5)のループを繰り返す。
を表面仕様の中の表面セグメントの数と比較する。カウ
ントiが表面仕様の中の表面セグメントの数より小さけ
れば、サブステップS1(4)において、表面仕様のi
番目の表面セグメントをアドレス指定可能な表面データ
要素としてメモリエリア1aに記憶する。その後、サブ
ステップS1(5)でカウントを1増分し、プログラム
はサブステップS1(3)に戻る。iが表面仕様の中の
表面セグメントの数より大きくなるまで、サブステップ
S1(3)、サブステップS1(4)、サブステップS
1(5)のループを繰り返す。
【0056】図6は、図4に示すフローチャートのステ
ップS2の詳細例を説明するためのフローチャートであ
る。ステップS2では、メモリエリア1aに記憶されて
いる表面データ要素ごとに、それぞれ対応する表面デー
タ要素を参照するポインタアドレスを含み且つゼロのリ
ダクションレベルを有するデータレコードを生成し、そ
のデータレコードをメモリ1のメモリエリア1bに記憶
する。この目的のためにサブステップS2(1)でカウ
ンタを1に設定する。
ップS2の詳細例を説明するためのフローチャートであ
る。ステップS2では、メモリエリア1aに記憶されて
いる表面データ要素ごとに、それぞれ対応する表面デー
タ要素を参照するポインタアドレスを含み且つゼロのリ
ダクションレベルを有するデータレコードを生成し、そ
のデータレコードをメモリ1のメモリエリア1bに記憶
する。この目的のためにサブステップS2(1)でカウ
ンタを1に設定する。
【0057】次のサブステップS2(2)では、カウン
トをメモリエリア1aにある表面データ要素の数と比較
する。カウントがメモリエリア1aにある表面データ要
素の数場合には、そのデータレコードをメモリエリア1
bに記憶する。データレコードはメモリエリア1aのi
番目のデータ要素を参照するポインタアドレスと、リダ
クションレベルがゼロであることを指示する数とを含
む。次に、サブステップS2(4)ではカウンタを増分
し、カウントがメモリエリア1aにある表面データ要素
の数より大きくなるまでサブステップS2(2)、サブ
ステップS2(3)及びサブステップS2(4)のルー
プを繰り返す。
トをメモリエリア1aにある表面データ要素の数と比較
する。カウントがメモリエリア1aにある表面データ要
素の数場合には、そのデータレコードをメモリエリア1
bに記憶する。データレコードはメモリエリア1aのi
番目のデータ要素を参照するポインタアドレスと、リダ
クションレベルがゼロであることを指示する数とを含
む。次に、サブステップS2(4)ではカウンタを増分
し、カウントがメモリエリア1aにある表面データ要素
の数より大きくなるまでサブステップS2(2)、サブ
ステップS2(3)及びサブステップS2(4)のルー
プを繰り返す。
【0058】図15Aに示すような表面セグメントの例
を用いて説明する。このセグメントは12個の三角形か
ら構成されている。例示されている12個の三角形は、
それぞれ、3つの頂点を有する。図15Aに示す表面セ
グメントは二次元であるので、三角形の各頂点は2つの
座標により表示できる。たとえば、座標系の原点が図示
した表面詳細の左下隅に位置しているならば、第1の三
角形の3つの頂点は次のような座標を有することにな
る。すなわち、たとえば、第1の頂点は座標(0,1)
を有し、第2の頂点は座標(0,2)を有し、第3の頂
点は座標(1,2)を有する。このように、物体表面の
あらゆるポリゴン又は三角形は頂点の座標によって表現
できる。
を用いて説明する。このセグメントは12個の三角形か
ら構成されている。例示されている12個の三角形は、
それぞれ、3つの頂点を有する。図15Aに示す表面セ
グメントは二次元であるので、三角形の各頂点は2つの
座標により表示できる。たとえば、座標系の原点が図示
した表面詳細の左下隅に位置しているならば、第1の三
角形の3つの頂点は次のような座標を有することにな
る。すなわち、たとえば、第1の頂点は座標(0,1)
を有し、第2の頂点は座標(0,2)を有し、第3の頂
点は座標(1,2)を有する。このように、物体表面の
あらゆるポリゴン又は三角形は頂点の座標によって表現
できる。
【0059】図15Bは、図15Aに概略的に示した表
面セグメントの階層データ構造を示す。この階層データ
構造は1から12まで順に番号付けされた12個の要素
から構成されており、それぞれの要素は対応する表面デ
ータ要素のポインタアドレスに加えて、リダクションレ
ベルに関する情報を含む。図示した例の階層データ構造
の12個の要素は、それぞれ、ゼロのリダクションレベ
ルを示している。これは、その時点までは表面表現はま
だ縮約されていない、言い換えれば、物体の表面が最大
限の詳細度レベルで表示されることを意味している。
面セグメントの階層データ構造を示す。この階層データ
構造は1から12まで順に番号付けされた12個の要素
から構成されており、それぞれの要素は対応する表面デ
ータ要素のポインタアドレスに加えて、リダクションレ
ベルに関する情報を含む。図示した例の階層データ構造
の12個の要素は、それぞれ、ゼロのリダクションレベ
ルを示している。これは、その時点までは表面表現はま
だ縮約されていない、言い換えれば、物体の表面が最大
限の詳細度レベルで表示されることを意味している。
【0060】図15Cは、図15Aに表面セグメントに
関してステップS1およびステップS2を実行した後に
記憶されているデータを示す。物体の表面データは頂点
の座標としてメモリ1のメモリエリア1aに記憶され
る。メモリエリア1aの第1のアドレス0000では、
記憶される表面データ要素の数を指定する。図示した例
においては、メモリエリア1aに12個の表面データ要
素を記憶する。メモリエリア1aの続くアドレス000
1から0012には、様々な表面データ要素1から12
が記憶される。各表面データ要素は厳密に1つの表面に
対応する。表面データ要素には、表面の頂点の座標と共
に、それらの頂点の数nが記憶される。表面データ要素
12は、たとえば、メモリエリア1aのアドレス001
2に記憶され、この表面データ要素12は三角形表面を
形成する。従って、表面12の頂点の数nは3である。
関してステップS1およびステップS2を実行した後に
記憶されているデータを示す。物体の表面データは頂点
の座標としてメモリ1のメモリエリア1aに記憶され
る。メモリエリア1aの第1のアドレス0000では、
記憶される表面データ要素の数を指定する。図示した例
においては、メモリエリア1aに12個の表面データ要
素を記憶する。メモリエリア1aの続くアドレス000
1から0012には、様々な表面データ要素1から12
が記憶される。各表面データ要素は厳密に1つの表面に
対応する。表面データ要素には、表面の頂点の座標と共
に、それらの頂点の数nが記憶される。表面データ要素
12は、たとえば、メモリエリア1aのアドレス001
2に記憶され、この表面データ要素12は三角形表面を
形成する。従って、表面12の頂点の数nは3である。
【0061】次に、表面12の3つの頂点のデカルト座
標が続く。デカルト座標ではなく、たとえば、極座標を
採用しても良い。
標が続く。デカルト座標ではなく、たとえば、極座標を
採用しても良い。
【0062】表面データを記憶した後、ステップS2で
は、記憶された全ての表面データ要素について1つの対
応するデータレコードを生成する。このデータレコード
は、対応する表面データ要素を参照し且つゼロのリダク
ションレベルを示すポインタアドレスを含む。次に、こ
のデータレコードをメモリ1のメモリエリア1bに記憶
する。
は、記憶された全ての表面データ要素について1つの対
応するデータレコードを生成する。このデータレコード
は、対応する表面データ要素を参照し且つゼロのリダク
ションレベルを示すポインタアドレスを含む。次に、こ
のデータレコードをメモリ1のメモリエリア1bに記憶
する。
【0063】図15Cから明らかなように、メモリエリ
ア1bのアドレス0000にはデータレコードの数が記
憶される。表面データ要素1から12のそれぞれに対し
て1つのデータレコード1から12が生成されるので、
当初、この数は12になる。第1のデータレコードはメ
モリエリア1bのアドレス0001に記憶される。メモ
リエリア1bに記憶される各データレコードは、メモリ
エリア1aにある表面データ要素を参照するデータレコ
ードのポインタアドレスの数を表す数を含む。たとえ
ば、メモリエリア1bのアドレス0001に記憶されて
いるデータレコード1はメモリエリア1aの表面データ
要素1を指示するポインタアドレス0001を含むだけ
である。
ア1bのアドレス0000にはデータレコードの数が記
憶される。表面データ要素1から12のそれぞれに対し
て1つのデータレコード1から12が生成されるので、
当初、この数は12になる。第1のデータレコードはメ
モリエリア1bのアドレス0001に記憶される。メモ
リエリア1bに記憶される各データレコードは、メモリ
エリア1aにある表面データ要素を参照するデータレコ
ードのポインタアドレスの数を表す数を含む。たとえ
ば、メモリエリア1bのアドレス0001に記憶されて
いるデータレコード1はメモリエリア1aの表面データ
要素1を指示するポインタアドレス0001を含むだけ
である。
【0064】従って、メモリエリア1aの表面データ要
素を参照するポインタアドレスの数は1である。各デー
タレコードの中のこの指示の次には、メモリエリア1b
にあるデータレコードを指示するポインタアドレスの数
を表す数が続いている。たとえば、ステップS1および
ステップS2を実行した後、データレコード1はメモリ
エリア1bのデータレコードを参照するポインタアドレ
スを含んでいない。そのため、メモリエリア1bのデー
タレコードを参照するポインタアドレスの数を表す数p
はゼロである。最後に、各データレコードにはそのデー
タレコードのリダクションレベルが記憶される。たとえ
ば、データレコード1のリダクションレベルはゼロであ
る。メモリエリア1bのデータレコード1は0のリダク
ションレベルを有する。すなわち、データレコード1は
最大詳細度レベルを有する物体を指定している。
素を参照するポインタアドレスの数は1である。各デー
タレコードの中のこの指示の次には、メモリエリア1b
にあるデータレコードを指示するポインタアドレスの数
を表す数が続いている。たとえば、ステップS1および
ステップS2を実行した後、データレコード1はメモリ
エリア1bのデータレコードを参照するポインタアドレ
スを含んでいない。そのため、メモリエリア1bのデー
タレコードを参照するポインタアドレスの数を表す数p
はゼロである。最後に、各データレコードにはそのデー
タレコードのリダクションレベルが記憶される。たとえ
ば、データレコード1のリダクションレベルはゼロであ
る。メモリエリア1bのデータレコード1は0のリダク
ションレベルを有する。すなわち、データレコード1は
最大詳細度レベルを有する物体を指定している。
【0065】ステップS2の後、記憶された全てのデー
タレコードは0のリダクションレベルを有する。ステッ
プS2はメモリエリア1bを初期設定する。図15Cに
示す通り、ステップS1およびステップS2の後は、メ
モリ1のメモリエリア1c及びメモリエリア1dはまだ
空である。
タレコードは0のリダクションレベルを有する。ステッ
プS2はメモリエリア1bを初期設定する。図15Cに
示す通り、ステップS1およびステップS2の後は、メ
モリ1のメモリエリア1c及びメモリエリア1dはまだ
空である。
【0066】ステップS2終了後、図4に従って方法の
ステップS3及びステップS4を並行して実行する。
ステップS3及びステップS4を並行して実行する。
【0067】図7は、図4に示すフローチャートのステ
ップS3の詳細例を説明するためのフローチャートであ
る。ステップS3では、詳細度レベルを低下させて、す
なわち、より高いリダクションレベルをもって物体を表
現するための追加表面要素を生成し、表面表現の詳細度
レベルの低下を伴って、メモリエリア1aに記憶する。
この目的のために、サブステップS3(1)では、特定
の特性に適合するデータレコード群がメモリエリア1b
に存在するか否かを判定するために検査を実行する。こ
のデータレコード群のデータレコードを参照するデータ
レコードがメモリエリア1bにあるか否か、及びそれら
のデータレコードによりアドレス指定される表面要素が
所定の誤り限界により許容されるより激しい詳細度レベ
ルの低下を伴わずに少数の表面により指定できる結合し
たエリアを構成するか否かを検査する。
ップS3の詳細例を説明するためのフローチャートであ
る。ステップS3では、詳細度レベルを低下させて、す
なわち、より高いリダクションレベルをもって物体を表
現するための追加表面要素を生成し、表面表現の詳細度
レベルの低下を伴って、メモリエリア1aに記憶する。
この目的のために、サブステップS3(1)では、特定
の特性に適合するデータレコード群がメモリエリア1b
に存在するか否かを判定するために検査を実行する。こ
のデータレコード群のデータレコードを参照するデータ
レコードがメモリエリア1bにあるか否か、及びそれら
のデータレコードによりアドレス指定される表面要素が
所定の誤り限界により許容されるより激しい詳細度レベ
ルの低下を伴わずに少数の表面により指定できる結合し
たエリアを構成するか否かを検査する。
【0068】サブステップS3(2)では、そのような
データレコード群が少なくとも1つ存在するか否かを判
定するために検査を実行する。この種のデータレコード
群がなければ、ステップS3は終了し、プログラムはス
テップS4に至る。
データレコード群が少なくとも1つ存在するか否かを判
定するために検査を実行する。この種のデータレコード
群がなければ、ステップS3は終了し、プログラムはス
テップS4に至る。
【0069】これに対し、そのようなデータレコード群
が存在する場合には、サブステップS3(3)で、メモ
リエリア1aにおいて、発見されたデータレコードによ
り参照される結合した表面セグメント群の詳細度レベル
より低い詳細度レベルを有し且つより少ない数の表面か
ら構成される同じ物体セグメントを指定する新たな表面
データ要素を生成する。
が存在する場合には、サブステップS3(3)で、メモ
リエリア1aにおいて、発見されたデータレコードによ
り参照される結合した表面セグメント群の詳細度レベル
より低い詳細度レベルを有し且つより少ない数の表面か
ら構成される同じ物体セグメントを指定する新たな表面
データ要素を生成する。
【0070】T- はメモリエリア1aにある第1の結合
した表面データ要素群を示し、それらのデータ要素は一
体となって特定の詳細度レベルの特定の1つの表面セグ
メントを指定する。
した表面データ要素群を示し、それらのデータ要素は一
体となって特定の詳細度レベルの特定の1つの表面セグ
メントを指定する。
【0071】T+ はメモリエリア1aにある第2の同様
に結合した表面データ要素群を示す。それらは表面デー
タ要素群T- と同じではあるが、表面データ群T- のレ
ベルより低い詳細度レベルを有する表面セグメントを指
定し、表面データ要素群T+の要素の数は表面データ要
素群T- の要素の数より小さい。
に結合した表面データ要素群を示す。それらは表面デー
タ要素群T- と同じではあるが、表面データ群T- のレ
ベルより低い詳細度レベルを有する表面セグメントを指
定し、表面データ要素群T+の要素の数は表面データ要
素群T- の要素の数より小さい。
【0072】Mは、メモリエリア1aおよびメモリエリ
ア1bにある他のデータレコードのポインタアドレスの
いずれによっても参照されない表面データ要素群T- の
データ要素を参照するポインタアドレスを含む、メモリ
エリア1bのデータレコード集合を示す。
ア1bにある他のデータレコードのポインタアドレスの
いずれによっても参照されない表面データ要素群T- の
データ要素を参照するポインタアドレスを含む、メモリ
エリア1bのデータレコード集合を示す。
【0073】図8は、図4に示すフローチャートのステ
ップS4の詳細例を説明するためのフローチャートであ
る。サブステップS4(1)では、表面データ要素群T
- からの表面データ要素を参照するポインタアドレスを
含み且つ他のデータレコードのポインタアドレスによっ
ては参照されないデータレコードを見出すために、メモ
リ1のメモリエリア1bにおいて探索を実行する。サブ
ステップS4(2)では、メモリエリア1aに記憶され
ている表面データ要素群T+ からの表面データ要素を参
照し且つ表面データ群T- からの表面データ要素を含ま
ずに、Mにより示されるデータレコードにより参照され
る表面データ要素を参照するポインタアドレスを含むデ
ータレコードを生成する。
ップS4の詳細例を説明するためのフローチャートであ
る。サブステップS4(1)では、表面データ要素群T
- からの表面データ要素を参照するポインタアドレスを
含み且つ他のデータレコードのポインタアドレスによっ
ては参照されないデータレコードを見出すために、メモ
リ1のメモリエリア1bにおいて探索を実行する。サブ
ステップS4(2)では、メモリエリア1aに記憶され
ている表面データ要素群T+ からの表面データ要素を参
照し且つ表面データ群T- からの表面データ要素を含ま
ずに、Mにより示されるデータレコードにより参照され
る表面データ要素を参照するポインタアドレスを含むデ
ータレコードを生成する。
【0074】更に、メモリエリア1bに記憶されるデー
タレコードは、Mにより識別されるメモリエリア1bに
記憶されるデータレコードを参照するポインタアドレス
と、リダクションレベルとを含む。リダクションレベル
はMにより識別されるデータレコードの最大リダクショ
ンレベルに1を加えた値に相当する。このように、ステ
ップS4で階層データ構造を確定する。
タレコードは、Mにより識別されるメモリエリア1bに
記憶されるデータレコードを参照するポインタアドレス
と、リダクションレベルとを含む。リダクションレベル
はMにより識別されるデータレコードの最大リダクショ
ンレベルに1を加えた値に相当する。このように、ステ
ップS4で階層データ構造を確定する。
【0075】図16Aは、ステップS3及びステップS
4を実行した後の表面セグメントを示す図である。
4を実行した後の表面セグメントを示す図である。
【0076】図16Bは、ステップS3及びステップS
4を実行した後の階層データ構造を示す図である。
4を実行した後の階層データ構造を示す図である。
【0077】図16Cは、ステップS3及びステップS
4を実行した後のメモリ1のメモリエリア1aおよびメ
モリエリア1b内のデータの内容を示す。
4を実行した後のメモリ1のメモリエリア1aおよびメ
モリエリア1b内のデータの内容を示す。
【0078】図16Aから明らかであるように、表示す
べき物体の表面はより低い詳細度レベルで表現されてい
る。この場合、図15Aでは三角形2、3、4、7、8
により表現されていた表面セグメントは、三角形13、
14、15及び16により指定されている。従って、三
角形の数は減っている。残る三角形1、10、5、6、
11、12は図15Aと比べて変わらないままである。
べき物体の表面はより低い詳細度レベルで表現されてい
る。この場合、図15Aでは三角形2、3、4、7、8
により表現されていた表面セグメントは、三角形13、
14、15及び16により指定されている。従って、三
角形の数は減っている。残る三角形1、10、5、6、
11、12は図15Aと比べて変わらないままである。
【0079】図16Bは、ステップS3及びステップS
4を実行した後の階層データ構造を示す。当初は12個
の要素から構成されていたデータ構造は要素1つ分拡張
している。この要素は表面13、14、15、16と、
より低いリダクションレベルの要素2、3、4、7、
8、9を参照する各ポインタとを含む。追加されたデー
タ構造要素は、1増分されたリダクションレベルを有す
る。追加データ構造要素の中に示されたポインタは、階
層的に従属するレベルにあるデータ構造要素を参照する
アドレスを象徴的に表す。三角形13、14、15、1
6により表される、新たな要素により指定される表面セ
グメントは表面2、3、4、7、8、9により指定され
る表面セグメントと同一である。
4を実行した後の階層データ構造を示す。当初は12個
の要素から構成されていたデータ構造は要素1つ分拡張
している。この要素は表面13、14、15、16と、
より低いリダクションレベルの要素2、3、4、7、
8、9を参照する各ポインタとを含む。追加されたデー
タ構造要素は、1増分されたリダクションレベルを有す
る。追加データ構造要素の中に示されたポインタは、階
層的に従属するレベルにあるデータ構造要素を参照する
アドレスを象徴的に表す。三角形13、14、15、1
6により表される、新たな要素により指定される表面セ
グメントは表面2、3、4、7、8、9により指定され
る表面セグメントと同一である。
【0080】図16Cは、ステップS3及びステップS
4を終了した後のメモリ1に記憶されているデータの内
容を示す図である。図16Cから明らかであるように、
メモリエリア1aに記憶されている表面データ要素の数
は4増えている。この増加は追加された三角形13、1
4、15、16の数に相当する。それらの表面13、1
4、15、16は、表面データ要素13から16として
メモリ1のメモリエリア1aに追加記憶される。
4を終了した後のメモリ1に記憶されているデータの内
容を示す図である。図16Cから明らかであるように、
メモリエリア1aに記憶されている表面データ要素の数
は4増えている。この増加は追加された三角形13、1
4、15、16の数に相当する。それらの表面13、1
4、15、16は、表面データ要素13から16として
メモリ1のメモリエリア1aに追加記憶される。
【0081】図16Cに示す例においては、表面データ
要素13は、たとえば、メモリエリア1aのアドレス0
013に記憶される。図15Cに示す状態と比較して、
メモリ1のメモリエリア1bのデータレコードの数も同
様に増えている。すなわち、1増えている。これは図1
6Bに示すように追加されたデータ構造要素の数に相当
する。図16Aでは、表面13、14、15及び16か
ら構成されるデータ構造要素が追加されている。従っ
て、メモリ1のメモリエリア1bのアドレス0013に
追加データレコード13が記憶される。データレコード
13は、まず、メモリエリア1aにある表面データ要素
を示すポインタアドレスの数を表す。
要素13は、たとえば、メモリエリア1aのアドレス0
013に記憶される。図15Cに示す状態と比較して、
メモリ1のメモリエリア1bのデータレコードの数も同
様に増えている。すなわち、1増えている。これは図1
6Bに示すように追加されたデータ構造要素の数に相当
する。図16Aでは、表面13、14、15及び16か
ら構成されるデータ構造要素が追加されている。従っ
て、メモリ1のメモリエリア1bのアドレス0013に
追加データレコード13が記憶される。データレコード
13は、まず、メモリエリア1aにある表面データ要素
を示すポインタアドレスの数を表す。
【0082】この場合、それらは、4つの表面13、1
4、15及び16に対応して、4つの表面データ要素で
ある。それら4つの表面はメモリ1のメモリエリア1a
のアドレス0013から0016に記憶される。それら
4つのアドレスも同様にデータレコード13にポインタ
アドレスまたは参照アドレスとして記憶される。それら
は、メモリエリア1bにあるデータレコードを参照する
ポインタアドレスの数の指示によって接合される。図示
した例のデータレコード13では、この数は13であ
る。すなわち、データレコード13はメモリエリア1b
の中の他の6つのデータレコードを参照する6つのポイ
ンタアドレスを有し、それらのデータレコードは一体と
なって同じ表面エリアをデータレコード13として指定
する。
4、15及び16に対応して、4つの表面データ要素で
ある。それら4つの表面はメモリ1のメモリエリア1a
のアドレス0013から0016に記憶される。それら
4つのアドレスも同様にデータレコード13にポインタ
アドレスまたは参照アドレスとして記憶される。それら
は、メモリエリア1bにあるデータレコードを参照する
ポインタアドレスの数の指示によって接合される。図示
した例のデータレコード13では、この数は13であ
る。すなわち、データレコード13はメモリエリア1b
の中の他の6つのデータレコードを参照する6つのポイ
ンタアドレスを有し、それらのデータレコードは一体と
なって同じ表面エリアをデータレコード13として指定
する。
【0083】図16Cに示す例においては、データレコ
ード13はメモリエリア1bのデータレコード2、3、
4、7、8及び9を参照する6つのポインタアドレス0
002、0003、0004、0007、0008、0
009を有する。データレコード13はそれが参照する
データレコードと同一の表面セグメントを指定するので
あるが、その詳細度レベルは低い。すなわち、リダクシ
ョンレベルが高くなっている。データレコード13のリ
ダクションレベルは、それが参照するデータレコードの
リダクションレベルより1高い。たとえば、データレコ
ード2、3、4、7、8、9はゼロのリダクションレベ
ルを有するが、それらのデータレコードを参照するポイ
ンタアドレスを記憶しているデータレコード13は1の
リダクションレベルを有する。
ード13はメモリエリア1bのデータレコード2、3、
4、7、8及び9を参照する6つのポインタアドレス0
002、0003、0004、0007、0008、0
009を有する。データレコード13はそれが参照する
データレコードと同一の表面セグメントを指定するので
あるが、その詳細度レベルは低い。すなわち、リダクシ
ョンレベルが高くなっている。データレコード13のリ
ダクションレベルは、それが参照するデータレコードの
リダクションレベルより1高い。たとえば、データレコ
ード2、3、4、7、8、9はゼロのリダクションレベ
ルを有するが、それらのデータレコードを参照するポイ
ンタアドレスを記憶しているデータレコード13は1の
リダクションレベルを有する。
【0084】図17Aは、ステップS3及びステップS
4を実行した後の表面セグメントを示す図である。
4を実行した後の表面セグメントを示す図である。
【0085】図17Bは、ステップS3及びステップS
4を実行した後の階層データ構造を示す図である。リダ
クションを実行するため、図17Aに示す表面13、1
4、17、18、19を含む別のデータ構造要素が追加
されている。この14番目のデータ構造要素は13番目
のデータ構造要素と、データ構造要素5、6、10及び
11とを参照するポインタを含む。したがって、表面1
3、14、17、18、19により指定される表面セグ
メントは、図16Aに表すように、13番目のデータ構
造要素により規定される領域に、三角形5、6、10、
11から構成される領域を加えたものである。メモリエ
リア1bのデータレコード14に対応する追加の14番
目のデータ構造要素は、2のリダクションレベルを有す
る。これは、表面使用の詳細度レベルが今一度低下され
たこと、すなわち、詳細度レベルが1減少したことを意
味している。
4を実行した後の階層データ構造を示す図である。リダ
クションを実行するため、図17Aに示す表面13、1
4、17、18、19を含む別のデータ構造要素が追加
されている。この14番目のデータ構造要素は13番目
のデータ構造要素と、データ構造要素5、6、10及び
11とを参照するポインタを含む。したがって、表面1
3、14、17、18、19により指定される表面セグ
メントは、図16Aに表すように、13番目のデータ構
造要素により規定される領域に、三角形5、6、10、
11から構成される領域を加えたものである。メモリエ
リア1bのデータレコード14に対応する追加の14番
目のデータ構造要素は、2のリダクションレベルを有す
る。これは、表面使用の詳細度レベルが今一度低下され
たこと、すなわち、詳細度レベルが1減少したことを意
味している。
【0086】メモリ1のメモリエリア1bのデータレコ
ードの数も、同様に、すなわち、1増加している。これ
は、2のリダクションレベルを有する追加データ構造要
素に対応している。このデータ構造要素はメモリエリア
1bのアドレス0014にデータレコード14として記
憶される。追加データレコード14においては、メモリ
エリア1の表面データ要素を参照するポインタアドレス
の数は5である。それらのアドレスは、メモリエリア1
aの0013、0014、0017、0018、001
9である。それらのアドレスは、14番目のデータ構造
要素を構成する5つの三角形13、14、17、18、
19に対応する。メモリエリア1bにあるデータレコー
ドを参照するポインタアドレスの数pはデータレコード
14でも同様に5である。それらはメモリエリア1bの
アドレス0005、0006、0010、0011、0
013である。
ードの数も、同様に、すなわち、1増加している。これ
は、2のリダクションレベルを有する追加データ構造要
素に対応している。このデータ構造要素はメモリエリア
1bのアドレス0014にデータレコード14として記
憶される。追加データレコード14においては、メモリ
エリア1の表面データ要素を参照するポインタアドレス
の数は5である。それらのアドレスは、メモリエリア1
aの0013、0014、0017、0018、001
9である。それらのアドレスは、14番目のデータ構造
要素を構成する5つの三角形13、14、17、18、
19に対応する。メモリエリア1bにあるデータレコー
ドを参照するポインタアドレスの数pはデータレコード
14でも同様に5である。それらはメモリエリア1bの
アドレス0005、0006、0010、0011、0
013である。
【0087】それらは、データレコード又はデータ構造
要素によりそれぞれ参照されるデータレコードのアドレ
スである。データレコード14のポインタアドレス00
13も同様に、データレコード13が記憶されているア
ドレス0013を参照する。このデータレコード13自
体はメモリエリア1bの6つのデータレコード、中で
も、たとえば、メモリエリア1bのアドレス0002に
あるデータレコード2を参照する。従って、データレコ
ード14はゼロの最低のリダクションレベルを有するデ
ータレコードをポインタアドレスを介して間接連結方式
で参照する。
要素によりそれぞれ参照されるデータレコードのアドレ
スである。データレコード14のポインタアドレス00
13も同様に、データレコード13が記憶されているア
ドレス0013を参照する。このデータレコード13自
体はメモリエリア1bの6つのデータレコード、中で
も、たとえば、メモリエリア1bのアドレス0002に
あるデータレコード2を参照する。従って、データレコ
ード14はゼロの最低のリダクションレベルを有するデ
ータレコードをポインタアドレスを介して間接連結方式
で参照する。
【0088】図9は、図4に示すフローチャートのステ
ップS5の詳細例を説明するためのフローチャートであ
る。ステップS5においては、階層データ構造の評価の
ために初期データレコードを発見するための探索を実行
する。サブステップS5(1)では、カウンタを1に設
定する。サブステップS5(2)では、カウントがメモ
リエリア1bのデータレコードの数を越えたか否かを判
定するために検査を実行する。カウントのほうが大きけ
れば、ステップS5は終了する。カウントがメモリエリ
ア1bのデータレコードの数以下である場合には、i番
目のデータレコードを参照するポインタアドレスを記憶
しているメモリエリア1bのデータレコードが存在する
か否かを判定するために、サブステップS5(3)を実
行する。この種のデータレコードがなければ、次のサブ
ステップS5(4)で、メモリエリア1bで見出され
た、ポインタアドレスによって参照されないデータレコ
ードのアドレスをメモリエリア1cに記憶する。
ップS5の詳細例を説明するためのフローチャートであ
る。ステップS5においては、階層データ構造の評価の
ために初期データレコードを発見するための探索を実行
する。サブステップS5(1)では、カウンタを1に設
定する。サブステップS5(2)では、カウントがメモ
リエリア1bのデータレコードの数を越えたか否かを判
定するために検査を実行する。カウントのほうが大きけ
れば、ステップS5は終了する。カウントがメモリエリ
ア1bのデータレコードの数以下である場合には、i番
目のデータレコードを参照するポインタアドレスを記憶
しているメモリエリア1bのデータレコードが存在する
か否かを判定するために、サブステップS5(3)を実
行する。この種のデータレコードがなければ、次のサブ
ステップS5(4)で、メモリエリア1bで見出され
た、ポインタアドレスによって参照されないデータレコ
ードのアドレスをメモリエリア1cに記憶する。
【0089】これに対し、サブステップS5(3)で、
検査済のデータレコードを参照するポインタアドレスを
記憶しているデータレコードがメモリエリア1bに存在
するという結果が得られた場合には、プログラムは直接
に次のサブステップS5(5)へ進み、カウンタを1増
分する。プログラムはメモリエリア1bにある全てのデ
ータレコードに関して、すなわち、カウントがメモリエ
リア1bのデータレコードの記憶数0と等しくなるま
で、サブステップS5(2)、サブステップS5
(3)、サブステップS5(4)及びサブステップS5
(5)から成るループを繰り返す。このように、ステッ
プS5においては、階層構造図のポインタによって参照
されないデータレコードのアドレスをメモリエリア1c
にコピーする。
検査済のデータレコードを参照するポインタアドレスを
記憶しているデータレコードがメモリエリア1bに存在
するという結果が得られた場合には、プログラムは直接
に次のサブステップS5(5)へ進み、カウンタを1増
分する。プログラムはメモリエリア1bにある全てのデ
ータレコードに関して、すなわち、カウントがメモリエ
リア1bのデータレコードの記憶数0と等しくなるま
で、サブステップS5(2)、サブステップS5
(3)、サブステップS5(4)及びサブステップS5
(5)から成るループを繰り返す。このように、ステッ
プS5においては、階層構造図のポインタによって参照
されないデータレコードのアドレスをメモリエリア1c
にコピーする。
【0090】図18A,図18B及び図18Cは、ステ
ップS5の実行後の表面セグメント、階層データ構造、
格納データの詳細例を示す図である。図17Aに示し
た、ステップS3及びステップS4実行後の結果と比較
すると、図18Aに示す表面セグメントは変わっていな
い。従って、図18Bに示す階層データ構造も、図17
Bに示したデータ構造と比べて変わらないままである。
図18Cから明らかであるように、メモリ1のメモリエ
リア1a及びメモリエリア1bのデータはステップS5
により変化しない。ステップS5の終了後、メモリエリ
ア1bのどのポインタアドレスによっても参照されない
データレコードのポインタアドレスがそれまで空であっ
たメモリエリア1cに書き込まれる。これは同時に階層
データ構造の中の、ポインタにより参照されないデータ
レコードにも対応する。
ップS5の実行後の表面セグメント、階層データ構造、
格納データの詳細例を示す図である。図17Aに示し
た、ステップS3及びステップS4実行後の結果と比較
すると、図18Aに示す表面セグメントは変わっていな
い。従って、図18Bに示す階層データ構造も、図17
Bに示したデータ構造と比べて変わらないままである。
図18Cから明らかであるように、メモリ1のメモリエ
リア1a及びメモリエリア1bのデータはステップS5
により変化しない。ステップS5の終了後、メモリエリ
ア1bのどのポインタアドレスによっても参照されない
データレコードのポインタアドレスがそれまで空であっ
たメモリエリア1cに書き込まれる。これは同時に階層
データ構造の中の、ポインタにより参照されないデータ
レコードにも対応する。
【0091】図17Bからわかるように、別のデータレ
コードにより参照されないデータレコードは、たとえ
ば、レコード1、12及び14である。図17Cからわ
かるように、それらのデータレコードはアドレス000
1、0012及び0014を有する。メモリエリア1b
のそれら3つのアドレスは、ステップS5の終了後、メ
モリ1のメモリエリア1cにコピーされる。メモリエリ
ア1cに記憶され、メモリエリア1bにあるデータレコ
ードを参照するポインタアドレスの数は、メモリエリア
1cの第1のメモリアドレス0000に記憶される。こ
の例の場合、それらは3つのアドレスである。
コードにより参照されないデータレコードは、たとえ
ば、レコード1、12及び14である。図17Cからわ
かるように、それらのデータレコードはアドレス000
1、0012及び0014を有する。メモリエリア1b
のそれら3つのアドレスは、ステップS5の終了後、メ
モリ1のメモリエリア1cにコピーされる。メモリエリ
ア1cに記憶され、メモリエリア1bにあるデータレコ
ードを参照するポインタアドレスの数は、メモリエリア
1cの第1のメモリアドレス0000に記憶される。こ
の例の場合、それらは3つのアドレスである。
【0092】図10は、図4に示すフローチャートのス
テップS6の詳細例を説明するためのフローチャートで
ある。ステップS6では、物体を表現するときの最小詳
細度レベルを演算装置2で計算する。サブステップS6
(1)では、カウンタを1に設定する。次に、カウント
がメモリエリア1cに記憶されているアドレスの数を越
えたか否かを判定するために、サブステップS6(2)
を実行する。カウントのほうが大きければ、プログラム
はステップS6の終わりに到達する。これに対し、カウ
ントがアドレスの数以下である場合には、メモリエリア
1cのi番目のアドレスにより参照されるデータレコー
ドによって指定される、物体セグメントの表現のための
最小詳細度レベルを計算する。
テップS6の詳細例を説明するためのフローチャートで
ある。ステップS6では、物体を表現するときの最小詳
細度レベルを演算装置2で計算する。サブステップS6
(1)では、カウンタを1に設定する。次に、カウント
がメモリエリア1cに記憶されているアドレスの数を越
えたか否かを判定するために、サブステップS6(2)
を実行する。カウントのほうが大きければ、プログラム
はステップS6の終わりに到達する。これに対し、カウ
ントがアドレスの数以下である場合には、メモリエリア
1cのi番目のアドレスにより参照されるデータレコー
ドによって指定される、物体セグメントの表現のための
最小詳細度レベルを計算する。
【0093】最小詳細度レベルは、任意に確定できるい
わゆるLOD基準に従って計算される。それらのLOD
基準は、たとえば、物体セグメントと観察者との間隔で
あっても良く、あるいは、出力画面における物体セグメ
ントの位置であっても良い。LOD基準の大半は動的で
ある。すなわち、物体表面に沿って基準は絶えず変化す
る。LOD(詳細度レベル)は表示すべき物体により要
求される正確度のレベルを確定する。たとえば、LOD
基準は、物体の視覚表示において観察者の視野の中心に
位置する物体セグメントの表現の最大正確度が要求され
るという面にあると考えられる。従って、図10に示す
ステップS6では、メモリ1のメモリエリア1cにアド
レスが記憶されているデータレコードごとに、要求され
る最小詳細度レベルを計算する。
わゆるLOD基準に従って計算される。それらのLOD
基準は、たとえば、物体セグメントと観察者との間隔で
あっても良く、あるいは、出力画面における物体セグメ
ントの位置であっても良い。LOD基準の大半は動的で
ある。すなわち、物体表面に沿って基準は絶えず変化す
る。LOD(詳細度レベル)は表示すべき物体により要
求される正確度のレベルを確定する。たとえば、LOD
基準は、物体の視覚表示において観察者の視野の中心に
位置する物体セグメントの表現の最大正確度が要求され
るという面にあると考えられる。従って、図10に示す
ステップS6では、メモリ1のメモリエリア1cにアド
レスが記憶されているデータレコードごとに、要求され
る最小詳細度レベルを計算する。
【0094】ステップS6に続いて、図11に示すよう
に、各データレコードの計算上の要求詳細度レベルをス
テップS7のデータレコードに記憶されている詳細度レ
ベルと比較する。メモリエリア1bの各データレコード
はそのデータレコードのリダクションレベルを記憶す
る。データレコードの詳細度レベルは、データレコード
のリダクションレベルから、記憶されているリダクショ
ンレベルを最大リダクションレベルから減算することに
より計算されても良い。次に、この計算上のデータレコ
ードの詳細度レベルをステップS6で計算された要求最
小詳細度レベルと比較する。
に、各データレコードの計算上の要求詳細度レベルをス
テップS7のデータレコードに記憶されている詳細度レ
ベルと比較する。メモリエリア1bの各データレコード
はそのデータレコードのリダクションレベルを記憶す
る。データレコードの詳細度レベルは、データレコード
のリダクションレベルから、記憶されているリダクショ
ンレベルを最大リダクションレベルから減算することに
より計算されても良い。次に、この計算上のデータレコ
ードの詳細度レベルをステップS6で計算された要求最
小詳細度レベルと比較する。
【0095】ステップS7のサブステップS7(1)で
は、カウンタを1に設定する。サブステップS7(2)
では、カウントがメモリエリア1cに記憶されているア
ドレスの数を越えるか否かを判定するために検査を実行
する。カウントのほうが大きければ、プログラムはステ
ップS7の終わりに到達する。カウントがメモリエリア
1cに記憶されているアドレスの数以下である場合に
は、メモリエリア1cのi番目のアドレスにより参照さ
れるデータレコードの詳細度レベルが計算上の詳細度レ
ベルより高いか否かを判定するために、次のサブステッ
プS7(3)を実行する。データレコードの詳細度レベ
ルのほうが低ければ、プログラムはサブステップS7
(4)へ進み、図12に示すステップ8aを実行する。
は、カウンタを1に設定する。サブステップS7(2)
では、カウントがメモリエリア1cに記憶されているア
ドレスの数を越えるか否かを判定するために検査を実行
する。カウントのほうが大きければ、プログラムはステ
ップS7の終わりに到達する。カウントがメモリエリア
1cに記憶されているアドレスの数以下である場合に
は、メモリエリア1cのi番目のアドレスにより参照さ
れるデータレコードの詳細度レベルが計算上の詳細度レ
ベルより高いか否かを判定するために、次のサブステッ
プS7(3)を実行する。データレコードの詳細度レベ
ルのほうが低ければ、プログラムはサブステップS7
(4)へ進み、図12に示すステップ8aを実行する。
【0096】これに対し、サブステップS7(3)にお
いてデータレコードの詳細度レベルが計算上の詳細度レ
ベル以上である場合には、プログラムはサブステップS
7(5)へ進み、図13に示すステップ8bを実行す
る。次のサブステップS7(6)ではカウンタを1増分
し、プログラムは、メモリエリア1cに記憶されている
全てのアドレスの処理が終了するまで、サブステップS
7(2)、サブステップS7(3)、サブステップS7
(4)又はサブステップS7(5)及びサブステップS
7(6)から成るループを実行する。
いてデータレコードの詳細度レベルが計算上の詳細度レ
ベル以上である場合には、プログラムはサブステップS
7(5)へ進み、図13に示すステップ8bを実行す
る。次のサブステップS7(6)ではカウンタを1増分
し、プログラムは、メモリエリア1cに記憶されている
全てのアドレスの処理が終了するまで、サブステップS
7(2)、サブステップS7(3)、サブステップS7
(4)又はサブステップS7(5)及びサブステップS
7(6)から成るループを実行する。
【0097】図12および図13は、図11に示したサ
ブステップS7(4)及びサブステップS7(5)の詳
細例を説明するための図である。サブステップS7
(5)で実行されるステップ8aでは、アドレスをメモ
リエリア1cにコピーする。この場合、サブステップS
7(3)で詳細度レベルが計算上のデータレコードの最
小詳細度レベルより低いと判定されたデータレコードの
ポインタアドレスをメモリエリア1cにコピーする。
ブステップS7(4)及びサブステップS7(5)の詳
細例を説明するための図である。サブステップS7
(5)で実行されるステップ8aでは、アドレスをメモ
リエリア1cにコピーする。この場合、サブステップS
7(3)で詳細度レベルが計算上のデータレコードの最
小詳細度レベルより低いと判定されたデータレコードの
ポインタアドレスをメモリエリア1cにコピーする。
【0098】図12から明らかであるように、ステップ
8aも同様に2つのサブステップから成る。サブステッ
プS8a(1)では、カウンタjを1に設定する。次
に、カウントjがデータレコードに記憶されている、デ
ータレコードを参照するポインタアドレスの数を越える
か否かを判定するためにサブステップS8a(2)を実
行する。カウントjがその数より大きければ、プログラ
ムは直接にサブステップS8a(5)へ進む。カウント
jがデータレコードに記憶されているポインタアドレス
の数以下である場合には、データレコードDに記憶され
ている、メモリエリア1bのデータレコードを参照する
j番目のポインタアドレスをメモリエリア1cにコピー
する。次のサブステップS8a(4)で、カウンタjを
1増分する。データレコードに記憶された全てのポイン
タアドレスがメモリエリア1cにコピーされ終わるま
で、プログラムはサブステップS8a(2),サブステ
ップS8a(3),サブステップS8a(3),サブス
テップS8a(4)から成るループを実行する。
8aも同様に2つのサブステップから成る。サブステッ
プS8a(1)では、カウンタjを1に設定する。次
に、カウントjがデータレコードに記憶されている、デ
ータレコードを参照するポインタアドレスの数を越える
か否かを判定するためにサブステップS8a(2)を実
行する。カウントjがその数より大きければ、プログラ
ムは直接にサブステップS8a(5)へ進む。カウント
jがデータレコードに記憶されているポインタアドレス
の数以下である場合には、データレコードDに記憶され
ている、メモリエリア1bのデータレコードを参照する
j番目のポインタアドレスをメモリエリア1cにコピー
する。次のサブステップS8a(4)で、カウンタjを
1増分する。データレコードに記憶された全てのポイン
タアドレスがメモリエリア1cにコピーされ終わるま
で、プログラムはサブステップS8a(2),サブステ
ップS8a(3),サブステップS8a(3),サブス
テップS8a(4)から成るループを実行する。
【0099】図13から明らかであるように、ステップ
8bも同様にいくつかのサブステップから成る。サブス
テップS8b(1)では、カウンタjを1に設定する。
次に、カウントjがデータレコードDに記録されてい
る、表面データ要素を参照するポインタアドレスの数を
越えるか否かを検査するために、サブステップS8b
(2)を実行する。カウントjがその数より大きけれ
ば、プログラムは直接にサブステップS8b(5)へ進
む。カウントjがDに記憶されている表面データ要素を
参照するポインタアドレスの数以下である場合には、プ
ログラムはサブステップS8b(3)を実行する。
8bも同様にいくつかのサブステップから成る。サブス
テップS8b(1)では、カウンタjを1に設定する。
次に、カウントjがデータレコードDに記録されてい
る、表面データ要素を参照するポインタアドレスの数を
越えるか否かを検査するために、サブステップS8b
(2)を実行する。カウントjがその数より大きけれ
ば、プログラムは直接にサブステップS8b(5)へ進
む。カウントjがDに記憶されている表面データ要素を
参照するポインタアドレスの数以下である場合には、プ
ログラムはサブステップS8b(3)を実行する。
【0100】このサブステップでは、Dに記憶されてい
る表面データ要素を参照するj番目のポインタアドレス
をメモリエリア1dにコピーする。次に、サブステップ
S8b(4)でカウンタjを1増分する。データレコー
ドDに記憶されている、表面データ要素を参照する全て
のポインタアドレスがメモリエリア1dにコピーされ終
わるまで、プログラムはサブステップS8b(2),サ
ブステップS8b(3)及びサブステップS8b(4)
のループを実行する。最後に、サブステップS8b
(5)においてメモリエリア1cのデータレコードDを
参照するポインタアドレスを消去し、ステップ8の終了
後にプログラムは図11に示すサブステップS7(6)
に到達する。
る表面データ要素を参照するj番目のポインタアドレス
をメモリエリア1dにコピーする。次に、サブステップ
S8b(4)でカウンタjを1増分する。データレコー
ドDに記憶されている、表面データ要素を参照する全て
のポインタアドレスがメモリエリア1dにコピーされ終
わるまで、プログラムはサブステップS8b(2),サ
ブステップS8b(3)及びサブステップS8b(4)
のループを実行する。最後に、サブステップS8b
(5)においてメモリエリア1cのデータレコードDを
参照するポインタアドレスを消去し、ステップ8の終了
後にプログラムは図11に示すサブステップS7(6)
に到達する。
【0101】図19A及び図19Bは、ステップS6、
ステップS7、ステップS8を実行した後の結果を示す
図である。
ステップS7、ステップS8を実行した後の結果を示す
図である。
【0102】図19Aは、メモリエリア1dに記憶され
ているメモリエリア1cの表面データ要素のポインタア
ドレスにより参照される表面セグメントを示す。
ているメモリエリア1cの表面データ要素のポインタア
ドレスにより参照される表面セグメントを示す。
【0103】図19Bは、メモリ1に記憶されているデ
ータを示す。メモリエリア1a及びメモリエリア1bの
データは、ステップS6からステップS8の実行によっ
ては変化しない。すなわち、この例の場合、このデータ
は図17Cに示したデータと同一である。しかしなが
ら、ステップS6からステップS8はメモリエリア1c
及びメモリエリア1dのデータを変化させる。図19A
に示す表面セグメントは、図19Bから明らかになるよ
うに、ポインタアドレスがメモリエリア1dに記憶され
ている表面データ要素1及び表面データ要素12に対応
している。
ータを示す。メモリエリア1a及びメモリエリア1bの
データは、ステップS6からステップS8の実行によっ
ては変化しない。すなわち、この例の場合、このデータ
は図17Cに示したデータと同一である。しかしなが
ら、ステップS6からステップS8はメモリエリア1c
及びメモリエリア1dのデータを変化させる。図19A
に示す表面セグメントは、図19Bから明らかになるよ
うに、ポインタアドレスがメモリエリア1dに記憶され
ている表面データ要素1及び表面データ要素12に対応
している。
【0104】ステップS6で計算したデータレコード1
及びデータレコード12の要求最小詳細度レベルが、実
際に記憶されている詳細度レベルより低く且つデータレ
コード14の計算上の要求詳細度レベルは実際に記憶さ
れているデータレコード14の詳細度レベルより高いと
仮定している。
及びデータレコード12の要求最小詳細度レベルが、実
際に記憶されている詳細度レベルより低く且つデータレ
コード14の計算上の要求詳細度レベルは実際に記憶さ
れているデータレコード14の詳細度レベルより高いと
仮定している。
【0105】図18Bに示すように、階層データ構造図
のステップS6からステップS8の1回目の反復を実行
する前の初期状況を見ると、データレコード14は2の
リダクションレベルを有し、データレコード13は1の
リダクションレベルを有し、データレコード1から12
はそれぞれゼロのリダクションレベルを有することがわ
かる。データレコードの詳細度レベルは、最大リダクシ
ョンレベルから記憶されているリダクションレベルを減
算した結果である。たとえば、最大リダクションレベル
が2であると仮定すると、データレコード14について
はゼロの詳細度レベルが得られ、データレコード13に
ついては1の詳細度レベルが得られ、データレコード1
から12については2の詳細度レベルが得られる。従っ
て、データレコード1から12は最大詳細度レベルを有
する表面を指示する。
のステップS6からステップS8の1回目の反復を実行
する前の初期状況を見ると、データレコード14は2の
リダクションレベルを有し、データレコード13は1の
リダクションレベルを有し、データレコード1から12
はそれぞれゼロのリダクションレベルを有することがわ
かる。データレコードの詳細度レベルは、最大リダクシ
ョンレベルから記憶されているリダクションレベルを減
算した結果である。たとえば、最大リダクションレベル
が2であると仮定すると、データレコード14について
はゼロの詳細度レベルが得られ、データレコード13に
ついては1の詳細度レベルが得られ、データレコード1
から12については2の詳細度レベルが得られる。従っ
て、データレコード1から12は最大詳細度レベルを有
する表面を指示する。
【0106】この例の場合、ステップS6からステップ
S7の1回目の反復実行の前の初期状況においては、メ
モリエリア1bのデータレコード1、12及び14を参
照する3つのポインタアドレス、すなわち、0001、
0012、0014がメモリエリア1cに記憶されてい
る。これらのデータレコードの例は図17Cに示されて
いる。
S7の1回目の反復実行の前の初期状況においては、メ
モリエリア1bのデータレコード1、12及び14を参
照する3つのポインタアドレス、すなわち、0001、
0012、0014がメモリエリア1cに記憶されてい
る。これらのデータレコードの例は図17Cに示されて
いる。
【0107】図10に示すサブステップを含むステップ
S6では、メモリエリア1cのポインタアドレスにより
参照されるデータレコードごとに要求最小詳細度レベル
を計算する。この例の場合は、計算上の最小詳細度レベ
ルが3つのデータレコード1、12、14の全てについ
て1である、すなわち、図10に示すサブステップS6
(3)がデータレコード1、12、14のそれぞれにつ
いて1の結果をもたらしたという仮定に基づいている。
S6では、メモリエリア1cのポインタアドレスにより
参照されるデータレコードごとに要求最小詳細度レベル
を計算する。この例の場合は、計算上の最小詳細度レベ
ルが3つのデータレコード1、12、14の全てについ
て1である、すなわち、図10に示すサブステップS6
(3)がデータレコード1、12、14のそれぞれにつ
いて1の結果をもたらしたという仮定に基づいている。
【0108】図11に示すステップS7においては、メ
モリエリア1cに記憶された3つのデータレコード1、
12、14の全てについて、各々のデータレコードの詳
細度レベルが計算上の最小詳細度レベルを越えるか否か
を判定するために検査を実行する。たとえば、データレ
コード1のリダクションレベルはゼロである。これは、
最大リダクションレベルが2であると仮定すれば、詳細
度レベルは2であることを意味している。そのため、サ
ブステップS7(3)における判断文は、データレコー
ド1に関して、このデータレコードが要求最小詳細度レ
ベルより高い詳細度レベルを有するという結果をもたら
す。
モリエリア1cに記憶された3つのデータレコード1、
12、14の全てについて、各々のデータレコードの詳
細度レベルが計算上の最小詳細度レベルを越えるか否か
を判定するために検査を実行する。たとえば、データレ
コード1のリダクションレベルはゼロである。これは、
最大リダクションレベルが2であると仮定すれば、詳細
度レベルは2であることを意味している。そのため、サ
ブステップS7(3)における判断文は、データレコー
ド1に関して、このデータレコードが要求最小詳細度レ
ベルより高い詳細度レベルを有するという結果をもたら
す。
【0109】従って、このデータレコードについてサブ
ステップS7(4)を実行し、図11に示すようなステ
ップ8bを実行する。そこで、サブステップS8b
(3)では、データレコード1に記憶されている、メモ
リエリア1aの表面データ要素を参照するポインタアド
レスをメモリエリア1dにコピーする。図17Cからわ
かるように、たとえば、データレコード1はメモリエリ
ア1aの表面データ要素1を参照するポインタアドレス
0001を1つしか持たない。図19Bから明らかにな
るように、このポインタアドレスをメモリエリア1dに
コピーする。データレコード12に対しても、同じ動作
が実行される。
ステップS7(4)を実行し、図11に示すようなステ
ップ8bを実行する。そこで、サブステップS8b
(3)では、データレコード1に記憶されている、メモ
リエリア1aの表面データ要素を参照するポインタアド
レスをメモリエリア1dにコピーする。図17Cからわ
かるように、たとえば、データレコード1はメモリエリ
ア1aの表面データ要素1を参照するポインタアドレス
0001を1つしか持たない。図19Bから明らかにな
るように、このポインタアドレスをメモリエリア1dに
コピーする。データレコード12に対しても、同じ動作
が実行される。
【0110】データレコード14に関しては、サブステ
ップS7(3)の判断文は、このデータレコードの詳細
度レベルが計算上の最小詳細度レベルより低いという結
果をもたらす。たとえば、図18Bから明らかなよう
に、データレコード14は2のリダクションレベルを有
する。最大リダクションレベルが2であると仮定する
と、ゼロの詳細度レベルが得られる。すなわち、データ
レコード14は、たとえば、データレコード13又はデ
ータレコード1から12より低い詳細度レベルを有する
表面を指定している。
ップS7(3)の判断文は、このデータレコードの詳細
度レベルが計算上の最小詳細度レベルより低いという結
果をもたらす。たとえば、図18Bから明らかなよう
に、データレコード14は2のリダクションレベルを有
する。最大リダクションレベルが2であると仮定する
と、ゼロの詳細度レベルが得られる。すなわち、データ
レコード14は、たとえば、データレコード13又はデ
ータレコード1から12より低い詳細度レベルを有する
表面を指定している。
【0111】サブステップS6(3)でデータレコード
14について計算した最小詳細度レベルがゼロであると
仮定すれば、サブステップS7(3)は、ゼロであるデ
ータレコードの詳細度レベルが計算上の最小詳細度レベ
ル1より低いという結果をもたらす。そこで、サブステ
ップS7(5)からデータレコード14に関する図12
のステップ8aへ進む。データレコード14は、メモリ
エリア1bのデータレコードを参照する5つのポインタ
アドレスを有する。メモリエリア1bのデータレコード
を参照するそれらのポインタアドレス、すなわち、00
05、0006、0010、0011、0013は、図
19Bに示すように、サブステップS8a(3)でメモ
リエリア1cにコピーされる。
14について計算した最小詳細度レベルがゼロであると
仮定すれば、サブステップS7(3)は、ゼロであるデ
ータレコードの詳細度レベルが計算上の最小詳細度レベ
ル1より低いという結果をもたらす。そこで、サブステ
ップS7(5)からデータレコード14に関する図12
のステップ8aへ進む。データレコード14は、メモリ
エリア1bのデータレコードを参照する5つのポインタ
アドレスを有する。メモリエリア1bのデータレコード
を参照するそれらのポインタアドレス、すなわち、00
05、0006、0010、0011、0013は、図
19Bに示すように、サブステップS8a(3)でメモ
リエリア1cにコピーされる。
【0112】最後に、プログラムは1回目の反復ステッ
プで処理された全てのデータレコード1、12、14に
ついてサブステップS8b(5)に達する。このとき、
メモリエリア1cのデータレコードを参照するポインタ
アドレスを消去する。図19Bから明らかである通り、
データレコード1、12、14を参照するポインタアド
レス0001、0012、0014がメモリエリア1c
から消去される。サブステップS8b(5)の実行後、
プログラムは図11のサブステップS7(6)に到達
し、ステップS7のカウンタiを1増分する。
プで処理された全てのデータレコード1、12、14に
ついてサブステップS8b(5)に達する。このとき、
メモリエリア1cのデータレコードを参照するポインタ
アドレスを消去する。図19Bから明らかである通り、
データレコード1、12、14を参照するポインタアド
レス0001、0012、0014がメモリエリア1c
から消去される。サブステップS8b(5)の実行後、
プログラムは図11のサブステップS7(6)に到達
し、ステップS7のカウンタiを1増分する。
【0113】2回目の反復の間には、ポインタアドレス
がメモリエリア1cに記憶されているデータレコードを
処理する。図19Bによれば、それらはデータレコード
5、6、10、11、13である。データレコード5、
6、10、11は2の詳細度レベルを有し、データレコ
ード13は1の詳細度レベルを有する。全てのデータレ
コードについて計算上の要求詳細度レベルが1であると
仮定すると、サブステップS7(3)の判断の結果、プ
ログラムは全てのデータレコードについてサブステップ
S7(4)へ進み、サブステップS7(5)へは進まな
い。サブステップS7(4)ではステップ8bを実行す
る。すなわち、データレコードに記憶されている、メモ
リエリア1aの表面データ要素を参照するポインタアド
レスをメモリエリア1dにコピーする。
がメモリエリア1cに記憶されているデータレコードを
処理する。図19Bによれば、それらはデータレコード
5、6、10、11、13である。データレコード5、
6、10、11は2の詳細度レベルを有し、データレコ
ード13は1の詳細度レベルを有する。全てのデータレ
コードについて計算上の要求詳細度レベルが1であると
仮定すると、サブステップS7(3)の判断の結果、プ
ログラムは全てのデータレコードについてサブステップ
S7(4)へ進み、サブステップS7(5)へは進まな
い。サブステップS7(4)ではステップ8bを実行す
る。すなわち、データレコードに記憶されている、メモ
リエリア1aの表面データ要素を参照するポインタアド
レスをメモリエリア1dにコピーする。
【0114】たとえば、メモリエリア1aの表面データ
要素13、14、15、16を参照するデータレコード
13のポインタアドレス0013、0014、001
5、0016と、データレコード1、12、14を参照
するポインタアドレス0001、0012、0014が
メモリエリア1cから消去される。サブステップS8b
(5)の実行後、プログラムは図11のサブステップS
7(6)へ進み、データレコード5、6、10、11、
13を参照するメモリエリア1cのポインタアドレスを
消去する。従って、この例に従えば、ステップS6から
ステップS8を2回目に反復した後は、メモリエリア1
cは空である。
要素13、14、15、16を参照するデータレコード
13のポインタアドレス0013、0014、001
5、0016と、データレコード1、12、14を参照
するポインタアドレス0001、0012、0014が
メモリエリア1cから消去される。サブステップS8b
(5)の実行後、プログラムは図11のサブステップS
7(6)へ進み、データレコード5、6、10、11、
13を参照するメモリエリア1cのポインタアドレスを
消去する。従って、この例に従えば、ステップS6から
ステップS8を2回目に反復した後は、メモリエリア1
cは空である。
【0115】ステップS9では、物体の形状表示のため
に、メモリ1のメモリエリア1dでアドレス指定される
表面データ要素を出力装置4へ出力する。図20Aによ
れば、メモリエリア1dに記憶されている表面データ要
素が出力装置4へ出力される。この例の場合、それらは
表面データ要素1、12と、表面データ要素5、6、1
0、11、13、14、15、16である。図15Aと
図20Aを比較すると、表面1から12による当初の表
面表現に代わって、表面1、5、7、10、11、1
2、13、14、15を含む図20Aの表面表現がなさ
れていることがわかる。表面表現の詳細度レベルは低下
したが、計算上の要求詳細度レベルの観点から言えばま
だ十分である。このように、方法の実行後、LOD基準
に関して正確度要求を満たす物体形状の表現が生成され
る。
に、メモリ1のメモリエリア1dでアドレス指定される
表面データ要素を出力装置4へ出力する。図20Aによ
れば、メモリエリア1dに記憶されている表面データ要
素が出力装置4へ出力される。この例の場合、それらは
表面データ要素1、12と、表面データ要素5、6、1
0、11、13、14、15、16である。図15Aと
図20Aを比較すると、表面1から12による当初の表
面表現に代わって、表面1、5、7、10、11、1
2、13、14、15を含む図20Aの表面表現がなさ
れていることがわかる。表面表現の詳細度レベルは低下
したが、計算上の要求詳細度レベルの観点から言えばま
だ十分である。このように、方法の実行後、LOD基準
に関して正確度要求を満たす物体形状の表現が生成され
る。
【0116】以上説明した方法はコンピュータグラフィ
ックスの非常に多数の特定の分野で都合よく採用でき
る。可能であると思われる代表的な用途は、シミュレー
ションやビジュアライゼーションなどのコンピュータ生
成3D表示である。それとは別に、たとえば、プロトタ
イピングなどの、コンピュータグラフィックス以外の用
途も可能である。
ックスの非常に多数の特定の分野で都合よく採用でき
る。可能であると思われる代表的な用途は、シミュレー
ションやビジュアライゼーションなどのコンピュータ生
成3D表示である。それとは別に、たとえば、プロトタ
イピングなどの、コンピュータグラフィックス以外の用
途も可能である。
【0117】特に医療の分野においては、本発明を効率
よく利用できる。本発明は、人体の内部の三次元画像を
非侵入方式で生成するのに適するどの種類の画像表示方
法とも組み合わせて使用するのに適している。医療の分
野で最も一般的な方法はX線コンピュータ断層撮影、コ
ンピュータ支援断層撮影及びNMR断層撮影並びに3D
超音波技術である。
よく利用できる。本発明は、人体の内部の三次元画像を
非侵入方式で生成するのに適するどの種類の画像表示方
法とも組み合わせて使用するのに適している。医療の分
野で最も一般的な方法はX線コンピュータ断層撮影、コ
ンピュータ支援断層撮影及びNMR断層撮影並びに3D
超音波技術である。
【0118】医療以外の用途においても、本発明と組み
合わせできる三次元走査技法はある。そのような用途と
しては、たとえば、飛行機や自動車の製造に際して、レ
ーザー支援走査技法、あるいは衛星から送信された画像
により生成される代表的又は特定地形風景データを使用
する飛行シミュレーションに基づく、摩耗が重大な影響
を及ぼす部品の測定及び検査などがある。
合わせできる三次元走査技法はある。そのような用途と
しては、たとえば、飛行機や自動車の製造に際して、レ
ーザー支援走査技法、あるいは衛星から送信された画像
により生成される代表的又は特定地形風景データを使用
する飛行シミュレーションに基づく、摩耗が重大な影響
を及ぼす部品の測定及び検査などがある。
【0119】本発明によれば、物体表面の形状に沿って
リアルタイム近似の正確度を変化させることができる。
本発明では、所望の又は要求される詳細度レベルが回復
されるまで、所定の物体セグメントに対して実行される
リダクションステップは全て中止される。この目的のた
めに、リダクション動作中に階層データ構造が確定され
る。簡単に言えば、この階層データ構造は物体のそれぞ
れ分離した部分を異なる詳細度レベルで表示するために
使用できる複数の特定の三角形を記憶する。そこで、物
体セグメントごとに物体の表示又は出力のために適切な
詳細度レベルを選択できる。
リアルタイム近似の正確度を変化させることができる。
本発明では、所望の又は要求される詳細度レベルが回復
されるまで、所定の物体セグメントに対して実行される
リダクションステップは全て中止される。この目的のた
めに、リダクション動作中に階層データ構造が確定され
る。簡単に言えば、この階層データ構造は物体のそれぞ
れ分離した部分を異なる詳細度レベルで表示するために
使用できる複数の特定の三角形を記憶する。そこで、物
体セグメントごとに物体の表示又は出力のために適切な
詳細度レベルを選択できる。
【0120】本発明では、著しく複雑な物体でも表示で
きるとともに関連する物体セグメントを最大限の正確度
で表示又は出力することができる。この目的のために、
表面に沿った詳細度レベルのグラデーションをリダクシ
ョンプロセス中という早い段階で不変に設定する必要は
なく表示の時点で可変に規定できる。本発明は、表面形
状を単純化するための様々な技法と組み合わせることが
できる。しかしながら、それらの表面形状単純化方法は
反復性を持ち、局所的に作用する方法でなければならな
い。全く新しい表面仕様を計算する技法は適していな
い。
きるとともに関連する物体セグメントを最大限の正確度
で表示又は出力することができる。この目的のために、
表面に沿った詳細度レベルのグラデーションをリダクシ
ョンプロセス中という早い段階で不変に設定する必要は
なく表示の時点で可変に規定できる。本発明は、表面形
状を単純化するための様々な技法と組み合わせることが
できる。しかしながら、それらの表面形状単純化方法は
反復性を持ち、局所的に作用する方法でなければならな
い。全く新しい表面仕様を計算する技法は適していな
い。
【0121】
【発明の効果】以上説明したように、本発明によれば、
物体の複雑さを著しく改善するとともに、関連する物体
セグメントを最大限の詳細度で表示するための画像処理
方法を提供することができる。
物体の複雑さを著しく改善するとともに、関連する物体
セグメントを最大限の詳細度で表示するための画像処理
方法を提供することができる。
【0122】
【図1】 本発明にかかる一実施形態の画像処理方法を
実行可能な装置の構成例を示す図、
実行可能な装置の構成例を示す図、
【図2】 図1に示すメモリ1の記憶域例を説明するた
めの図、
めの図、
【図3】 本発明にかかる一実施形態の画像処理方法を
実行可能な装置の構成例を示す図、
実行可能な装置の構成例を示す図、
【図4】 本発明にかかる一実施形態の画像処理方法を
説明するためのフローチャート、
説明するためのフローチャート、
【図5】 図4に示すフローチャートのステップS1の
詳細例を説明するためのフローチャート、
詳細例を説明するためのフローチャート、
【図6】 図4に示すフローチャートのステップS2の
詳細例を説明するためのフローチャート、
詳細例を説明するためのフローチャート、
【図7】 図4に示すフローチャートのステップS3の
詳細例を説明するためのフローチャート、
詳細例を説明するためのフローチャート、
【図8】 図4に示すフローチャートのステップS4の
詳細例を説明するためのフローチャート、
詳細例を説明するためのフローチャート、
【図9】 図4に示すフローチャートのステップS5の
詳細例を説明するためのフローチャート、
詳細例を説明するためのフローチャート、
【図10】 図4に示すフローチャートのステップS6
の詳細例を説明するためのフローチャート、
の詳細例を説明するためのフローチャート、
【図11】 図4に示すフローチャートのステップS7
の詳細例を説明するためのフローチャート、
の詳細例を説明するためのフローチャート、
【図12】 図4に示すフローチャートのステップS8
aの詳細例を説明するためのフローチャート、
aの詳細例を説明するためのフローチャート、
【図13】 図4に示すフローチャートのステップS8
bの詳細例を説明するためのフローチャート、
bの詳細例を説明するためのフローチャート、
【図14】 図4に示すフローチャートのステップS9
の詳細例を説明するためのフローチャート、
の詳細例を説明するためのフローチャート、
【図15A】 本発明にかかる一実施形態の物体の表面
セグメントの詳細例を示す図、
セグメントの詳細例を示す図、
【図15B】 本発明にかかる一実施形態の物体の階層
データ構造の詳細例を示す図、
データ構造の詳細例を示す図、
【図15C】 本発明にかかる一実施形態のメモリ1に
格納されたデータの詳細例を示す図、
格納されたデータの詳細例を示す図、
【図16A】 本発明にかかる一実施形態の物体の表面
セグメントの詳細例を示す図、
セグメントの詳細例を示す図、
【図16B】 本発明にかかる一実施形態の物体の階層
データ構造の詳細例を示す図、
データ構造の詳細例を示す図、
【図16C】 本発明にかかる一実施形態のメモリ1に
格納されたデータの詳細例を示す図、
格納されたデータの詳細例を示す図、
【図17A】 本発明にかかる一実施形態の物体の表面
セグメントの詳細例を示す図、
セグメントの詳細例を示す図、
【図17B】 本発明にかかる一実施形態の物体の階層
データ構造の詳細例を示す図、
データ構造の詳細例を示す図、
【図17C】 本発明にかかる一実施形態のメモリ1に
格納されたデータの詳細例を示す図、
格納されたデータの詳細例を示す図、
【図18A】 本発明にかかる一実施形態の物体の表面
セグメントの詳細例を示す図、
セグメントの詳細例を示す図、
【図18B】 本発明にかかる一実施形態の物体の階層
データ構造の詳細例を示す図、
データ構造の詳細例を示す図、
【図18C】 本発明にかかる一実施形態のメモリ1に
格納されたデータの詳細例を示す図、
格納されたデータの詳細例を示す図、
【図19A】 本発明にかかる一実施形態の物体の表面
セグメントの詳細例を示す図、
セグメントの詳細例を示す図、
【図19B】 本発明にかかる一実施形態のメモリ1に
格納されたデータの詳細例を示す図、
格納されたデータの詳細例を示す図、
【図20A】 本発明にかかる一実施形態の物体の表面
セグメントの詳細例を示す図、
セグメントの詳細例を示す図、
【図20B】 本発明にかかる一実施形態のメモリ1に
格納されたデータの詳細例を示す図である。
格納されたデータの詳細例を示す図である。
1 メモリ(memory) 1a 第1のメモリエリア(first memory area) 1b 第2のメモリエリア(second memory area) 1c 第3のメモリエリア(third memory area) 1d 第4のメモリエリア(fourth memory area) 2 演算装置(arithmetic unit) 3 入力装置(input device) 4 出力装置(output device) 5 バス(bus) 6 データ変換モジュール(data conversion modul
e) 7 物体走査装置 (object sampling unit)
e) 7 物体走査装置 (object sampling unit)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 カールハンス エングルマイヤー ドイツ連邦共和国 ミュンヘン 80686 ファルピッヒラーシュトラーセ (番地な し)
Claims (12)
- 【請求項1】 可変詳細度レベルで物体の表面形状を外
部装置に出力する画像処理方法であって、 少なくとも1つの物体の表面データを生成して、その表
面データを第1のメモリエリアに記憶し、 前記第1のメモリエリアに記憶された全ての表面データ
に関してデータレコードを生成して、それらのデータレ
コードを第2のメモリエリアに記憶し、 物体セグメントをより低い詳細度レベルで表現するため
に追加表面データを生成し、前記追加表面データを前記
第1のメモリエリアに記憶すると共に、物体表面の1つ
の部分を表現するためにポインタアドレスを介してアド
レス指定可能ないくつかのデータレコードを伴う階層デ
ータ構造を生成し、その階層データ構造と、指定詳細度
レベルとを前記第2のメモリエリアに記憶し、 他のデータレコードに格納されたいかなるポインタアド
レスによっても参照されない前記第2のメモリエリアに
記憶されたデータレコードのポインタアドレスを第3の
メモリエリアに記憶し、 前記物体セグメントを表現するための最小詳細度レベル
を計算し、 前記第3のメモリエリアにポインタアドレスが記憶され
ているデータレコードごとに、計算された最小詳細度レ
ベルと前記データレコードに格納されている詳細度レベ
ルとを比較し、 データレコードごとの比較の結果を評価し、計算された
最小詳細度レベル以上の詳細度レベルを格納しているデ
ータレコードの表面データ要素を参照するポインタアド
レスを第4のメモリエリアにコピーし、そのポインタア
ドレスを前記第3のメモリエリアから消去し、他のデー
タレコードに格納されているポインタアドレスを前記第
3のメモリエリアにコピーし、 前記物体の形状表示のために、前記第4のメモリエリア
でアドレス指定される表面データ要素を前記外部装置へ
出力することを特徴とする画像処理方法。 - 【請求項2】 可変詳細度レベルで物体の表面形状を外
部装置に出力する画像処理方法であって、 少なくとも1つの物体の表面データを生成し、全体とし
て物体表面を構成するその表面データを、互いに接触す
るアドレス指定が可能な表面データの要素の頂点座標と
して第1のメモリエリアに記憶し、 前記第1のメモリエリアに記憶された全ての表面データ
要素について、それぞれの表面データ要素を参照するポ
インタアドレスを含み、且つ、ゼロのリダクションレベ
ルを有する前記表面データ要素それぞれに対応するデー
タレコードを生成し、そのデータレコードを第2のメモ
リエリアに記憶し、 前記物体表面を表現する詳細度レベルを低下させて、物
体セグメントをより低い詳細度レベルで表現するために
追加表面データ要素を生成し、それらの追加表面データ
要素を前記第1のメモリエリアに記憶し、 前記物体表面の一部を指定の詳細度レベルで表現するた
めにポインタアドレスを介してアドレス指定可能なデー
タレコードから成る階層データ構造を生成して、その階
層データ構造を前記第2のメモリエリアに記憶し、 各データレコードは、物体セグメントを指定するために
第一のメモリエリアを参照する少なくとも1つのポイン
タアドレスと、全体として前記物体表面の一部を表現
し、且つ、より高い詳細度レベルをもつデータレコード
を参照するポインタアドレスと、それ自体の詳細度レベ
ルとを含み、 他のデータレコードに格納されたいかなるポインタアド
レスによっても参照されず、且つ、全体として最低の詳
細度レベルで物体を指定する前記第2のメモリエリアに
記憶されたデータレコードのポインタアドレスを第3の
メモリエリアに記憶し、 前記第3のメモリエリアにポインタアドレスが記憶され
ているデータレコードにより指定される物体セグメント
を表現するための最小詳細度レベルを計算し、 前記第3のメモリエリアにポインタアドレスが記憶され
ているデータレコードごとに、計算された最小詳細度レ
ベルと前記データレコードに格納されている詳細度レベ
ルとを比較し、 前記第3のメモリエリアにポインタアドレスが記憶され
ているデータレコードごとに比較の結果を評価し、計算
された最小詳細度レベル以上の詳細度レベルを記憶して
いるデータレコードの表面データ要素を参照するポイン
タアドレスを第4のメモリエリアにコピーし、そのデー
タレコードを参照するポインタアドレスを前記第3のメ
モリエリアから消去し、他のデータレコードに格納され
ているポインタアドレスを前記第3のメモリエリアにコ
ピーし、 前記物体の形状表示のために、前記第4のメモリエリア
でアドレス指定される表面データ要素を前記外部装置へ
出力することを特徴とする画像処理方法。 - 【請求項3】 前記アドレス指定が可能な表面データの
要素はポリゴンの頂点の座標を含むことを特徴とする請
求項1または請求項2に記載された画像処理方法。 - 【請求項4】 前記ポリゴンは三角形であることを特徴
とする請求項1から請求項3のいずれか1つに記載され
た画像処理方法。 - 【請求項5】 前記アドレス指定が可能な表面データの
要素は名前又は番号によりアドレス指定可能であること
を特徴とする請求項1から請求項4のいずれか1つに記
載された画像処理方法。 - 【請求項6】 前記表面データの生成は、物体走査装置
の出力データをデータ変換モジュールによりデータ変換
することで実行されることを特徴とする請求項1から請
求項5のいずれか1つに記載された画像処理方法。 - 【請求項7】 前記表面データの生成は、入力装置にお
いて物体形状を入力することにより実行されることを特
徴とする請求項1から請求項5のいずれか1つに記載さ
れた画像処理方法。 - 【請求項8】 前記最小詳細度レベルは、入力可能な基
準に基づいて前記物体セグメントを表現するために計算
されることを特徴とする請求項1から請求項7のいずれ
か1つに記載された画像処理方法。 - 【請求項9】 可変詳細度レベルで物体の表面形状を外
部装置に出力する画像処理方法であって、 少なくとも1つの物体の表面データを生成して、前記表
面データを第1のメモリエリアに記憶し、 前記表面データおよび物体セグメントをより低い詳細度
レベルで表現するための追加表面データのデータレコー
ドを生成して、前記データレコードを第2のメモリエリ
アに記憶し、 前記追加表面データのデータレコードに格納されたいか
なるポインタアドレスによっても参照されないデータレ
コードのポインタアドレスを第3のメモリエリアに記憶
し、 前記物体セグメントを表現するための最小詳細度レベル
を計算し、 計算された最小詳細度レベル以上の詳細度レベルを格納
しているデータレコードの表面データ要素を参照するポ
インタアドレスを第4のメモリエリアにコピーし、 前記第4のメモリエリアでアドレス指定される表面デー
タ要素を前記外部装置へ出力することを特徴とする画像
処理方法。 - 【請求項10】 可変詳細度レベルで物体の表面形状を
外部装置に出力する画像処理方法であって、 少なくとも1つの物体の表面データを生成して、全体と
して物体表面を構成する前記表面データを、互いに接触
するアドレス指定が可能な表面データの要素の頂点座標
として第1のメモリエリアに記憶し、 前記表面データおよび物体セグメントをより低い詳細度
レベルで表現するための追加表面データのポインタアド
レスを含み、且つ、ゼロのリダクションレベルを有する
データレコードを生成して、前記データレコードを第2
のメモリエリアに記憶し、 前記追加表面データのデータレコードのいかなるポイン
タアドレスによっても参照されず、且つ、全体として最
低の詳細度レベルで物体を指定するデータレコードのポ
インタアドレスを前記第3のメモリエリアに記憶し、 前記物体セグメントを表現するための最小詳細度レベル
を計算し、 計算された最小詳細度レベル以上の詳細度レベルを格納
しているデータレコードの表面データ要素を参照するポ
インタアドレスを第4のメモリエリアにコピーし、 前記第4のメモリエリアでアドレス指定される表面デー
タ要素を前記外部装置へ出力することを特徴とする画像
処理方法。 - 【請求項11】 画像処理のプログラムコードが記憶さ
れた記憶媒体であって、 少なくとも1つの物体の表面データを生成して、前記表
面データを第1のメモリエリアに記憶するステップのプ
ログラムコードと、 前記表面データおよび物体セグメントをより低い詳細度
レベルで表現するための追加表面データのデータレコー
ドを生成して、前記データレコードを第2のメモリエリ
アに記憶するステップのプログラムコードと、 前記追加表面データのデータレコードに格納されたいか
なるポインタアドレスによっても参照されないデータレ
コードのポインタアドレスを第3のメモリエリアに記憶
するステップのプログラムコードと、 前記物体セグメントを表現するための最小詳細度レベル
を計算するステップのプログラムコードと、 計算された最小詳細度レベル以上の詳細度レベルを格納
しているデータレコードの表面データ要素を参照するポ
インタアドレスを第4のメモリエリアにコピーするステ
ップのプログラムコードと、 前記第4のメモリエリアでアドレス指定される表面デー
タ要素を前記外部装置へ出力するステップのプログラム
コードとを有することを特徴とする記憶媒体。 - 【請求項12】 画像処理のプログラムコードが記憶さ
れた記憶媒体であって、 少なくとも1つの物体の表面データを生成して、全体と
して物体表面を構成する前記表面データを、互いに接触
するアドレス指定が可能な表面データの要素の頂点座標
として第1のメモリエリアに記憶するステップのプログ
ラムコードと、 前記表面データおよび物体セグメントをより低い詳細度
レベルで表現するための追加表面データのポインタアド
レスを含み、且つ、ゼロのリダクションレベルを有する
データレコードを生成して、前記データレコードを第2
のメモリエリアに記憶するステップのプログラムコード
と、 前記追加表面データのデータレコードのいかなるポイン
タアドレスによっても参照されず、且つ、全体として最
低の詳細度レベルで物体を指定するデータレコードのポ
インタアドレスを前記第3のメモリエリアに記憶するス
テップのプログラムコードと、 前記物体セグメントを表現するための最小詳細度レベル
を計算するステップのプログラムコードと、 計算された最小詳細度レベル以上の詳細度レベルを格納
しているデータレコードの表面データ要素を参照するポ
インタアドレスを第4のメモリエリアにコピーするステ
ップのプログラムコードと、 前記第4のメモリエリアでアドレス指定される表面デー
タ要素を前記外部装置へ出力するステップのプログラム
コードとを有することを特徴とする記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE196374634 | 1996-09-13 | ||
DE19637463A DE19637463A1 (de) | 1996-09-13 | 1996-09-13 | Verfahren zur Anzeige von geometrischen Objektoberflächen |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10105737A true JPH10105737A (ja) | 1998-04-24 |
Family
ID=7805613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9249114A Withdrawn JPH10105737A (ja) | 1996-09-13 | 1997-09-12 | 画像処理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6057849A (ja) |
EP (1) | EP0829822B1 (ja) |
JP (1) | JPH10105737A (ja) |
AT (1) | ATE242901T1 (ja) |
DE (2) | DE19637463A1 (ja) |
DK (1) | DK0829822T3 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6348921B1 (en) * | 1996-04-12 | 2002-02-19 | Ze Hong Zhao | System and method for displaying different portions of an object in different levels of detail |
US5861920A (en) * | 1996-11-08 | 1999-01-19 | Hughes Electronics Corporation | Hierarchical low latency video compression |
US6362833B2 (en) * | 1998-04-08 | 2002-03-26 | Intel Corporation | Method and apparatus for progressively constructing a series of morphs between two-dimensional or three-dimensional models |
JPH11331700A (ja) * | 1998-05-15 | 1999-11-30 | Sony Corp | 画像処理装置および画像処理方法 |
US6268861B1 (en) * | 1998-08-25 | 2001-07-31 | Silicon Graphics, Incorporated | Volumetric three-dimensional fog rendering technique |
US6618048B1 (en) | 1999-10-28 | 2003-09-09 | Nintendo Co., Ltd. | 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components |
US6717577B1 (en) | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
US6636214B1 (en) | 2000-08-23 | 2003-10-21 | Nintendo Co., Ltd. | Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode |
US7576748B2 (en) | 2000-11-28 | 2009-08-18 | Nintendo Co. Ltd. | Graphics system with embedded frame butter having reconfigurable pixel formats |
US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
US7196710B1 (en) | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US7082425B2 (en) * | 2003-06-10 | 2006-07-25 | Logicube | Real-time searching of data in a data stream |
JP2006092195A (ja) * | 2004-09-22 | 2006-04-06 | Sega Corp | 画像処理装置及び画像処理方法 |
US7973789B2 (en) * | 2005-06-03 | 2011-07-05 | Pixar | Dynamic model generation methods and apparatus |
US8886445B1 (en) * | 2010-03-05 | 2014-11-11 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Automatic aircraft collision avoidance system and method |
WO2013123636A1 (en) * | 2012-02-20 | 2013-08-29 | Thomson Licensing | Method and apparatus for mesh simplification |
GB2496015B (en) | 2012-09-05 | 2013-09-11 | Imagination Tech Ltd | Pixel buffering |
CN108127481B (zh) * | 2017-12-15 | 2019-11-29 | 北京理工大学 | 一种基于侧铣加工的工件表面形貌的预测方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4692880A (en) * | 1985-11-15 | 1987-09-08 | General Electric Company | Memory efficient cell texturing for advanced video object generator |
CA2060975C (en) * | 1991-02-25 | 1998-11-10 | Gopalan Ramanujam | Scientific visualization system |
US5442733A (en) * | 1992-03-20 | 1995-08-15 | The Research Foundation Of State University Of New York | Method and apparatus for generating realistic images using a discrete representation |
US5517602A (en) * | 1992-12-03 | 1996-05-14 | Hewlett-Packard Company | Method and apparatus for generating a topologically consistent visual representation of a three dimensional surface |
-
1996
- 1996-09-13 DE DE19637463A patent/DE19637463A1/de not_active Ceased
-
1997
- 1997-08-19 AT AT97114317T patent/ATE242901T1/de not_active IP Right Cessation
- 1997-08-19 DE DE59710253T patent/DE59710253D1/de not_active Expired - Fee Related
- 1997-08-19 EP EP97114317A patent/EP0829822B1/de not_active Expired - Lifetime
- 1997-08-19 DK DK97114317T patent/DK0829822T3/da active
- 1997-09-11 US US08/927,839 patent/US6057849A/en not_active Expired - Fee Related
- 1997-09-12 JP JP9249114A patent/JPH10105737A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0829822B1 (de) | 2003-06-11 |
US6057849A (en) | 2000-05-02 |
DE19637463A1 (de) | 1998-03-26 |
DK0829822T3 (da) | 2003-09-22 |
EP0829822A3 (de) | 1998-08-19 |
EP0829822A2 (de) | 1998-03-18 |
DE59710253D1 (de) | 2003-07-17 |
ATE242901T1 (de) | 2003-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10105737A (ja) | 画像処理方法 | |
US5570460A (en) | System and method for volume rendering of finite element models | |
EP0636971B1 (en) | Method and apparatus for producing a composite second image in the spatial context of a first image | |
US20050237336A1 (en) | Method and system for multi-object volumetric data visualization | |
Haubner et al. | Virtual reality in medicine-computer graphics and interaction techniques | |
EP2513869B1 (en) | Level of detail processing | |
EP1430427A1 (en) | Methods and systems for interaction with three-dimensional computer models | |
EP0549182A2 (en) | Apparatus and method for displaying surgical cuts in three-dimensional models | |
Qi et al. | Divided Voxels: an efficient algorithm for interactive cutting of deformable objects | |
CN114241101A (zh) | 三维场景渲染方法、系统、装置及存储介质 | |
Rodrigues et al. | VoxSculpt: An Open-Source Voxel Library for Tomographic Volume Sculpting in Virtual Reality | |
Bornik et al. | Interactive editing of segmented volumetric datasets in a hybrid 2D/3D virtual environment | |
Wohlfahrter et al. | Interactive volume exploration on the study desk | |
Çit et al. | A real-time virtual sculpting application by using an optimized hash-based octree | |
US12026835B2 (en) | Computer-implemented methods for simulating deformation in real-world scene, electronic devices, and computer-readable storage medium | |
Boada et al. | 3D texture-based hybrid visualizations | |
Peng et al. | Freeform modelling using sweep differential equation with haptic interface | |
Haimes | Techniques for interactive and interrogative scientific volumetric visualization | |
JPH07271998A (ja) | 立体表示方法および装置 | |
Mandalika | Interactive visualization of MARS spectral CT datasets | |
Novins | Towards accurate and efficient volume rendering | |
EP0549189B1 (en) | Solid model generation by span method using dividing cubes | |
Belblidia et al. | Multi-resolution rendering of architectural models | |
Moritz et al. | Toward immersive clay modeling: interactive modeling with octrees | |
Романюк et al. | INTERACTIVE SHAPE MODELING USING FUNCTIONALLY DEFINED OBJECTS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20041207 |