JPH05258018A - コンピュータ方法 - Google Patents

コンピュータ方法

Info

Publication number
JPH05258018A
JPH05258018A JP4356725A JP35672592A JPH05258018A JP H05258018 A JPH05258018 A JP H05258018A JP 4356725 A JP4356725 A JP 4356725A JP 35672592 A JP35672592 A JP 35672592A JP H05258018 A JPH05258018 A JP H05258018A
Authority
JP
Japan
Prior art keywords
shape
procedure
concave
vertices
convex
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.)
Granted
Application number
JP4356725A
Other languages
English (en)
Other versions
JP3209598B2 (ja
Inventor
Andrew S Glassner
エス.グラスナー アンドリュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
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 Xerox Corp filed Critical Xerox Corp
Publication of JPH05258018A publication Critical patent/JPH05258018A/ja
Application granted granted Critical
Publication of JP3209598B2 publication Critical patent/JP3209598B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【目的】 これらの手順の結果、凹形状をその凸閉包へ
と、あるいはそれらの間にある他の形状へと視覚的に円
滑な変換を行なうこと。 【構成】 形状を表示のために修正する方法であって、
非自己交差、単一接続、0族の三角形多面体として表
し、複数の三角面として限定し、各三角面を3つの座標
点のセットとして限定し、凹辺にポップまたはスライド
手順を実施することにより形状の中の凹辺を除去する方
法である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は形状のコンピューター変
更に関し、より詳細には、2つの物体間に円滑且つ美的
に満足できる変態を作り上げるために有益な技術に関す
る。
【0002】
【従来の技術】本明細書の開示には一部著作権保護の対
象となる題材が含まれている。著作権の所有者は、特許
庁の特許ファイルまたは記録の中にある特許書類または
特許開示を現物通り複写することには異議を唱えない
が、それ以外は何であれ全ての著作権を留保している。
【0003】三次元のコンピューターグラフィックスの
出現により、コンピューターによるアニメーション製作
は多くのアニメーション製作者及び科学者にとって魅力
的なものになってきている。該アニメーションは娯楽・
広告産業において、また美術向けに使用され、最近では
科学的視覚表象化のために使用されることが増えてい
る。1つの形状から他の形状への変換は一般に変態(m
etamorphosis)として知られている。従来
の二次元及び三次元アニメーション製作者は長期に亘り
変態を利用して物語製作の可能性を探ってきた。変態技
術は、外見上異なる物体間の象徴的または事実上の一致
を伝えるのに効果的である。また変態はコンピューター
エイデッドデザイン(CAD)、例えば、車体を涙滴に
結合させ、より空力的な車体を形成するために使用され
る。
【0004】現在の変態技術の問題点は、ユーザーが指
図しなければ中間形状が不満足なものとなることであ
る。しかしながら、一度形状が完成すると、必要となる
ユーザーの指図量は非常に労働集約的なものになる。
【0005】このように、ある切実な要求を満たす中間
形状を提供する一方で、1つの形状を他の形状に変換す
る自動工程を提供することが望ましい。説明のために、
元の物体を「原形」と称し、最終的な物体を「目標形」
と称する。原形及び目標形を共に境界形状(または境
界)と呼び、該工程に沿って形造られる形状を、その境
界に関する変形(metamorph)と呼ぶ。特定の
変形はパラメーターμによって識別され、μ=0及びμ
=1の時に、該変形は原形及び目標形に各々幾何学的に
一致し、μの中間値は中間(もしくは適当な)変形を生
じる。
【0006】形状間の変化は幾何学的、視覚的、一時的
に滑らかであることが望ましい。何の束縛もなく一瞬の
間原形を単に示したかと思うと、次に突然目標形になる
ことができる。可能性のある手順を考慮し、どのような
特徴を保存し削除するかを決定することにより、更なる
基準を誘導することができる。まず始めに、原形を表示
する手順を考慮し、均一のスケーリングによってそれを
点に縮小し、工程を逆に動かし、その点から目標形を大
きくして最終形状にまで至らしめる。該手順は円滑だが
縮退的である。縮退の性質は、原形をあらゆる方向に無
限に拡大し、その後無限大形状を目標形にまで縮小する
補足手順を考慮することにより法則化することができ
る。無限大形状は点形状と同じ意味で縮退的であり、形
状に関する全ての幾何学的情報が失われたと考えられ
る。
【0007】これら2つの手順は縮退を避けるべきであ
ることを示している。規模条件をより厳しく、つまり、
変形を境界形状の規模より大きくもなく小さくもない範
囲にとどめることが望ましい。この条件で誘発される法
則の一例は、各変形の境を接する球体の半径が、常に境
界形状の境を接する球体の半径で限定される範囲内にあ
ることである。
【0008】もう1つの基準を以下の円滑で非縮退的手
順によって示す。さしあたり、各境界形状が多角形また
は斑点(パッチ)の集まりで形成されていると仮定して
みよう。まず個々の斑点をその中心に向けて内側に縮小
し、同時に不均一にそれを太くして球体にする。一度そ
の形状が球体の集まりになれば、球体の数が目標形の中
の斑点の数に等しくなるまで、分裂・接合を繰り返す。
次に該工程を逆向きに繰り返し、斑点を形成するまで各
球体を適切に平板化し、ついに全てが結合して目標形を
形成する。前述の手順と同様、本技術も形状を変形する
ためには望ましくない。ここでの問題は分離である。原
形及び目標形は面で結合されており、変形も同じ様に結
合されることが望ましい。この法則の説明では、境界形
状が同じ位相族(種類:genus)を共有する場合、
全ての変形も同じ族でなければならない。
【0009】図1の変換を考慮することにより別の問題
が現れてくる。それには2つの円錐体CSとGSが各々
原形及び目標形として示されており、可能性のある手順
により作られた変形CM1、CM2、CM3、CM4が
示されている。この例において、原形の円錐体の頂点は
目標の円錐体の頂点に向かって移動するが、円錐体の全
ての部分が同じ早さで動くのではない。境界形状(C
S、GS)はどちらも自己交差しないが、変形は自己交
差するので奇妙に見える。これは別の法則:原形及び目
標形が自己交差しない場合、変形もするべきではないこ
とを提案している。
【0010】このように、変態は、非縮退的で、自己交
差せず、境界形状が同じ族である場合、不変の族から成
る変形の一時的・幾何学的連続を生じるべきである。
【0011】現在の形状変換手順を考慮する時、より単
純な二次元形状補間問題と三次元的な問題を区別してみ
る価値がある。
【0012】二次元形状補間問題は、1つの曲線から別
の曲線への変換を発見することだと要約できる。該曲線
は解析的でも手書きでも良い。最も単純な二次元的手順
は、区分的線形閉鎖曲線(多角形)を入力と解釈する。
原形の各頂点は目標形の頂点と調和する。各原形の頂点
を相応する目標の頂点に向けて移動させることにより変
形が作られる。このアプローチには多くの問題がある。
図2に示すように、正五角形を正三角形に補間する時
に、ふぞろいの形状をした多角形が作られる。加えて、
原形の頂点の内どの頂点が目標形の共通の頂点へマッピ
ングされるべきかを決定しなければならない。図2にお
いて、三角形を形成するために五角形の頂点BはCと結
合し、五角形の頂点DはEと結合する。図2における作
図(マッピング)が唯一可能な作図ではなく、どの選択
も多対一であり、このようにある種の縮退を生じる。変
形は自己交差を含む多くの問題を抱えている。
【0013】作図(マッピング)が一対一になるよう
に、両曲線上に同じ数の頂点を作成するこの技術の概念
を考えてみよう。この二次元的手順は、解析的または数
的に、2つの曲線の弧の長さのパラメーター表示を見つ
けることから始まる。次に元の曲線がいくつかの同じ大
きさのセグメントに細分化され、目標の曲線が同様に細
分化される。次にセグメント間の結糸が原形から目標に
至るまで書き換えられ、該曲線は各段階で再構築され
る。該再構築は区分的線形であっても滑らかであっても
良い。図3では、この方法によって五角形Pに転換され
た三角形Tが示されている。三角形の各辺は5個のセグ
メントに分けられ、その辺の終了点は3個のセグメント
を持った五角形の辺を構成するために移動される。
【0014】この単純な技術により満足できる結果を得
るために、通常手動による援助を必要としている。図4
Aは、1988年カリフォルニア、マウンティン・ビュ
ーのアドベ・システム Inc. のアドベ・イラストレイタ
ー88、バージョン1.9.3を使用した本技術の市販
の器具を用いて行う、2つの形状の自動書換えを表して
いる。この変換はほとんどの場合、おそらく許容されな
いであろう。原形も目標形も自己交差していないのに、
原形が崩れて自己交差変形になっている。図4Aにおけ
る問題を制御するために、ユーザーは2つの輪郭の特定
の位置に結糸をはっきりと置き、何組かの原形と目標の
結糸を連合させることができる。これによりユーザーが
2つの輪郭の特徴の間に対応するものを強要し、自己交
差を防ぐための簡単で直感的な手法が提供される。図4
Bはアーティストが対応する点を手動で作った後の同じ
輪郭を示している。
【0015】多くの幾何学的問題と同様、上記二次元的
問題の解決法は三次元的問題には当てはまらない。三次
元における頂点の書換え(補間)は、二次元におけるよ
り難しい。なお悪いことに、スカラーの弧の長さとして
単調性と簡単な分類基準を持つ明らかな面積パラメータ
ー表示がない。
【0016】三次元的頂点書換え(補間)は、原形と目
標形状が制御点または頂点によって表される多面体もし
くは他の形状である場合に適用可能な作図(マッピン
グ)工程である。他の方法によって、原形の全ての頂点
は目標の頂点と同一視される。変形を発生させるため
に、全ての原形の頂点が通常はまっすぐな方向に、その
対応する目標の位置まで動かされる。頂点書換えにおけ
る困難な問題は頂点の一致を選択することである。2つ
の最終的な解決方法は純粋に自動的な方法と手動的な方
法である。前者の方法は研究者の注目を浴びており、後
者の方法はアニメーション・ソフトの市販業者によって
極微形状補間技術として利用されている。
【0017】頂点のマッチングは、自動であれ、ユーザ
ーによる制御であれ、多数の問題とぶつかる。三次元に
おける自動頂点補間は、自己交差及び縮退を含む上記二
次元的手順と同じ問題を抱えている。どちらも6辺を持
った物体である立方体から5辺円錐体への変換を考えて
みよう。立方体の8つの頂点で円錐体の6つの頂点を作
る方法を決定しなければならない。更に悪いことに、立
方体の4辺多角形を円錐体の5辺形の基部に変換する方
法も決定しなければならない。単に置くだけでこの変換
ができる。頂点作図は、自動であれ手動であれ必要では
ない。ユーザーは間に介入して物体の1つを改造するこ
とができるが、これは費用が高く、大きなモデルが関係
すると難しくなる。
【0018】そのために、頂点補間は二次元の場合と同
じ様に、ユーザーが特徴マッチングを明快に制御できる
ようにする。熊の頭からはつかねずみの頭への変換にお
いて、鼻を鼻に、耳を耳にというように作図することが
できる。この力を出すにはそれだけの費用がかかる。中
間的な面のように見える変形を作るには、境界モデルは
頂点が合うように概ね等しい連結グラフを持っていなけ
ればならない。頂点マッチング技術から良い結果を得る
ためには、ユーザーはモデル(形状)を作る時に書換え
を計画し、基本的な(キー)特徴が位相的に類似してい
るモデルを作り、2つのモデルの間のマッチした特徴を
苦心して確認しなければならない。2つの任意の先在す
るモデル間で変換を行いたい場合は、特別にマッチング
をしなければならず、変換の間の縮退を防止するため時
には手動の作図が必要となる。これら全ての努力にもか
かわらず、自己交差と局部的縮退が起こりやすい。頂点
補間も注意深く技術的に行えば、満足できる変換を行う
ことができるが、良い結果を得るために必要となる手動
による計画と努力は、ほとんどの場合非常に高くつくも
のとなる。
【0019】自動頂点マッチングは興味深い展開線であ
るが、非常に難しく思われる。頂点マッチングへの簡単
な自動アプローチの1つは、2つの多面体を描写するネ
ットを見つけ出し、これらのネットの積グラフを作るこ
とである。概念的に、このネットは「最小公分母」面を
描写する。この結合グラフの大きさ、及びこのように結
合された形状は、境界形状のグラフの大きさの積に比例
し、その大きさは頂点、辺及び面の合計である。原形及
び目標形の各々が10,000あるいはそれ以上の多角形で作
られる製作環境では、この爆発的なデータは非常に高価
なものとなる。
【0020】このアプローチには多くの変形物がある
が、全て(おそらく拡大された)原形及び目標形におい
て結局頂点をマッチングするということになり、これは
自己交差と縮体を生じることになる。
【0021】非常に複雑な自動システムなら広範囲の特
徴を分離・分類することができ、次に2つの形状の特徴
の間に一致する点を見いだすことができるであろう。特
徴の摘出と識別技術は、はるかに限定的なイメージ解析
である二次元領域においては困難である。現在のとこ
ろ、このような工程を指導するのに利用できる三次元ツ
ールはない。局部の形状の安定した均一な描写及びその
分類なしには、自動特徴マッチング技術は広範囲の形状
に適用された場合、予測不可能な結果を生み出すヒュー
リスティックスの特別収集物となるであろう。
【0022】このような理由から、頂点マッチングは強
力なアプローチを表していると考えられる。頂点補間は
手動で行った場合、ユーザーに大変な量の時間と努力を
要求し、自動的に行った場合には予測不可能な望ましく
ない結果を生じる。
【0023】三次元形状書換えのためのその他一般的な
方法には、陰関数を混合する方法がある。その基本的な
考え方は、原形及び目標形の各々の表面を三次元的スカ
ラー関数の同表面と定義することである。原形がf(x,y,
z)=0、最終形状がg(x,y,z)=0であると仮定してみよう。
そうすれば、簡単に生じる変形科m(μ) はm(μ)=(1-μ)
f+ μg の同表面として描写できる。この技術は大いに
推薦できる。直接的また間接的に陰表面を表現するため
に利用出来る技術は数多くある。これらの手順の1つの
器具を持っていると仮定すると、変形を作ることは平凡
である。技術的には特徴マッチングは必要なく、幾何学
でも位相幾何学でも取り扱える。実際、この方法により
2つの境界形状間の族の変化を形に表すための非凡な能
力が得られる。図5は球体を円環面体に書き換えるこの
技術により作られた変形を示している。
【0024】不運なことに、この技術は常にこのような
満足できる変形の連続を作れるわけではない。図6はま
っすぐな位置から曲げられたU字形へのダンベルの二次
元書換え(補間)を示している。元のダンベルの両端の
玉は主軸から離れ消滅していく一方で、新たな端が中間
に現れ成長してその後管に接続される。これは変形が書
き換えられたスカラー場の単なる同表面であり、これら
の描写に組み込まれる形状もしくは連合性という概念が
ないことから起こる。図6に示された分離は平坦な適度
に入り組んだ場面において、許容できない程度にまで成
長する可能性がある。1つの物体が多数の小さなほこり
になってちらちら動き、別の物体が散乱したほこりから
ちらちら現れるような推移において変態の観念が失われ
ることがある。
【0025】この問題は陰関数をキーの収集物:Σ(w i
k i )として表すことにより、何とか抑えることができ
る。式中各kiは異なるスカラー評価(典型的に非線形)
のベクトル関数を表す。境界形状が作成用ブロック関数
の収集物として作られる場合、原形及び目標形における
キーを合わせ、これらのキーを個々に書き換えることが
できる。この浄化により更にしっかりと制御することが
できるようになるが、書き換えられた形状が離れないと
いう保証はない。もっとまじめに言うと、キーをマッチ
ングすることは頂点のマッチングをするのと同じような
ものである。従って、キー・マッチングは頂点書換えの
拒絶に通じる同一理由のために望ましいものではない。
頂点書換えと同様、キーの間の作図を見つけるため様々
なヒューリスティックスが試みられるであろうが、これ
らの技術は頂点補間の場合と同様の特別な性質と予測不
可能な結果を持っている。
【0026】要約すると、頂点書換えは自己交差と縮退
に悩む強力な技術である。類似した特徴を合わせるよう
に、モデルを設計する時には特別な補間順序を心の中に
描いていなければならない。手動によるアプローチをす
る場合には、ユーザーは原形及び目標の頂点を明快に合
わせる必要がある。自動頂点マッチングは難しいパター
ン摘出と分類技術を必要とするように思われ、これらの
技術はいまだ利用できる状態ではない。陰表面の補間
は、正しい状況の下では、非常に魅力的な変形を作るこ
とができる簡単な方法であり、複雑な形状の幾何学もし
くは位相幾何学上に何の制限もない。不運なことに、こ
れは通常分離に悩み、唯一の解決方法は頂点マッチング
の類似であり、同様の問題を抱えている。
【0027】
【発明が解決しようとする課題】従って、本発明の目的
は視覚的に円滑な方法で凹形状を凸閉包に転換するため
に使用できる手順を提供することである。
【0028】
【課題を解決するための手段】この手順は2形状間で補
間を行うための大きな手順の一部として使用できる。本
発明の凹対凸転換手順を用いて2つの形状を対応する凸
閉包に転換することができる。次に、2つの凸閉包間の
補間のために別の手順を利用する。1つの形状から別の
形状への補間を表示するために、まず原形をその凸閉包
に転換し、次に原形の凸閉包を目標形の凸閉包に転換す
る。引続いて、凹対凸の手順を目標形のために逆に進め
ることにより、目標形の凸閉包を目標形に転換する。こ
こで述べる新しい技術は、ユーザーの指導なしに2つの
多面体を補間(インターポレイション)するために立案
されたものである。本技術の適用は0族(つまり、単一
閉鎖表面、位相幾何学的には球体)の三角形に分けられ
た非自己交差多面体に制限される。第一の条件は適応す
るように変形できるサンプル球体と連合した形状を従来
の「収縮包装(シュリンクラッピング)」することによ
って達成できる。第二の条件は標準の三角形にする手順
の適用により満たすことができる。
【0029】凹対凸の手順は入力多面体からその凸閉包
への連続した道を形成する多面体の科(ファミリー)を
作り出す。多面体の科は以下の束縛を条件として形成さ
れる:科の中の全ての多面体は三角形にされ、0族で、
自己交差せず、科の如何なる要素も一点もしくは無限大
の物体ではないという意味で非縮退でなければならな
い。入力多面体はうまく、つまり、各々の辺(エッジ)
が正確に2面を持ち、2面が正確に1つの辺を共有する
という風に形成されると仮定する。更に、入力多面体
は、2つの連続する一対の頂点のクロス乗積によって決
定される表面法線が常に局部的に外方向を指すように、
その面に対して矛盾のない頂点順序を持っている(ほと
んどのグラフィックスパッケージが他の目的のためにこ
の情報を必要としている)と仮定する。
【0030】凹形状をその凸閉包に転換するための基本
的な作用をポップ(POP)と称する。ポップ作用(ま
たは運動)が、凹辺を共有する2つの隣接した三角面
(もしくは三角形)で凸辺を共有する2つの新しい三角
面に置き換えることによって凹辺を凸辺に転換する。凹
辺は凹辺を共有する2つの隣接した三角面に共通の2つ
の頂点の間に画定される。これら2つの頂点を共有頂点
と称する。また、各三角面は隣接する三角面によって共
有されない一つの頂点を持っている。このように、凸辺
が発生するたびに、2つの隣接する三角面が識別され、
それは順次2つの共有頂点と2つの非共有頂点(各三角
面に1つ)によって画定される。ポップ作用は元の2つ
の隣接する三角面を画定した同じ4つの頂点から2つの
新しい三角面を作り出す。但し、元の非共有頂点は新し
い三角面の共有頂点であり、元の共有頂点は新しい三角
面の非共有頂点である。2つの新しい三角面の共有頂点
は新しい凸辺を画定する。
【0031】ポップ作用は以下の方法によって視覚的に
円滑な方法で実施することができる:a)凹辺の中点を確
認する;b)元の2つの三角形の各々を凹辺の中点を用い
て分けることにより、4つの一時的三角形を画定にす
る;c)凹辺の中点を凸辺の中点(即ち、元の2つの三角
形の非共有頂点の間に画定された線分の中点)に移動さ
せることによって、4つの一時的三角形を円滑に移動さ
せる;及びd)4つの一時的三角形を2つの新しい三角形
に置き換える。
【0032】2つの新しい三角形と2つの元の三角形は
共に四面体を画定にする。ポップ作用は本質的に、2つ
の元の三角形が凹辺を共有する時に、(四面体の平表面
の半分を限定する)2つの元の三角形を(四面体の平表
面の他方の半分を限定する)2つの新しい三角形と置き
換える。
【0033】凹形状をその凸閉包に転換するために使用
する別の作用(アクション)をスライド作用と称する。
凹辺を画定する2つの三角形が共通の隣接三角形(反射
柱体を形成する)を共有する場合、2つの三角形をはじ
かせること(ポッピング)によって形成した2つの新し
い三角形の内の1つは、共通の隣接三角形と対応する。
その結果、視覚的に許容できない零ボリューム、または
ダングリング面を形成する。従って、スライド作用はダ
ングリング面を防止または除去するために使用される。
【0034】反射柱体の三角形の2つをポッピングした
後、ダングリング面を円滑に除去するために、スライド
作用を実施することができる。ダングリング面が形成さ
れないように、反射柱体を形成する3つの三角形を単一
三角形に転換するために、スライド作用の代替タイプを
使用することができる。
【0035】自己交差と位相変化の発生を最小限に抑え
て、凹形状をその凸閉包に転換するため、ポップとスラ
イドを実行する順序を決定するために、シーケンス技術
を使用する。
【0036】シーケンス段階で、凹形状から凸閉包への
変換を描くポップとスライドを含む作用リスト(実行リ
スト(EXECUTE LIST)と呼ぶ)を作成す
る。各頂点のためのシーケンス手順は、a)その頂点を含
む凹辺を明確にすること;b)その辺に対してポップ作用
またはスライド作用のどちらを適用するかを決定するこ
と;c)その辺をポップするかスライドさせることが幾何
学的に安全か否かを決定すること;及びd)幾何学的に安
全な場合、実行リストに適切な作用を配置することであ
る。頂点のための実行リストに作用を配置する度に、そ
の頂点と連合した辺を再解析し、新しい凹辺を作るか以
前の凹辺を除去するかを決定する。凹辺が残らなくなる
まで、各頂点に対してこの手順を繰り返す。
【0037】幾何学的安全テストによって、実行リスト
に可能な限り多くの、変形において自己交差または縮退
を引き起こさない作用を加えることが保証される。一度
危険な作用が残ると、幾何学的安全テストは厳密でなく
なり、縮退、自己交差あるいはその他の望ましくない視
覚的特徴を生じさせる作用が実行リストに配置される。
危険な作用を可能な限り遅らせることによって、これら
の危険な運動に連合した凹辺がしばしば取り除かれる、
あるいは以前の危険な運動で妨げられる物体の部分が妨
げないように動かされることが発見された。並行現象を
強調する一方で各作用の開始時間をセットするスケジュ
ーリング技術が開示されている。スケジューリング手順
は実行リストを通して順序正しく進み、各作用にできる
だけ早い開始時間を指定する。各作用の期間も決定さ
れ、各作用の開始時間及び終了時間が知らされる。作用
によって除去される凹辺が時間t=0 の時に存在しない場
合、その作用の開始時間は凹辺を作った作用の終了時間
である。
【0038】本発明の一態様は、形状を変更するための
コンピューター方法であって、該形状は、複数の三角面
として定義され、非自己交差、単一接続、及び三角形に
分けられた0族(genus−0)の多面体としての形
状を表す電気信号として格納され、各三角面は3つの座
標点のセットとして定義され、該方法は、 a)該形状の凹辺を識別するステップであって、該凹辺は
2つの隣接した三角面の間に位置し、2つの該隣接三角
面の2つの共有頂点を持った共有辺を画定するステップ
と、 b)該識別された凹辺をポッピングするステップであっ
て、その結果2つの該隣接三角面が消滅し、新たに2つ
の三角面を作りだし、該2つの新しい三角面は凸状であ
って2つの新しい共有頂点により画定された共通の共有
辺を持ち、該2つの新しい共有頂点はポッピング前に該
2つの隣接三角面の2つの非共有頂点と一致し、該2つ
の新しい三角面はポッピング前に該2つの隣接三角面の
共有頂点と一致する2つの非共有頂点を持っているステ
ップと、を備えている。
【0039】
【実施例】本セクションでは凸小平面(ファセット)で
造られる2つの凸多面体を書き換える(補間する)ため
の自動方法について述べる。しかしながら、凹形状から
その凸閉包への転換技術(後のセクションにおいて記述
する)は他の凸対凸手順と共に使用できることが理解さ
れている。多くの変態手順はその入力として凸形状を必
要とするので、後に述べる凹対凸手順を他の手順と共に
使用することができる。例えば、現在開示している凹対
凸手順を、凹形状をその凸閉包に転換するために使用で
き、該凸閉包は上記で引用したアニル・カウル等による
論文に開示された手順に入力され、その手順の凸出力を
その凹形状に転換する。
【0040】開示された凸対凸手順は簡単に実施でき、
2つの境界形状にある多角形の数に関して時間及び空間
において線形である。変形における頂点及び面の数は境
界形状での対応する約数の合計によって制限される。該
手順は一時的に連続・結合し、非縮退である変形を作り
出す。非同期打ち切りと呼ばれる該手順は、二重多面体
(J.カップラフによる"Connections" 、1991年、
ニューヨーク、マックグロー・ヒル社;A.パグによ
る"Polyhedra:A visual Approach" 、1976年、バー
クレー、カリフォルニア大学新聞;及びR.ウィリアム
スによる"The Geometrical Foundation of Natural Str
ucture" 、1979年、ニューヨーク、ドーバー出版社
参照)の古典的作図によって影響される。例えば、図7
に示したように、各々の角を面取りすることにより立方
体を二重の八面体にすることができる。最終的に、最も
右側のフレーム、元の立方体の外形は例証のためにのみ
残され、立方体が八面体に転換されたことが理解されよ
う。
【0041】本発明の手順はこの従来の技術を一連の動
く平面によって実行されるべき打ち切り(せっ頭)を想
像(イメージング)することによって法則化し、次にこ
れらの平面の運動を非同期化する。該手順を簡明さのた
めにまず二次元において記述する。三次元の概念は平凡
である。
【0042】図8に示したように、該手順を3段階:作
図ステップS10(以後、全てのステップに接頭語Sを
付ける)、適合ステップS20、そして書換え(補間)
ステップS30に分けて記述することができる。2つの
境界形状に適用できるステップを、正方形SQ(図9
(A))から三角形TR(図9(E))への変換を示す
図9(A)−(H)に示す。明瞭さのために、図9
(A)−(H)において通常重なっている境界形状を重
ならないように示している。
【0043】作図ステップS10は図9(B)と9
(F)に示されている。各境界形状は一組の半平 面の
交差により(正方形SQはSQ1−SQ4で、三角形T
RはTR1−TR3で)表されている。各半平面は定方
位の線により確認される。これらの線は物体の辺(エッ
ヂ)と一致し、法線の点が内側に方向付けられている
(図の中で各線の灰色の部分は実在の面を示してい
る)。
【0044】適合ステップS20は、1つの境界形状の
半平面をもう一方の境界形状のまわりにできるだけしっ
かりと適合させることを含んでいる。図9(G)におい
て、初めの正方形の4本の線SQ1−SQ4は目標の三
角形TRを取り囲んでいるだけである。同様に、図9
(C)は三角形の3本の線TR1−TR3が正方形SQ
をただ取り囲んでいる状態を示している。どちらの形状
も基準化されたものではなく、むしろ各線はそれ自身の
法線に沿って個別に移動していることに注目してほし
い。このように、図9(G)における4本の半平面の交
差は正方形ではなく、方形を形成する。図9(B)にお
ける4本の線SQ1−SQ4の位置を、元の位置と呼
び、図9(G)における同じ4本の線の位置を移動した
位置と呼ぶ。同様に、三角形の線TR1−TR3は図9
(F)において元の位置にあり、図9(C)において移
動した位置にある。線の位置を描写するために、ただ1
つの数字だけを特定する必要があり、起点からの距離は
線の法線に平行な起点を通る線に沿って測られることに
注目してほしい。
【0045】図9(D)は図9(B)の4つの半平面と
図9(C)の3つの半平面が重なっていることを示して
いる。その共通部分(インターセクション)は単に図9
(A)の元の正方形SQであることに注目してほしい。
同様に、図9(H)は図9(F)と9(G)の平面が重
なっていることを示しており、その共有部分(インター
セクション)は図9(E)の三角形TRである。図9
(D)及び9(H)には各々7つの平面があることにも
注目してほしい。
【0046】変形(図8のステップS30)を生じるた
めには、7本の線を図9(D)の位置から図9(H)の
位置に向けて移動させ、7つの半平面の共通部分を見つ
けるだけで良い。
【0047】図10(A)から10(E)までは、その
方法の0.25(図10(B))、0.5(図10(C))、
及び0.75(図10(D))での3例を示している。各図
は線SQ1−SQ4及びTR1−TR3の位置づけと共
に、それらの線が交差した結果生じる形状を示してい
る。該形状は円滑に変形し、常に0族で非縮退であるこ
とに注目してほしい。
【0048】三次元における並行な平面上の境界形状を
イメージングすることによって、変形の作図(構造)を
視覚化することができる。移動する線によって掃引され
る道はこの空間で斜めの平面を形成し、三次元形状を形
成する。各変形は元の平面に並行な平面と、囲まれた立
体との共通部分を表している。実際のところ、該立体は
明らかに連続的で0族であり、非縮退形状である断面図
を持った、その並行平面における2つの形状の凸閉包で
ある。
【0049】該手順は、半空間を画定する平面によって
半平面を画定する線を置き換えることによって、三次元
にまで簡単に拡張することができる。再び、各平面の位
置は単一の数によって表すことができ、平面上の点Pが
N・P+d=0を満たすように、平面を法線N+オフセ
ットdで表わし、dは平面がその法線に沿って移動する
時にのみ変化する。このように、各平面は法線N(3つ
の数Nx、Ny、Nzによって定義されるベクトル)及
び起点からの距離dで表される。平面を視覚化するため
に、法線Nに沿って起点からの距離dにある点を見つけ
る。該平面はその点で法線から外向きに垂直に広がる。
このように、該平面はdの値を変えることによってその
法線に沿って移動する。平面によって掃引される四次元
超立体は視覚化することが困難であるが、二次元の場合
との類比によって、掃引された平面の交差によって造ら
れる立体が二次元形状と同じ様に望ましい特徴を持つこ
とが保証される。
【0050】書換え(補間)技術は、入力形状と平面を
受け入れ、該平面上にサザーランド・ホッジマンの凹入
多角形クリップを実行するだけの単一手順によって簡単
に実施できる。1974年1月、CACM、17
(1)、I.E.サザーランド及びG.W.ホッジマン
による「凹入多角形クリッピング」を参照のこと。該開
示は参考のためここに挿入した。平面上に造られる全て
の新しい頂点は、次に単一凸キャップに明白に縫い込ま
れる。両境界形状を囲むことが保証された(立方体のよ
うに)簡単な形状から始め、次に各移動平面で連続的に
分割しても良い。もちろん、該分割操作は凸多角形から
成る凸多面体のためだけに作用するが、該凸多面体はま
さに半空間の交差によって生じる形状のタイプである。
その結果は頂点、辺及び面の数が変化する変形の連続で
あり、1つの形状から他の形状への円滑な推移を表して
いる。
【0051】本質において、各形状のための各平面には
開始位置と終了位置がある(各々の位置はdの異なる値
により定義される)。その両端の位置の間の各平面の運
動は、t=0に開始位置があり、t=1に終了位置があ
るように基準化(スケール化)できる。多面体A(P A )
が時間t=0において多面体B(P B ) に転換されると仮
定すると、各多面体の平面はそれらの交差がP A を限定
する位置にあり、時間t=1において平面はそれらの交
差がP B を画定するように置かれる。このように、t=
0において、P A における各法線Nについてのdの値は
各平面の元の位置に対応し、P B における各法線Nにつ
いてのdの値は各平面の移動位置に対応する(図9
(A)−9(H)の描写を参照)。tの値が0から1に
変化するにつれて、P A の各平面はその移動位置に向か
って移動し、P B の各平面はその元の位置に向かって移
動する。全ての平面の交差は必要に応じて連続的に決定
され(モニター等に)出力される。平面交差の決定と出
力は従来の方法で実施できる。
【0052】形状が立体構造(solid textu
re)で織られている場合、移動面の構造は簡単に決定
できる。作図(マッピング)された平面構造はやはり簡
単に適応できる。各々の織られた平面のため、元の平面
に平行だが起点を通る構造関連平面を作る。1つの軸が
平面に垂直で他の2つの軸が平面上の構造のUとVの方
向に対応するように、構造平面の座標系が作られる。こ
れらは元の平面の非共通線状の3点の像から見いだすこ
とができる。移動平面の点における構造座標は、構造関
連平面への点の平行投影の座標により見いだすことがで
きる。多構造は多平面により表される。平面が移動する
につれて、構造もそれと共に移動するが、勿論作図され
た構造は多角形の縁を横切って滑らかに移動しない。こ
のように、側面と頂点の数の変化にもかかわらず、変形
はフレームからフレームへと堅実に織られていく。
【0053】前セクションで述べた手順は、凸状小面か
ら作られた0族の凸状多面体を書き換えるだけである。
該方法は凹状多面体がまず凸閉包に変換された場合、該
凹状多面体を書き換えるための中心的ステップとして使
用できる。本セクションではこのような凹対凸変換につ
いて述べる。
【0054】多面体の凸閉包を見つけることについては
何も目新しいものはない。1985年ハイデルベルク、
スプリンガー・バーラグのE.P.プレパラタ及びM.I.シャ
モスによる「コンピューター幾何学:導入」において、
いくつかの技術を再検討している。しかしながら、これ
らの技術の何れも、中間形状が変形に関して上述された
のと同じ基準を満たしているという意味において、視覚
的に意味のある中間結果を生じてはいない。実際、凹対
凸変換はそれ自体変態である。
【0055】上述したように、下記技術は形状が0族の
三角網目であることを仮定している。変形可能な適応す
るようなサンプル球体と関連した形状を収縮包装するた
めの標準的な技術により、また標準的な三角化技術の適
用により、形状を0族の三角形に分けられた多面体とし
て表すことができる(上記編入のF.P.プレパラタ等によ
る書物を参照のこと)。三角形に分けられた形状は単一
接続されなければならない、つまり、各辺は2つの面を
持ち、頂点のまわりの全ての面が辺によって接続されて
いなければならない。従って、本手順に入力される多面
体は穴を持つことはできない。
【0056】また、全ての表面法線は初めは立体の局部
内部から外向きであると仮定する。一貫した時計回りま
たは反時計回りの頂点指定規定により、進行中に法線を
明白に決定することができる。例えば、法線が一貫して
局部的に外向きを指すように、三角面の頂点を指定する
時に、右手の法則を適用することができる。
【0057】上記条件を満たす多面体が、頂点Pi (x,
y,z) のリスト及び各面が3つの頂点により画定される
面Fi のリストとして、凹対凸手順に入力される。上述
したように、一貫した頂点指定規定は、表面の法線が常
に多面体の内側から外向きを指すように使用される。図
11(A)−(C)は4つの頂点P0 、P1 、P2 、P
3 によって画定される3つの面F0 、F1 、F2 と、多
面体用の頂点及び面のリストを持った多面体を示してい
る。影の面F1 は図11(A)においては視野から隠さ
れている。(頂点P1 、P2 及びP3 により定義され
る)底の三角形は開かれており、従って面を構成しな
い。
【0058】新しい手順は0族であり非縮退である変形
を作り上げる。該手順は自己交差形状を避けることを企
て、たまに現れることもあるが、概ね成功している。該
手順は元の凹形状とその凸閉包との間に形状を作るため
に使用されるデータ構造を作り出す。該データ構造は2
段階:シーケンス段階とスケジューリング段階で構築さ
れる。該手順の目標は好時機に行う連続作用を構成する
ことであり、その作用は書き換えられた形状の作図を支
持する。シーケンス段階は、次に実行すべき作用の決
定、その作用の遂行、及び次の作用の決定から成る。ス
ケジューリング段階はこの作用リストを取り上げ、各々
にタイミング・インフォメーションを付け、可能な場合
には作用を平行させる。
【0059】該手順が使用する2種類の作用を下記に記
述する。これらの作用のシーケンス及びスケジューリン
グをその次に述べる。凹対凸書換え(補間)方法におけ
る基本的作用はポップである。ポップは凹辺(反射辺と
も称する)を共有する一組の三角形を補足的な組と取り
替え、凹辺を取り除き、新しい凸辺を挿入する。図12
(A)及び12(B)はポッピングの前後の一組の三角
形を各々示している。同じ4つの頂点V1 、V2 、V3
及びV4 がポッピングの前後双方において使用されてい
ることに注目してほしい。ポップの目的がモデルから反
射辺(凹辺)を取り除くことであるので、通常は辺のポ
ッピングに言及するが、時には一組の多角形のポッピン
グについて語ることも有益である。
【0060】図12(A)及び12(B)において、物
体の主要部はこれらの図の下にあると仮定する。このよ
うに、図12(A)に関しては、三角形T1 (V1 、V
3 、V2 )及びT2 (V4 、V2 、V3 )によって形成
される面は頂点V2 とV3 によって限定される共通の凹
辺CCEを共有する。前述のように、三角形T1 及びT
2 の法線N1 及びN2 は各々、物体の内側から外向きを
指すように限定される。図12(B)において示される
ように、三角形T1 及びT2 が弾かれた後、2つの新し
い三角形T3 (V1 、V4 、V2 )及びT4 (V4 、V
1 、V3 )が形成される。三角形T3 及びT4 は頂点V
1 及びV4 によって限定される共通の凸辺CVEを共有
する。三角形T3 及びT4 の法線N3 及びN4 は各々物
体の内側から外向きを指していることに注目してほし
い。
【0061】辺が凹か否かを判断する手順については、
図13及び14に関連して述べる。多角形AとBが共通
の辺CEに面していると仮定しよう。Bと共有していな
いAの頂点αを見つける(S61)。次にBの平面方程
式においてこの頂点を評価し(S63)、その結果の兆
候を調べる(S65)。もし頂点がBの正の半空間にあ
れば、共有辺は凹であり(S67)、ポッピングの候補
となる。そうでない場合は、その辺は凹ではない(S6
9)。
【0062】辺が凹である場合、その辺をポップしなけ
ればならない。次に、図15、16及び17(A)−
(F)に関連してポップ手順について述べる。辺をポッ
プするには、図15に示したように2つの隣接する三角
形T1 (U1、S1 、S2 )及びT2 (U2 、S2 、S
1 )のため、2つの共有頂点S1 及びS2 、及び2つの
非共有頂点U1 及びU2 を確認する。本例においてフレ
ミングの左手の法則が法線の決定に使用されることに注
目してほしい。S1 及びS2 の中点をAとしてマークし
(S621)、またU1 及びU2 の中点をBとしてマー
クする。元のAの位置に一時的に新しい頂点Vを作る。
次に、元の2つの三角形T1 及びT2 を取り除き、図1
7(B)に示すように一時的に新しい4つの三角形:Δ
1(U1 、S1 、V)、Δ2(S1 、U2 、V)、Δ3
(U2 、S2 、V)、Δ4(S2 、U1 、V)で置き換
える(S623)(新しい多角形は、法線が局部的に外
向きに面するように作られることを確認するため、ブッ
クキーピングに注意する必要がある)。次に、S625
において、中点Aの位置からVを中点Bの位置に向けて
移動させる。Vの位置がAからBに掃引されるにつれて
(図17(B)−17(F)及びS627におけるよう
に)、元の多角形の組が新しい組の方に弾かれる(ポッ
プされる)。VがBの位置に達した時、4つの一時的な
三角形と一時的な頂点Vを取り除き、S629に示すよ
うに、新しい三角形T3 (U1 、S1 、U2 )及びT4
(U2 、S2 、U1 )を組み立てる。これでポップステ
ップが終了する。後のセクションにおいて、ポップ作用
の「頂点移動」について言及する時に、Vについて言及
する。
【0063】ポップの2〜3の特徴は注目するに値す
る。第一に、頂点、辺、面の数はポップの前後で同じな
ので、族は変化しない。第二に、新しい三角形は古い三
角形が残した穴を正確に埋めて、表面が接続されたまま
で、非縮退のまま残る。第三に、凹辺(S1 、S2 )は
凸辺(U1 、U2 )によって置き換えられる。各々のポ
ップは凹の穴を完全に凸状である四面体で効果的に埋め
ることを考えてほしい。新しい面は四面体の2つの面で
あるので、その結果もやはり凸状であることが保証され
る。第四に、ポップは元の組の三角形から置き換えられ
た組に円滑に活動することができる(図17(B)−1
7(F))。一時的な三角形の各組はそれが置き換える
単一三角形と共面であるので、原形と最終的な三角形の
置き換えは気付かれない内に行われる。
【0064】辺が弾かれた(ポップされた)後、元の2
つの三角形の除去及び2つの新しい三角形の創造は、全
体の物体の中に新しい凹辺を作り上げる。これらの新し
い凹辺は当然の順序に従って単に確認され、弾かれる。
各々の弾かれた辺は凸閉包に向けて単調に近付けられ
る。このように、凹辺をはじき、新しい凹辺を確かめ、
新しい凹辺をはじくことを繰り返すことによって、最終
的に凸閉包が出来上がる。該手順は決してサイクルと
か、凸閉包から遠ざかる状態にはならない。物体全体を
その凸閉包に転換するシーケンス手順について以下に述
べる。
【0065】凸閉包への手順の終了は、新しい辺がもは
や導入されず、各ステップで凹辺が凸閉包に近付けて動
かされたことに注目することにより論証できるであろ
う。辺は閉包に近付くと動くのを止めるので、充分なポ
ップの後で全ての辺は閉包及び凸に集まり、該手順は終
了する。
【0066】ポップの副作用の1つは、終了と同時に現
存の多角形(三角形)と一致する多角形(三角形)をた
まに作り出すことである。図18(A)−(F)は、ポ
ップが法線の方向を除いて現存する多角形と同一の新し
い多角形を生じさせた例を示している。
【0067】特に、図18(A)と18(B)は各々、
凹辺を形成する3つの三角形A、B及びCの斜視図及び
上面図である(前述の例のように、形状の残部は図の下
に位置していると仮定する)。法線を画定するため右手
の法則を用いて、三角形Aは(V1 、V3 、V4 )によ
り画定される面であり、三角形Bは(V2 、V1
4 )により画定される面であり、三角形Cは(V3
2 、V4 )により画定される面である。頂点V1 及び
4 により限定される凹辺CCEを、図18(C)−1
8(D)により示されるように、はじくことを選択した
と仮定しよう。その結果、各々頂点(V3 、V4
2 )及び(V2 、V1 、V3 )により限定される三角
形C’とD(図18(D)参照)は、ポップ手順により
作られ、辺CVE(V2 、V3 )は凸である。しかしな
がら、新しい三角形C’はその法線の方向を除いて元の
三角形Cと一致する。
【0068】この三角形複写イベントが発生する状況が
1つだけ存在する。はじかれる2つの三角形が(反射柱
体を形成する)共通の隣接格子を共有する場合である。
即ち、図18(A)−(F)に関連して、三角形AとB
(はじかれる三角形)は共通の隣接する三角形、三角形
Cを共有する。反射柱体の2つの三角形のポッピングの
結果、実際ボリュームは零である:ポップの間、3面ピ
ラミッドは2面ピラミッドに崩壊する。この時点では、
変換が円滑に行われるので突然の視覚的変化はないが、
零ボリュームは視覚的にダングリング面として現れる。
即ち、反射柱体がほんの小さな部分にすぎない多面体全
体の必要条件(0族、単一接続等)を心に留めて、追加
的な三角面が辺(V1 、V2 )、(V2 、V3 )、(V
3 、V1)から放出する。このように、ポッピングの
後、新しい三角形Dが以前これらの頂点の間に存在した
開口部を閉ざす。しかしながら、新しい三角形C’(及
び元の三角形C)が物体の内側に広がる(このように
「ダングリング面」という用語はこれらの三角形を描写
するのに用いられる)。
【0069】ダングリング面を形成する三角形は、物体
が透明な場合見えることもあり、また、該三角形は回り
の三角形の将来の運動を禁じるので、取り除く(あるい
は発生することを防ぐ)必要がある。2つの新しい三角
形(C’とD)を再ポッピングすることは、単に元の2
つの三角形(AとB)を再構築するだけなので、役に立
たない。新しく作られた面(三角形D)は望ましいが、
別の新しい三角形C’は三角形Cと共に取り除かねばな
らない。(三角形CとC’は同じ面を示し、その法線が
反対方向を指すだけである。)ダングリング面はスライ
ド作用と総称される特別の作用で、取り除かれる(ある
いは発生を防止される)。
【0070】零ボリュームはポップを行う前のポップの
付近を解析する(つまり、反射柱体を検出する)ことに
より、あるいは後で、新しい多角形(三角形C’を含
む)の頂点リストと調和する先在する多角形(三角形C
を含む)の頂点リストを探すことにより検出できる。ど
ちらの場合も、零ボリュームが検出された場合、2つの
関係する多角形(三角形A及びB)、それらの3つの辺
(V1 、V4 )、(V2、V4 )、(V3 、V4 )、及
びダングリング頂点(V4 )は、モデル(形状)作図か
ら全て除去される。再び、オイラー特徴:V-E+F=(V-1)-
(E-3)+(F-2) が変化しないので、族は保持される。零ボ
リュームを作り上げる多角形と頂点は、零多角形の削除
にふさわしい円滑な視覚的効果を与えるスライド作用を
待つ特別リストに蓄えられる。
【0071】スライド作用には3種類ある。第一は、ダ
ングリング面(ダングリング頂点V4 を含む;図18
(E)参照)を作るためにポップが実行される。次にダ
ングリング頂点が他の2つの頂点(V2 、V3 )により
形成される辺の中点Mに向かって円滑に動かされ、三角
形が線に縮退し消滅する。
【0072】第二と第三のタイプのスライド作用は、ポ
ップ作用を実施する必要がなく、従って第一のタイプの
スライド作用より好ましく早い。これらの作用の何れも
零ボリュームを作るために必要な条件(つまり、反射柱
体の存在)を検出し、ポップ作用を別の作用で代用す
る。
【0073】図19(A)−(D)はこの第二のタイプ
のスライド作用を示している。スライド作用の第二のタ
イプでは、最終多角形(三角形D)と平行なダングリン
グ頂点(V4 )において単一多角形(三角形E)を発生
させ、この三角形(E)が新しい三角形Dの位置に届く
まで、除去されるべき反射柱体の3つの辺(V4
1 )(V4 、V2 )(V4 、V3 )の上にこの多角形
を円滑にスライドさせることによって反射柱体が除去さ
れる。
【0074】スライド作用の第三のタイプは、計算的に
最も単純で、視覚的に最も満足できるので、最も好まれ
る。スライド作用の第三のタイプを実施する手順を図2
1に示す。第三タイプのスライド作用の間の三角形の外
観を図22(A)−(D)に示す。まず、図20のフロ
ーチャートに示されるように、2つの三角形が反射柱体
の一部であるか否かを判断する。凹辺を共有する2つの
多角形(例えば、三角形A及びB)を確認する。これは
図14のフローチャートに示される手順によって行われ
る。次に、これら2つの多角形がS224において共通
の隣接格子を共有しているか否かを判断する。これは、
多角形AとBの非共有頂点(V2 、V3 )の間に辺が存
在するかどうかを判断することによって判断できる。も
し多角形AとBが共通の隣接多角形を共有しているな
ら、多角形AとB(V1 、V4 )の間の凹辺はS226
において反射柱体の一部であると判断される。そうでな
い場合は、凹辺はS228において反射柱体の一部では
ないと判断される。
【0075】反射柱体を発見した場合は、共通隣接格子
(多角形C)が多角形A及びBと共に反射柱体の一部で
あることも明白となる。
【0076】スライド作用の第三のタイプを実施するた
めに、反射柱体を形成する3つの多角形の共通頂点(V
4 )を選ぶ(S410)。次に、反射柱体の3つの自由
な辺(V1 、V2 )、(V2 、V3 )、(V3 、V1
により形成される三角形の幾何学的中心(GC)に向け
て共通頂点(V4 )を移動させる(S420)。共通頂
点V4 が幾何学的中心GCに到達したかどうかを判断す
る(S430)ことにより、GCに到達するまでS42
0を繰り返す。該手順の結果、三角面A、B、Cが3つ
の一時的な面A’、B’、C’に置き換えられ、この面
は凸閉包に向けて移動する(図22(B)−(C)参
照)。頂点V4 が一旦GCに到達すれば、3つの一時的
な面A’、B’、C’は単一三角面Dと置き換えられる
(S440:図22(D))。
【0077】シーケンス段階は、凹形状から凸閉包への
変換を記述する作用(ポップ及びスライド)リストの作
成に責任がある。この目標を達成する作用の順序として
可能性のあるものは多い。異なるシーケンス手順は異な
る外観を持った変換を生じさせる。シーケンス作用の全
体的技術は実際のところ単純である。ただ、その実施に
あたっては細かい所まで注意をしなければならない。凹
辺を正確に検出するために、工程中ずっと物体の連接性
が完全に維持されることが重要である。完全な手順には
ポップとスライドのシーケンスを判断し実施することだ
けが含まれるため、凹形状から凸閉包への全変換は、視
覚的に満足できる書換え形状のための上記特徴を全て享
受する。
【0078】この概観を基に、図23、図24、図25
を参照しながら全シーケンス段階について述べる。以下
の記述によりフローチャートで示された多くのシーケン
ス手順に言及する。これらの手順は、例えば計算機シス
テム(図30に示したハードウェア・ブロックダイヤグ
ラム)において付属書類Aとして添付したソースコード
を実行することにより実施できる。このソースコードを
実行する時、図23乃至図25のシーケンス手順が実行
されるか、または図29のスケジューリング手順が実行
されるかによって、該ハードウェアはシーケンサーある
いはスケジューラーとして機能する。このように、シー
ケンサーまたはスケジューラーという用語は、上記シー
ケンスあるいはスケジューリング手順を各々実行する計
算機システムに関連している。
【0079】図23乃至図25で示した手順は上記ポッ
プ手順と第三タイプのスライド手順を使用する。シーケ
ンス手順は物体の頂点を無作為に考察し、各頂点のため
にどのポップ作用またはスライド作用を実施するかを決
定する。基本的に各頂点のために、該手順は該頂点を含
む凹辺を確認し、次に作用が幾何学的に安全である(幾
何学的安全チェッキングについては後述する)と判断す
れば、実行リストに適当な作用(ポップまたはスライ
ド)を配置する。実行リストが完成した時には、凹状物
体をその凸閉包に転換するために必要な全てのポップ及
びスライドを含んでいる。次に、いつどの作用を実行す
るかを決定するために、スケジューリング手順(次のセ
クションで記述する)を使用する。このスケジューリン
グ手順は(可能な場合)作用を平行して実行できるよう
にするので、凹状物体をその凸閉法に転換するのに必要
な全体の時間を短縮する。
【0080】更に図23乃至図25の手順には、ポップ
またはスライド作用が、例えば物体に自己交差または縮
退を生じさせるような、望ましくない影響を与えないか
どうかを判断するために使用できる数多くの幾何学的安
全テスト(後述)が含まれる。もしこれらの不利な影響
が運動により生じるとすれば、該運動を(少なくとも初
めは)実行リストには追記しない。
【0081】図23に関して、まず安全フラグ(SF)
をゼロに初期設定する。次に、S100において、多面
体(全体の形状または物体)の各頂点を走査する。この
走査の間、凹辺があればそのようにフラグを付ける。次
に、S110において、フラグを付けた1つか複数の反
射辺に含まれる全ての頂点リストが作られる。
【0082】S200において、頂点はS110におい
て作られたリストから選ばれる。リストからの頂点の選
択は無作為である。次にS210において、S200に
おいて選ばれた頂点を含む全ての凹辺を包含した第二の
リストが作られる。頂点のための凹辺リストの作成手順
を図24に示す。まず、S211において、終了点の1
つとしてこの頂点を有する辺を共有する2つの多角形
(AとB)を確認する。次に、S212において、Bと
共有しないAの頂点αを見つける。S213及びS21
4において、Bの平面方程式における頂点αを評価し、
αがBの正の半空間にあるかどうかを判断する。S21
4の結果が肯定的であれば、共有辺を凹状としてマーク
し(S215)、該凹辺を頂点のための凹辺リストに加
えて(S216)S217に進む。S214の結果が否
定的であれば、S217に進み、該頂点のためにチェッ
クすべき辺が残っているかどうかを判断する。これは、
形状のための辺リストにこの頂点を含む辺が残っている
かどうかを判断することにより行われる。如何なる辺も
残らなくなるまで、頂点を含む全ての辺を順序正しく走
査することが好ましい。チェックされない辺が残った場
合、次の辺のためにS211からS217の手順を繰り
返す。如何なる辺も残らない場合、該頂点のための凹辺
リストをS218に戻す。
【0083】次に、S220において、S210におい
て作成したリストの凹辺が反射柱体(フレックスプリズ
ム)の一部であるか否かの判断をする。図20で示した
手順をS220において使用する。頂点のための反射辺
の何れもが反射柱体にない場合、フローはS600に進
む。反射柱体がある場合、S300においてどの反射柱
体が幾何学的に安全かについての判断をする。
【0084】反射柱体のための幾何学的安全テストを図
27に示す。まず、S310において、反射柱体のボリ
ューム内に頂点、辺または面が存在するか否かの判断を
する。これは、いつでも特別な作用が現行の形状と交差
するか抵触するかどうかを判断する従来の交差テストを
用いて実施できる。該テストは三次元グリッド及びキャ
ッシング計画と共に効果的に実施できる。上記プレパラ
タ等による書物を参照のこと。交差がある場合、反射柱
体はS312において危険であるとタグ付けされ、この
結果S300に戻される。交差がない場合、フローはS
314に進み、そこで該反射柱体をスライドすること
が、多面体の一片を摘み取ることにより形状の位相を変
化させるかどうかの判断をする。このステップにより縮
退の発生を防ぐことができる。この判断は、新しい辺を
今回修正されたものとして、多面体の全ての辺と比較す
ることにより為される。該辺を含む線の方程式を全ての
他の辺を含む線と比較してもよい。2つの辺が同線状で
ある場合、オーバーラップテストが必要となる。どちら
かの辺のどちらかの終了点が他の辺に含まれている場
合、該辺はオーバーラップしている。そうでない場合
は、オーバーラップしていない。位相が変化する場合、
反射柱体は上述したように、S312において危険であ
るとタグ付けされる。位相が変化しない場合、反射柱体
はS316において安全であるとタグ付けされ、この結
果S300に戻される。
【0085】実行される全てのスライド作用を実行リス
トに加えるために、指摘された頂点に関連する全ての反
射柱体のため、S300を実行する。幾何学的に安全な
柱体がある場合、フローはS400に進み、スライド作
用が実行される。スライド作用を実行する手順を図21
に示す。スライド作用を実行する時はいつでも、フロー
はS210に戻り、該頂点のための凹辺リストを更新す
る。図27に示した幾何学的安全テストを侵害せずには
行えない反射柱体が残る場合、フローはS305に戻
り、スライド作用は省略される。次にフローはS600
に進む。このように、S600に達するためには、安全
なスライド作用は残らない(即ち、如何なる反射柱体も
残らず、如何なる安全な反射柱体も残らない)。これは
安全なスライド作用をできるだけ早く実行リストに自動
的に挿入する。
【0086】図24に関連して、如何なる安全なスライ
ド作用も残らない場合、該頂点のため未テスト反射辺が
あるかどうかについての判断が為される(S600)。
該頂点のための未テスト反射辺が残らない場合、フロー
はS630に進み、(S110で作成された)頂点リス
トの中の全ての頂点がチェックされたかどうかについて
の判断が為される。該リストに頂点が残る場合、フロー
はS200に進む。全ての頂点がチェックされた場合、
フローはS700に進む。現行頂点のために反射辺が残
る場合、フローはS610に進む。S610において、
反射辺をポップしても安全かどうかについての判断が為
される。
【0087】図28は反射辺をポップしても安全かどう
かの判断をする手順を示している。S611において、
ポップ作用に含まれる2つの新しい三角形及び2つの古
い三角形によって限定される四面体のボリューム内に、
頂点、辺または面があるかどうかについての判断が為さ
れる。この判断は図27のS310について述べた方法
と同じ方法で為される。S611において為される判断
が肯定的であれば、反射辺はS613において危険であ
るとタグ付けされる、そうでない場合は、フローはS6
15に進み、そこで該凹辺をポップすることが、多面体
の一片を摘み取ることにより形状の位相を変化させるか
どうかの判断をする。S615において為される判断は
図27のS314について述べた方法と同じ方法で為さ
れる。S615で為される判断は図27のS314に関
連して述べたものと同じ様な方法で行われる。S615
において為される判断が肯定的であれば、凹辺はS61
3において危険であるとタグ付けされる、そうでない場
合は、フローはS617に進み、そこで新しい辺が現存
する辺の複写であるかまたはその一部であるかについて
の判断が為される。このステップは物体内での自動交差
の発生を防止する。S617における判断が肯定的であ
れば、反射辺は危険であるとタグ付けされ、そうでなけ
れば、反射辺はS619において安全であるとタグ付け
される。この結果、図24のS610に戻される。
【0088】辺をポップしても安全な場合、該辺は図1
6に示した手順を用いてポップされる。辺がポップされ
た後、フローはS210に進み、そこでこの頂点のため
の凹辺リストが更新される。
【0089】図25に関連して、フローはS700にお
いて始まる。安全なポップやスライドが物体に残ってい
ない場合にS700に達することが思い出されるであろ
う。これは必ずしも物体がその凸閉包に達したことを意
味しない。このように、S700において、多面体(物
体全体)の最後の走査中に何等かの運動(ポップまたは
スライド)があったかどうかについての判断をする。も
し何等かの運動があった場合、フローはS100に戻
り、そこで物体全体が反射辺のために走査される。多面
体の最後の走査以来何等の運動もない場合、フローはS
710に進む。S710において、それらが多面体に残
っている反射辺であるかどうかについての判断が為され
る。反射辺が残っていない場合、多面体はその凸閉包に
到達しており、S720において、図29に関連して述
べたスケジューリング・ルーチンが実施される。多面体
に何等かの反射辺が残る場合、フローはS800に進
む。フローがS800に達した場合、安全な運動(ポッ
プまたはスライド)は多面体に残っていない。安全フラ
グSFの値はS800において1だけ増える。S810
において、SF=1であるかどうかの判断が為される。
S810における判断が肯定的であれば、フローはS8
20に進む。S820において、幾何学安全テストは緩
められ、幾何学の部分を含むことが許される。この結
果、反射柱体または反射辺がその安全性をテストされる
時はいつでも、図27のS310及び図28のS611
が省略される。この最初の安全テストを緩めた後、フロ
ーはS100に進み、そこで手順全体が繰り返される。
フローがS830に達した場合、最初の幾何学安全テス
トを緩めた後でも、凹形状には安全なポップまたはスラ
イドはない。従って、S830において、SF=2の場
合、フローはS850に進み、そこで幾何学的安全チェ
ックが外される。S850の結果、図27及び28にお
いてS314及びS615が省略される。S830の結
果が否定的であれば、フローはS840に進み、そこで
初期の多面体が不適切に形成されたことを示すメッセー
ジがユーザーに与えられる。このメッセージは例えばモ
ニターやプリンター等により与えられる。これは初期の
多面体が最初に規定した要件(0族、単一接続等)を満
たしていなかったことを意味している。
【0090】このように、スライド作用またはポップ作
用を実行する度に、頂点のための凹辺リストを更新する
方法を示した。図23乃至図25のフローチャートが実
行リスト(EXECUTE LIST)にポップまたは
スライド作用を加えることが理解されよう。
【0091】上記凹対凸手順に入力された凹状多面体が
上記必要条件を満たす時、一連のポップ及びスライドを
含む実行リスト(EXECUTE LIST)が出力さ
れ、その結果、実行された場合、凹形状の凸閉包への転
換を生じる。
【0092】上記シーケンス手順は実行リスト(EXE
CUTE LIST)の作成のための好ましい方法であ
る。開示された幾何学的安全テスト(図27、28)を
利用することにより、自己交差、縮退、位相の変化、そ
の他望ましくない影響を生じる作用を可及的に遅らせる
ことができる。最初は危険である(UNSAFE)とみ
なされた運動が、その運動に関連する辺を囲む物体の部
分の変化により、しばしば安全(SAFE)に変えられ
る。時には危険な(UNSAFE)凹辺がそれらを囲む
辺に対する作用により凸状に変えられる。
【0093】上記シーケンス手順の代替案として、ユー
ザーが設計するスコアリング計画に従い運動を整列させ
るためにスコアリング技術を使用することができる。こ
のように、ユーザーはスコアリング計画を設計する習慣
により、変態の全体的な様相を制御することができる。
次に、スコアリング技術の一例を簡単に説明する。
【0094】このスコア付きシーケンス手順は上記のよ
うに実行リストを出力し、該リストは別の方法により決
定されるが、その結果(最終的な凸閉包は同じである
が)異なる様相の変態を生じる。このシーケンス手順
は、a)まず、可能性のある作用(ポップ及びスライド)
の未決リスト(PENDING LIST)を作成す
る;b)ユーザーが決定するスコアリング計画に基づき、
未決リストに各作用を書き込む;c)未決リストから最も
高いスコアの作用を選び、それを実行リストに載せ、該
作用を実行する;d)該作用によって何等かの新しい凹辺
が形成された場合、それらを未決リストに加える;e)未
決リストの中の全ての作用を、実行したばかりの作用に
近いものを強調するように再スコア付けし;次に未決リ
ストに如何なる作用も残らなくなるまで、(a)-(e) のス
テップを繰り返す。次に、実行リストの作用は、下記ス
ケジューリングのセクションにおいて述べる手順に従
い、開始時間と終了時間が割り当てられる。
【0095】ユーザーが変態の様相をもっと制御したい
と望む時には、このスコアリング技術は有用である。以
下に利用できるスコアリング計画の一例を示す。この例
証となるスコアリング戦略は、形状の中心に最も近い凹
辺から作用の実行を開始し、更に遠くまで移動し大きな
穴を詳細に調べる作用を探す。これらは大きな視覚的影
響をもたらす。該戦略はまた、できるだけ早くスライド
を実行するよう試み、形状の別の場所に移動する前に1
箇所で必要な全ての作業を完了しようと試みる。
【0096】最初に未決リストの作用をスコア付けする
ために、次式で各運動をスコア付けする:score0=(1*po
sition) + (2*movement) + (3*type) + (2*angle) + (-
50*intersection)。式中、"position"は、作用における
全ての多角形の全ての頂点の形状の中心までの平均距離
を形状の境界球体の半径で割った割合により与えられ
る。"movement"は、形状の境界球体の直径で割った作用
における移動頂点により包含される距離である。"type"
は、ポップを1で示し、その他の作用を0で示したもの
である。"angle" は、ポップ以外の全ての作用を0で示
す。ここでは(1-cosθ)/2 であり、cos θは2つの元の
平面により形成される角度のコサインを示す。"interse
ction"は、作用が形状を交差させない場合は0で、交差
させる(即ち、前述の幾何学的安全テストに合格しな
い)場合は1とする。
【0097】未決リストの第一の作用を実施した後、該
作用の近くで発生する作用を強調することが望ましい。
これは開始作用から形状を「解き放す(unwra
p)」役割を果たす。更に、自己交差を強いる状況を避
ける役割も果たす。これらはスコアリング機能の設計を
通してスケジュラーに編入した値決定の例証である。こ
れらの目標を実現するため、更に全てのスコアリングは
次式に従って行う:score1= score0 + history 。ポッ
プが新しい多角形を作る時、新しい多角形の指標はスタ
ックに押し込まれる。スライドをスコア付けするため
に、スライドしている多角形(即ち、移動している多角
形あるいは使用されるスライド作用のタイプに依存する
頂点)の多角形指標を求めてスタックを逆さまに探す。
ポップをスコア付けするためには、ポップに含まれる多
角形の何れかについての最初の記載を求めてスタックを
逆さまに探す。このメカニズムは各ステップにおいて、
実施される作用を構築する運動をスケジュラーが検出す
ることを可能にする。例えば、bは作用のために見つけ
られた、スタックの一番下にあるエレメントであり、w
は各作用のためのスタックの位置である(如何なる作用
も見いだせない場合は、wはスタックの高さである)と
仮定すると、あらゆる作用にとって、history = MAX[0,
30-(5*(b-w))] となる。この例証的手順は、多角形が長
時間存在する運動を奨励する。運動が長く待てば待つ
程、運動のスコアは高くなる。
【0098】一旦実行リストが作成されると、凹形状を
その凸閉包に円滑に変換する作用の形態及び順序が明ら
かとなる。ただ1つ残る論点はこれらの作用のタイミン
グ、いつ各作用を始め、終了させるかである。シーケン
ス戦略の場合と同様に、各スケジューリング手順はそれ
自身の「様相(look)」を持っているが、その影響
については通常スケジューラーの選択について程表明さ
れることがない。
【0099】凹形状から凸閉包への変換をスカラー・パ
ラメーターcにより描写し、該パラメーターは0から最
大値まで掃引すると仮定しよう。各作用ai は2つのタ
イミング値、ai start とai end を持つ。実行リスト
の第一の作用は時間0で開始される。運動の期間を見い
だすには、移動する頂点によりカバーされる全体の距離
を見れば良い。スケジューリングのためには、全ての移
動する頂点は、不変の単位スピードで動くという簡単な
法則が適用できる。他に採りうる道もまた視覚的に意味
深い。例えば、頂点は、それがカバーする必要がある距
離に比例したスピードで動くことができるというもので
ある。再び、異なる基準はここでは最終的な変換に異な
った様相を与える。
【0100】最も簡単なスケジューリング技術は、単に
実行リストの中を歩き、ai start←ai-1 end びai
end ←ai start +ai durationを割り当てるだけであ
る。このスケジュールは新たな衝突やシーケンサーによ
って元々受け入れられなかった自動交差が起こらないこ
とを保証する。
【0101】図29は各運動の開始時間をスケジューリ
ングする1つの手順を示している。このスケジューリン
グ手順は各作用に可及的に早い開始時間を指定するよう
試みることにより平行現象を強調する。
【0102】シーケンサーが決定する運動リスト(実行
リスト)をスケジューラーに入力する。次に、S900
において0の開始時間を実行リストの中の最初の運動に
割り当てる。つまり、a1 start 0である。S910に
おいて、第一の運動の期間d1 を上述したように決定す
る。S920において、第一の運動の終了時間a1 end
をa1 start +d1 と決定する。次に、S1000にお
いて、実行リストの次の時間未指定の運動(i)を選
ぶ。S1010において、該運動が時間t=0の時に存
在するか否かについての判断を下す。S1010の結果
が肯定的であれば、開始時間ai start =0を運動iに
割り当てる。次に、S1050及びS1060におい
て、期間d1 及び終了時間ai end を上述したように決
定する。次にフローはS1070に進み、そこで実行リ
ストの全ての運動に時間設定が為されたか否かについて
の判断が為される。S1070での結果が否であれば、
S1000に戻り、次の運動を選択する。S1070で
の結果が肯定的であれば、S1080に進み、時間設定
が完了する。S1080において、最初の運動の開始時
間a1 start =0及び最後の運動の終了時間a1ast end
=1になるように、開始時間及び終了時間を基準化す
る。
【0103】S1010での結果が否定的であれば、フ
ローはS1030に進む。S1030において、時間設
定された運動iに含まれる多角形を作りだした運動Xを
見いだす。シーケンス手順が実行リストを作成するの
で、運動Xは既に時間設定されていることが保証され
る。次にS1040において、運動Xの終了時間(ax
end ) は運動iの開始時間(ai start )であると指定
される。次にフローはS1050に進む。
【0104】上記凸対凸及び凹対凸手順は、図30のブ
ロックダイヤグラムにより示したシステムのような、ハ
ードウェアシステムの付属書類Aとして添付したソース
コードを操作することにより実行することができる。該
システムには、図8、14、16、20、21、23乃
至29の中で示され、付属書類Aの中で提供されるプロ
グラムが保存され、使用されるROMやRAMを含むメ
モリー60が含まれている。三次元形状を描写するデー
タを入力装置70に入力し、メモリー60に保存する。
出力装置80は、例えば、ユーザーに助言を出力するた
め、あるいは変態のスナップショットまたはビデオシー
ケンスを表示するため(出力装置80がビデオモニター
である場合)のビデオモニター及び/またはプリンター
等を含むことができる。システム全体は中央処理装置
(CPU)50により、メモリー60に保存されたプロ
グラムを使用することによって制御される。付属書類A
のプログラムはシーダープログラミング言語で書かれて
いる。
【0105】1つの凹形状から別の凹形状への書換えを
するため、セクションI及びIIの技術が単一の手順に
編集される。3つの基本的ステップがあり、そのビジュ
アル出力を図31(A)−(D)において図解で示し
た。まず、開始形状のために凹対凸変形を発生させる
(図31(A)−31(B));次に、開始形状の凸閉
包を目標形の凸閉包に変換する(図31(B)−31
(C));最後に、目標形のために凸対凹変形を発生さ
せる(図31(C)−31(D))。ステップ1及び3
の変形は(セクションIIにおいて記述した)同じ手順
により作られる。凹凸連続体に沿った点において形状を
作るために、0から1の実数を明記するだけでよい。該
手順は凹形状で始まり、該時間の前に終了する全ての運
動を応用する。該時間にまだ活発である全ての作用は適
切な書換え位置で実行される。凸から凹に進むために
は、単に1から0のパラメーターを掃引するだけでよ
い。
【0106】前述したように、あたかも全ての頂点が同
じ不変のスピードで動くかのように、タイミングが決め
られるが、イージングカーブを使用しなければ生じるで
あろう突然のきまぐれな発進及び停止を防ぐためイージ
ングカーブを使用することができる。例えば、三次曲線
より大きな範囲の制御を可能にするS字状関数、f(t,a)
=1/(1+(exp(-(2t-1)a)))(a>0 で有効)の形態を使用す
ることができる。この関数は、g(t,a)=(f(t,a)-f(0,a))
/(f(1,a)-f(0,a))を与える単位レンジに基準化されても
よい。
【0107】図32は1つの凹形状P(A)を別の凹形状P
(B)に転換するための全体的手順を表すハイレベルなフ
ローチャートである。凹状多面体P(A)及びP(B)は別々に
S2000及びS2000’に入力される。S2100
及びS2100’において、各形状をその凸閉包CHP(A)
及びCHP(B)に転換するため、時間設定した作用リスト
(ポップ及びスライド)を決定する。凹対凸転換の結果
を、時間設定した2つの作用リスト及び2つの凸閉包CH
P(A)、CHP(B)としてS2200とS2200’に各々示
す。S2300において、S2400に示したように法
線及びオフセットのリスト(各法線に対して2つのオフ
セット)を作り出すために、凸対凸転換手順を2つの入
力凸閉包に実施する。このようにして、三次元形状を作
り出すため、従来のアニメーションプログラムにより作
製することができる3つのリスト(S2200、S22
00’、S2400)が作られる。次に、これら三次元
形状をイメージとして、例えば標準表現プログラムを用
いるビデオ表示スクリーン上に表示することができる。
3つのリストは下記に示すように引き続いて、あるいは
同時に実施することができる。
【0108】最も簡単な編集は、図33(A)に示すよ
うに3つの構成要素ステップ、(P(A) →CHP(A); CHP(A)
→CHP(B); CHP(B)→P(B)を次々に応用する。第一のステ
ップは時間0で始まり、第三のステップは時間1で終了
する。ユーザーは第二のステップの開始と終了を指定す
る。これは各々第一のステップの終了と第三のステップ
の開始を意味する。どちらかの形状が既に凸状である場
合は、その凹/凸ステップ期間を0に設定する。
【0109】ステップを重複させることにより、より円
滑な変化を生じさせることができる。最も一般的な重複
形態は、図33(B)に示したように4回以上、つまり
第一と第二のステップの終了及び第二と第三の開始時に
ユーザーコントロールを与える。所定の時間に2つ以上
のステップが重複する場合、その時の結果は関係する多
面体の交差である。これは多数の非凸状多面体の交差を
見つける必要があるかもしれないことに注目してほし
い。この時間設定の最も極端な例を図33(C)に示す
が、そこでは各ステップが完全な時間差を取っている。
【0110】本発明の主目標は視覚に訴える自動変態技
術を作り上げることである。有益な特徴を識別し、開示
した手順は三次元形状の興味深い変態を作り出す。ここ
で示した方法は万能ではない。それは0族の単一接続の
三角網目多面体に制限される。
【0111】上記スケジュラーは、各境界形状には自動
交差がなくても、変形に自動交差を生じることもあるの
で理想的ではない。上記変遷技術は形状を交差させる作
用を、それらを遅らせることによって操縦しようと試み
る。
【0112】ユーザーは該手順を僅かに拡張したバージ
ョンと調和する陰の特徴を強制することができる。馬か
ら犬への変換を考えてみよう。両者とも4本の独立した
足がある。上述の基本的手順は、まず馬をその閉包にま
で大きくし、足の鮮明度を失い、犬の閉包に変換し、次
に凹状目標形に戻る時に足を再生する。4本の独立した
足をずっと保持するために、変態のために開始及び目標
形状を重複させることができる。次に、各々の作図され
た変形は動かされ、増加する重み付き逆変換により適所
に基準化される。該手順は合体形状:重複された開始及
び目標形状のCSG合体を見つけることにより開始され
る。次に、各変形が該合体形状と交差する。境界形状の
最初の重ね合わせを作るために利用できる充分な範囲の
線状変換をユーザーが持っている場合、類似する特徴を
重複させることができ、変換中これらはその個別の自己
認識を保持する。上記例において、本体が変化する一方
で、4本の足は、閉包に吸い込まれ再生されるよりむし
ろ、1つの動物から別の動物に微妙に変化する。書換え
(補間)が進行するにつれて、変形は馬サイズから犬サ
イズに縮小する。
【0113】
【外1】
【外2】
【外3】
【外4】
【外5】
【外6】
【外7】
【外8】
【外9】
【外10】
【外11】
【外12】
【外13】
【外14】
【外15】
【外16】
【外17】
【外18】
【外19】
【外20】
【外21】
【外22】
【外23】
【外24】
【外25】
【外26】
【外27】
【外28】
【外29】
【外30】
【外31】
【外32】
【外33】
【外34】
【外35】
【外36】
【外37】
【外38】
【外39】
【外40】
【外41】
【外42】
【外43】
【外44】
【外45】
【外46】
【外47】
【外48】
【外49】
【外50】
【外51】
【外52】
【外53】
【外54】
【外55】
【外56】
【外57】
【外58】
【外59】
【外60】
【外61】
【外62】
【図面の簡単な説明】
【図1】 中間変形が自動交差する1つの円錐形から別
の円錐形への変態を示す。
【図2】 頂点マッチングを使用する五角形から三角形
への二次元変態を示す。
【図3】 弧の長さのパラメーター表示を使用する三角
形から五角形への二次元変態を示す。
【図4】 (A)は、弧の長さのパラメーター表示に依
存する市販のシステムを用いた、2つの複雑な形状間の
二次元変態を示し、(B)は、(A)のシステムを使用
し、ユーザーが特徴マッチングを調節した(A)の形状
の二次限変態を示す。
【図5】 陰関数を混合することにより球体から円環面
体への三次元変態を示す。
【図6】 陰関数を混合することによりまっすぐなバー
ベルから曲がったバーバルへの二次元変態を示し、変形
に発生する縮体を示す。
【図7】 開示された凸対凸手順を使用する立方体から
八面体への三次元変態を示す。
【図8】 本発明に従って2つの凸形状間の書換え手順
を示すフローチャートである。
【図9】 (A)乃至(H)は、図8の凸対凸手順を正
方形から三角への二次元変態に適用したものである。
【図10】 (A)乃至(E)は、0.0 、0.25、0.50、
0.75、1.00の時の変形と、図9(A)乃至(H)の二次
元形状のための形状を形成する交差半平面を示す。
【図11】 (A)乃至(C)は、単一多面体、該多面
体の頂点リスト、及び該多面体の面リストをそれぞれ示
す。
【図12】 (A)は、凹辺を形成する2つの三角面を
示し、(B)は、(A)の凹辺がはじかれた後生じた2
つの三角面と凸辺を示す。
【図13】 凹辺を形成する2つの多角形を示し、その
頂点は両多角形によって共有されず、2つの多角形が凹
辺を形成するか否かを判断するのに使用される。
【図14】 2つの多角形が共有する辺が凹状であるか
否かを判断する手順を示すフローチャートである。
【図15】 凹辺を形成する2つの多角形を示し、それ
らが共有する頂点間の中点と、共有しない頂点間の中点
に名称を付けている。
【図16】 凹辺をはじかせるための手順を示すフロー
チャートである。
【図17】 (A)乃至(F)は、図16の手順に従っ
てはじかれた図15の多角形と凹辺を示す。
【図18】 (A)及び(B)は、それぞれ反射柱体の
透視図及び平面図であり、(C)はポッピング前の反射
柱体の2つの多角形と凹辺を示し、(D)はポッピング
後の(C)の反射柱体を示し、(E)は反射柱体の凹辺
をはじかせることによって形成されたダングリング面を
示し、(F)は反射柱体がはじかれた後残る多角形で、
ダングリング面はスライド作用の第一タイプを用いて取
り除かれたものを示す。
【図19】 (A)乃至(D)は、反射柱体の凹辺にま
ずポッピングを施すことなく、反射柱体に直接実施され
たスライド作用の第二タイプを示す。
【図20】 凹辺が反射柱体の一部であるか否かを判断
する手順を示すフローチャートである。
【図21】 反射柱体にスライド作用の第三タイプを実
施する手順を示すフローチャートであり、この第三タイ
プのスライド作用も反射柱体において凹辺をポッピング
を施すことなく実施される。
【図22】 (A)乃至(D)は図21の手順により単
一多角形に転換された反射柱体を示す。
【図23】 ポップ及びスライド作用を用いて凹形状を
凸閉包に転換するための実行リストを作成するシーケン
ス手順を示すフローチャートである。
【図24】 ポップ及びスライド作用を用いて凹形状を
凸閉包に転換するための実行リストを作成するシーケン
ス手順を示すフローチャートである。
【図25】 ポップ及びスライド作用を用いて凹形状を
凸閉包に転換するための実行リストを作成するシーケン
ス手順を示すフローチャートである。
【図26】 図23乃至図25の手順において使用する
ため、辺が凹状であるか否かを判断するための手順を示
すフローチャートである。
【図27】 図23乃至図25の手順において使用する
ため、反射柱体にスライド作用を適用しても安全かどう
かを判断する手順を示すフローチャートである。
【図28】 図23乃至図25の手順において使用する
ため、凹辺がはじかれても安全かどうかを判断する手順
を示すフローチャートである。
【図29】 実行リストに含まれる作用のため開始時間
と終了時間を決定するためのスケジューリング手順を示
すフローチャートである。
【図30】 本発明に有益なハードウェアのブロックダ
イヤグラムである。
【図31】 (A)乃至(D)は、本発明に従った1つ
の形状から他の形状への二次元変態を示す。
【図32】 2つの多面体間の変態を示すハイレベルな
フローチャートである。
【図33】 (A)乃至(C)は、1つの凹形状を別の
凹形状に転換する際に含まれる3ステップのためのタイ
ミングチャートである。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】形状を変更するためのコンピューター方法
    であって、該形状は、複数の三角面として定義され、非
    自己交差、単一接続、及び三角形に分けられた0族(g
    enus−0)の多面体としての形状を表す電気信号と
    して格納され、各三角面は3つの座標点のセットとして
    定義され、該方法は、 a)該形状の凹辺を識別するステップであって、該凹辺は
    2つの隣接した三角面の間に位置し、2つの該隣接三角
    面の2つの共有頂点を持った共有辺を画定するステップ
    と、 b)該識別された凹辺をポッピングするステップであっ
    て、その結果2つの該隣接三角面が消滅し、新たに2つ
    の三角面を作りだし、該2つの新しい三角面は凸状であ
    って2つの新しい共有頂点により画定された共通の共有
    辺を持ち、該2つの新しい共有頂点はポッピング前に該
    2つの隣接三角面の2つの非共有頂点と一致し、該2つ
    の新しい三角面はポッピング前に該2つの隣接三角面の
    共有頂点と一致する2つの非共有頂点を持っているステ
    ップと、 よりなるコンピュータ方法。
JP35672592A 1991-12-30 1992-12-22 形状を変更するためのコンピュータ方法を実行するコンピュータ装置 Expired - Fee Related JP3209598B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/814,165 US5428717A (en) 1991-12-30 1991-12-30 Methods for converting concave polyhedra to their convex hulls
US814165 1991-12-30

Publications (2)

Publication Number Publication Date
JPH05258018A true JPH05258018A (ja) 1993-10-08
JP3209598B2 JP3209598B2 (ja) 2001-09-17

Family

ID=25214339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35672592A Expired - Fee Related JP3209598B2 (ja) 1991-12-30 1992-12-22 形状を変更するためのコンピュータ方法を実行するコンピュータ装置

Country Status (4)

Country Link
US (1) US5428717A (ja)
EP (1) EP0550235B1 (ja)
JP (1) JP3209598B2 (ja)
DE (1) DE69227095T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175881A (ja) * 1999-12-13 2001-06-29 Internatl Business Mach Corp <Ibm> モルフィング処理装置、モルフィング方法、記憶媒体、プログラム伝送装置、および動画作成装置

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5771045A (en) * 1995-10-23 1998-06-23 Hewlett-Packard Company Method for polygon decomposition
US6075541A (en) * 1997-11-07 2000-06-13 Trimble Naviagtion Limited Topographic triangulation in reduced time
US6421051B1 (en) * 1998-06-18 2002-07-16 Spatial Corporation Multi-resolution geometry
US6362820B1 (en) * 1999-06-24 2002-03-26 Microsoft Corporation Quadric metric for simplifying meshes with appearance attributes
US6608631B1 (en) * 2000-05-02 2003-08-19 Pixar Amination Studios Method, apparatus, and computer program product for geometric warps and deformations
US6700586B1 (en) * 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
JP4541533B2 (ja) * 2000-11-24 2010-09-08 パナソニック株式会社 描画装置
US6900800B2 (en) * 2001-02-27 2005-05-31 David Robert Baldwin Tile relative origin for plane equations
WO2004077349A2 (en) * 2003-02-27 2004-09-10 Arizona Board Of Regents, A Body Corporate Of The State Of Arizona, Acting For And On Behal Of Arizona State University Comparative and analytic apparatus and method for converting two-dimensional bit map data into three-dimensional data
US7075532B2 (en) * 2003-05-23 2006-07-11 International Business Machines Corporation Robust tetrahedralization and triangulation method with applications in VLSI layout design and manufacturability
JP4275593B2 (ja) * 2004-08-09 2009-06-10 富士通株式会社 接触定義装置、接触定義プログラム、接触定義方法
KR100634537B1 (ko) * 2005-02-04 2006-10-13 삼성전자주식회사 3차원 영상의 삼각 분할 장치 및 방법과 그 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체
US7646386B2 (en) * 2005-04-19 2010-01-12 Adobe Systems Incorporated Modifying a path in a drawing
US7256785B1 (en) * 2005-04-19 2007-08-14 Adobe Systems Incorporated Assigning subpath attributes in a drawing
US7502028B1 (en) * 2005-04-19 2009-03-10 Adobe Systems Incorporated Assigning region attributes in a drawing
US7616203B1 (en) * 2006-01-20 2009-11-10 Adobe Systems Incorporated Assigning attributes to regions across frames
JP4894369B2 (ja) * 2006-06-19 2012-03-14 富士通株式会社 3次元モデルの画像処理装置
US20080225037A1 (en) * 2007-03-15 2008-09-18 Basimah Khulusi Apparatus and method for truncating polyhedra
US8599195B2 (en) * 2007-03-15 2013-12-03 Basimah Khulusi Apparatus and method for modeling all matter by modeling, truncating, and creating N-dimensional polyhedra including those having holes, concave attributes, and no symmetry
US20090284528A1 (en) * 2008-05-15 2009-11-19 Tyson Wayne Jensen Software processing apparatus and method for creating three-dimensional topologically complete surface boundary representations from arbitrary polygon models
US8983643B2 (en) * 2010-01-15 2015-03-17 Stratasys, Inc. Method for generating and building support structures with deposition-based digital manufacturing systems
JP6086188B2 (ja) * 2012-09-04 2017-03-01 ソニー株式会社 音響効果調整装置および方法、並びにプログラム
US9734798B2 (en) * 2015-03-17 2017-08-15 Dreamworks Animation Llc Timing-based scheduling for computer-generated animation
US11250629B2 (en) * 2020-05-22 2022-02-15 Seek Xr, Llc Systems and methods for optimizing a model file
CN112270679B (zh) * 2020-11-19 2022-04-22 浙江大学 一种结合凹点与凹边的凸多边形轮廓的图像分割方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4974177A (en) * 1985-10-04 1990-11-27 Daikin Industries Ltd. Mapping circuit of a CRT display device
US4901251A (en) * 1986-04-03 1990-02-13 Advanced Micro Devices, Inc. Apparatus and methodology for automated filling of complex polygons
JPS63238665A (ja) * 1987-03-26 1988-10-04 Toshiba Corp 離散化用3角形メツシユの形成装置
US4962468A (en) * 1987-12-09 1990-10-09 International Business Machines Corporation System and method for utilizing fast polygon fill routines in a graphics display system
JP2790815B2 (ja) * 1988-08-10 1998-08-27 株式会社リコー 画像データ圧縮方法
US5129051A (en) * 1990-03-16 1992-07-07 Hewlett-Packard Company Decomposition of arbitrary polygons into trapezoids
US5189626A (en) * 1991-03-27 1993-02-23 Caterpillar Inc. Automatic generation of a set of contiguous surface patches on a computer modeled solid

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175881A (ja) * 1999-12-13 2001-06-29 Internatl Business Mach Corp <Ibm> モルフィング処理装置、モルフィング方法、記憶媒体、プログラム伝送装置、および動画作成装置

Also Published As

Publication number Publication date
EP0550235A2 (en) 1993-07-07
DE69227095D1 (de) 1998-10-29
US5428717A (en) 1995-06-27
DE69227095T2 (de) 1999-04-08
EP0550235B1 (en) 1998-09-23
EP0550235A3 (ja) 1994-01-19
JP3209598B2 (ja) 2001-09-17

Similar Documents

Publication Publication Date Title
JPH05258018A (ja) コンピュータ方法
Reynolds Big fast crowds on ps3
Sander Graph layout through the VCG tool: Extended abstract and system demonstration
Bradshaw et al. Sphere-tree construction using dynamic medial axis approximation
JP5665872B2 (ja) リアルタイムレンダリングのための、接続性に依拠した形状最適化
JP6476090B2 (ja) 加速構造の生成及び探索を行う方法並びに装置
US6859202B2 (en) Conversion of a hierarchical subdivision surface to nurbs
JP3209599B2 (ja) コンピュータ方法を実行するコンピュータ装置
JPH05266212A (ja) データプロセッサによってオブジェクトの作成を実行する方法及びグラフィックスディスプレイ装置
JPH05210745A (ja) 3次元グラフィックス処理方法及びその装置
US8587584B1 (en) Techniques for interior coordinates
US6914601B2 (en) Method, apparatus, and computer program for generating three-dimensional shape data or volume data
JP2007094628A (ja) 粒子系を用いた陰関数曲面のポリゴン化方法
US7116341B2 (en) Information presentation apparatus and method in three-dimensional virtual space and computer program therefor
Burgoon et al. Discrete shells origami
Amiri et al. Connectivity maps for subdivision surfaces
Saunders Terrainosaurus: realistic terrain synthesis using genetic algorithms
JP2007149108A (ja) 地図データ処理方法、コンピュータグラフィック処理方法およびコンピュータグラフィック処理装置
US11238649B2 (en) Method and system for hybrid modeling using geometric facets
Cheung et al. Incremental rendering of deformable trimmed NURBS surfaces
Bill et al. Computer sculpting of polygonal models using virtual tools
JP2006202119A (ja) 立体図作成システム
KR102302833B1 (ko) 3d 모델에 대한 베벨 방법 및 이러한 방법을 수행하는 장치
Gagvani Parameter-controlled skeletonization: A framework for volume graphics
JPH03214266A (ja) 立体の3次元メッシュ形成方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010626

LAPS Cancellation because of no payment of annual fees