INVENTION【0001】〔発明の背景〕本発明はディスプレイ上に提示される三次元領域内の対象の移動の制御を知覚する技術に関する。頁はスナップ−ドラッギング、すなわちユーザーに対して対話式作図システムを用いた精密な点の位置づけを助ける技術を記載している。(snapping)アイデアに基づいている。(drag)ことについて言及している。object)が関心のものであるかを指定すると、システムは自動的にその領域の中のその種類の整列対象を構成する。ユーザーがある対象を移動させる時、整列対象は可視状態となる。実行について記述している第4.3節は、変換によって影響された対象が所定の位置に引っ張られるように円滑に移動すべきことについて述べており、それは繰り返し再位置づけされるビットマップの中に移動対象を引っ張るかまたは返す間、詳細を減縮することによって解決することができる。239頁の最後の段落では、三次元における対象の編集について記述している。頁には、場面構図、すなわち関連した変換を用いた互いに対する場面対象の精密な位置づけのための対話式技術を記載している。第2節では、それらが最終目標に達するまでリアルタイムで対象が中間配置を通して移動する円滑対象移動を述べている。2.4,円滑性が、対象の間で美的に楽しませる関係を得るため、かつユーザーに自信を与えるために有用であることを示唆している。第4.1節は、ユーザーがスクリーン上で二次元カーソルを動かす時、如何にスキッターを動かし、図1に示されているように、対象の表面上に如何に現れるかについて述べている。addition,マウスを用いて如何にスキッターを移動することができるかを述べている。第5.3節は、観察している平面に対して平行なあるいは平面選択平面に対して平行な円滑移動変換について述べている。対象はスキッターに付帯され得るが、またそれから正常に動かされ得る。normally.【0004】〔発明の概要〕本発明はディスプレイ上に提示された三次元作業域内での対象の移動についての制御の知覚の生成のためのシステムの動作技術を提供するものである。ユーザーは対象の径方向移動および横方向移動を独立的に要求することができる。ユーザーのビューポイントであり得るある発生源に向かって径方向に動かされる時、対象は最初に加速し、それから、ビューポイントへの接近が制御され得るように、ビューポイントに接近はするが到達することはない漸近経路に追従する。ユーザーのビューポイントから径方向に離れるよう動かされる時、対象は加速する。accelerates.【0005】本発明の一側面は三次元作業域において対象を移動する際の問題を認識することに基づいている。influenced,複雑である。三次元における最も多い対象の移動のために、ユーザーは複雑化された一連の変位を指示しなければならない。complicated.【0006】前記の側面は更に三次元作業域における対象の移動のためのより簡素化された技術の発見に基づくものである。この技術を用いて、ユーザーは、それぞれが直覚的で簡単な2つのタイプの移動を独立的に要求することによって所望の対象の移動を生成することができる。intuitive.【0007】1つのタイプの移動は、作業域内における光線に沿う径方向の移動である。point,各光線はビューポイントから延びて対象の中心を通る。point.ユーザーはいくつかの簡単な選択肢、すなわちビューポイントに向かって対象の移動、ビューポイントから離れる方向の対象移動、または以前の径方向の位置に対象を維持といった選択肢から選択をするためのキーを用いることにより、径方向移動を制御することができる。movement.【0008】他のタイプの移動は、光線によって横切られた平面または球面内の移動のような、光線から横方向に延びる方向における横方向移動である。Users,所定の位置における変化を指示するためのマウスのような二次元ユーザー入力装置を用いて横方向移動を制御することができる。position.【0009】上述したような径方向および横方向移動を独立的に要求することは、特に効果的である。いうのは、典型的なユーザーは開始位置から目標位置まで対象を直接的に移動させるために同時に2つのタイプの移動を敏速に要求することができるからである。example,ユーザーは径方向移動を要求するために一方の手を用いている間、横方向の移動を要求するために他方の手を用いることができる。三次元作業域の中でユーザーの視野内のある開始点から他の位置に対象を移動するのに、2つのタイプの移動の組合せが適当である。suitable.【0010】本発明の関連する側面は、三次元作業域における対象の移動における問題の認識に基づいている。workspace.移動が速ければ、ユーザーは、対象がある適当な位置に停止するようにするための移動を制御することが困難になる。対象の移動が遅過ぎれば、移動には過分の時間がかかる。従来の対象移動技術はこの両方を満足することについては取り扱っていない。both.【0011】この側面は、この問題が2つの段階における対象の移動を達成することによって解決され得るという発見に基づいている。第1の段階においては、対象は、移動の持続時間が増加するにつれてより速く移動する加速経路に追従し、この段階を用いれば、ユーザーは、短く、制御された対象の移動を行わせたり、より長く、迅速な移動を行わせることができる。第1の段階が充分に長く続いたら、第2の段階が始まり、そこでは対象はビューポイントのような目的点に接近するが到達することはない漸近経路に追従し、それが目的点に接近するようにユーザーが対象を制御することを許容する。object.【0012】上述した2段階移動は、対数関数によって切り取られた定率加速度関数を適用することによって実行され得る。対数関数は、各アニメーションステップにおいて、一定比率で対象からビューポイントまでの距離を減少させることができる。二次元移動が三次元作業域内のビューポイントに向かって対象を移動させるために用いられるならば、たとえば、ビューポイントに向かって加速するための関数と同じ率を持つことができる定率加速度関数を適用することによってビューポイントから離れる方向に、対象はまた移動され得る。moved.【0013】横方向移動はまた、三次元作業域内の壁あるいは他の対象に出会う場所で切り取られる。壁のような他の対象に近い移動している対象を位置づけることにおける付加的な制御を提供するために、移動している対象が、漸近的接近を提供する他の対象に近づくとき、横移動を切り取るために対数関数が同様に用いられよう。way.【0014】以下の説明、図面および特許請求の範囲は、本発明のこれらおよび他の目的、特徴および利点をさらに述べるものである。invention.【0015】〔図面の簡単な説明〕図1は三次元作業域内において知覚できる対象の概略図である。area.【0016】図2Aは図1に示した対象を含む提示された画像の概略図である。FIG.【0017】図2Bは図2Aの対象の移動させられた継続として知覚し得る対象を含む他の提示された画像の概略図である。2A.【0018】図3は対象の径方向および横方向移動を要求する信号に応答して一連の画像を提示する概略ステップを示すフローチャートである。object.【0019】図4は横方向および径方向移動における対象位置を示す平面図である。movement.【0020】図5は横方向および径方向移動の要求に応答する新たな位置での対象を提示する概略ステップを示すフローチャートである。movement.【0021】図6は対象移動を提供するシステムの部品を示すブロック図である。mobile.【0022】図7は対象移動を提供するアニメーション・ループのステップを示すフローチャートである。mobile.【0023】図8は対象の位置を見出して対象を再描画するためのステップを示すフローチャートである。target.【0024】図9は対象の新たな位置を見出すための詳細なステップを示すフローチャートである。以下の概念的フレームワークは本発明を広義に理解する上で有用であり、以下に定義する用語は特許請求の範囲を含めて本明細書で一貫した意味を有している。claims.【0026】“データ処理システム”とはデータを処理するシステムである。data,単数又は複数の中央処理装置又はその他の処理装置が含まれる。includes.【0027】“ユーザー入力装置”はユーザーの操作に基づいて信号を付与する装置である。ユーザー入力装置はユーザーの操作に基づいて信号を付与するキーボード又はマウスのような単数又は複数の“ユーザー入力素子”を含むことができる。従ってユーザー入力装置によって付与される信号の集合にはマウス動作を表示するデータ及びキーボード動作を表示するデータが含まれる。movement.【0028】“画像”とは光のパターンである。“画像出力素子”は画像を確定する出力を供給することができる。“ディスプレイ”は画像を可視的な形式で形成する出力を提供する画像出力素子である。ディスプレイには例えば陰極線管や、発光、光反射又は吸収素子の配列や、紙又はその他の媒体にマークを表示する構造や、画像を可視的に形成可能な他の任意の構造が含まれる。ディスプレイ上に“画像を提示する”とは観察者が画像を知覚できるようにディスプレイを操作することである。image.【0029】データ処理システムには例えば種々の図形処理ユーザー・インタフェースを含む広範なディスプレイ技術を利用することができるが、これらの技術はその多様性にも関わらず一定の共通の特徴を備えている。基本的な共通の特性の一つはディスプレイが人間による知覚を可能にすることである。本明細書では、“ディスプレイ造形”の用語はディスプレイにより作成される人間が知覚する造形のことである。perceived.【0030】“ディスプレイ対象”もしくは“対象”は結合単一体として知覚可能であるディスプレイ造形である。"includes".【0031】画像内の対象その他のディスプレイ造形が空間内で位置を占めていることが知覚されると“作業域”が知覚されたと言う。“三次元作業域”は3つの直交次元に延びていると知覚される作業域である。代表的にはディスプレイは二次元のディスプレイ表面を有しており、第3の次元の知覚は消失点の方向に延びる透視線や、近接する対象による遠方の対象の妨害や、観察者の方向に、又は遠ざかって移動する対象のサイズの変化や、対象の透視図の形状や、観察者から異なる距離での対象の異なる陰影等の視覚的手掛かりによって作成される。三次元作業域には三次元の知覚を作成するためにこれらの手掛かりの全てが組合せられる作業域のみならず、単一の手掛かりが三次元の知覚を作成する作業域も含まれる。ディスプレイ対象が重なる作業域又は視界が対象内でズーム・インする作業域はその内部の対象が遠近法なしで直交投影法で提示されていても三次元作業域であるとすることができる。.【0032】三次元作業域は代表的には作業域内の位置から観察されたものとして知覚され、この位置が“ビューポイント”である。"viewpoint".【0033】三次元作業域を提示するため、システムは作業域内の対象又はその他のディスプレイ造形の“座標”を表示するデータを記憶することができる。次にディスプレイ造形の座標を表示するデータをディスプレイ造形を提示するために利用して、それが表示された座標に位置するものとして知覚できるようにすることができる。2つのディスプレイ造形の間の“距離”とは双方の間の知覚できる距離であり、双方のディスプレイ造形がそれらの座標に位置するように見えるように提示されれば、それらの座標から距離を判定することができる。do.【0034】第2のディスプレイ造形が提示された時にユーザーが第1のディスプレイ造形を連続するものとして知覚するように、第2のディスプレイ造形の提示が第1のディスプレイ造形の提示に続く場合に、第2のディスプレイ造形は第1のディスプレイ造形の“継続”であるものと知覚される。これが可能であるのは、2つのディスプレイ造形の連続的なディスプレイが同じディスプレイ造形であるように見えるほど時間的、空間的に接近している場合である。その一例は“対象不変性”と呼ばれる現象である。constancy".【0035】“アニメーション・ループ”は各々の反復が画像を提示し、かつ、各画像内の対象及びその他のディスプレイ造形が直前の先行画像内の対象及びディスプレイ造形の継続であるように見える反復動作である。ユーザーがユーザー入力装置によって信号を付与する場合は、これらの信号は事象として待機可能であり、各ループは待ち行列から幾つかの事象を処理することができる。queue.【0036】第2のディスプレイ造形はそれが異なる位置で継続であると知覚できるならば第1のディスプレイ造形の“移動された継続”として知覚可能である。Firstのディスプレイ造形は作業域内で“移動している”、又は“運動”又は“動作”を行っている、又は“変位している”ものと知覚される。“変位”とはそれによって造形が作業域内で変位されたと知覚される距離である。area.【0037】“径方向移動”又は“径方向変位”は単一又は複数の光線に沿った移動又は変位として知覚される。光線は“径方向光源”から延びる。ビューポイントは径方向移動のための径方向光源であり得る。movement.【0038】“横移動”又は“横変位”は単一又は複数の光線に対して横方向の移動又は変位として知覚される。system,その中で対象が1つないしそれ以上の光線に対して横方向に動くことのできる“表面”を定義するデータを記憶する。その表面はたとえば平面または球面でよい。spherical.【0039】ユーザー入力装置からの信号は径方向移動および横方向移動を要求することができる。ユーザーが径方向および横方向移動を別個に要求でき、かつ、両方の種類の移動を同時に要求できるならば、ユーザー入力装置はユーザーが径方向移動と横方向移動を“独立的に”要求できるように構成される。ユーザーは横方向移動を要求するために片手でマウス又はその他の指示装置を操作し、径方向移動を要求するために別の手で別個にキーボード上のキーを操作することができる。movement.【0040】移動する対象は作業域内で“経路”を辿る、又は形成するものと知覚される。“加速経路”とはその上で知覚される速度が増加する経路である。hand,“漸近経路”とは、経路は接近するが漸近線には到達しないように知覚された速度が減少する経路のことである。approaches.【0041】対象が加速経路を辿っているように知覚される場合、連続する位置間の変位は“加速関数”を辿る。同様に、対象が漸近経路を辿っているように知覚される場合、連続する位置間の変位は“漸近関数”を辿る。time,そこでは時間は経路上の先行する位置によって測定される。“加速度率”とは加速経路上の各変位の大きさを得るために時間の二乗によって乗算されたスカラー量である。path.【0043】漸近関数の例は時間の経過とともに対数が漸近的にゼロに接近する関数である。“対数関数”の用語はこのような関数及びこれらに近似する関数を含む。function"とは各組の距離ごとにそれぞれの値の集合を生成する関数である。2つのポイント又は位置間の一つの簡単な対数関数は距離の“比例”すなわちゼロ以上であるが距離全体よりは短い距離の一部を取ることによって算出することができる。距離の比例は距離と“比例定数”を乗算することによって算出することができ、その際、比例定数はゼロ以上1未満の値である。operation)"とは両方が計算されそしてその一つが判定基準を適用することによって選択される2つの関数上で実行される。その判定基準は、たとえば、結果の最大または最小を選ぶことができる。切り取り操作は、他方の関数で一方の関数を切り取ることとして記述することができる。図1〜図5は本発明の一般的特徴を示している。図1は三次元作業域内において知覚できる対象の概略図である。図2AおよびBはビューポイントに向かう対象移動の前および後の画像を示している。図3は対象の径方向および横方向移動の一連の画像を提示する概略ステップを示すフローチャートである。図4はビューポイントに対する横方向および径方向移動を示す平面図である。図5は新たな位置での横方向および径方向の対象移動の概略ステップを示すフローチャートである。area2から観察して知覚できる対象10を示す。ビューポイント12は観察軸がz軸に沿った方位の座標系の原点にある。点線がビューポイント12から対象10上のポイント16まで延びており、ポイイント16は対象10の中心点である。thereof0が知覚可能である。24は中心点26を含んでいる。一連の適宜の画像を提示することによって、対象24は対象10の継続として知覚できるが、三次元作業域内の異なるビューポイントから観察されたものである。10を更に詳細に見ることができる。detail.【0049】図3はシステムがこのような手順で提示する際の一般的ステップを示している。ボックス30のステップは三次元作業域内でビューポイントから観察されるものとして知覚できる対象を含む一連の画像のうちの第1の画像を提示する。ボックス32のステップは径方向移動と横方向移動を要求するユーザー入力装置から設定された信号を受信する。34のステップでは、径方向と横方向に移動させられた対象をもつ視野として知覚できる他の画像を提示する。ステップ32と34のステップは満足する画像が得られるまで反復可能である。obtained.【0050】図4はビューポイント50に対して横方向および径方向に対象を移動するための技術を示している。その移動は、ビューポイントに原点をもち、観測方向として規定される軸であるv軸に沿った方向を指向している。図4では、それによって径方向移動が発生する光線がビューポイント50から対象の中心を通って延びているが、径方向の移動は異なる点から対象を通って延びている光線に沿って生じることができる。横方向移動の表面は、図示されているように、v軸に直交する面であることができ、それにより位置52における対象は位置54と56を含む面の色々な位置へ横方向移動することができる。横方向移動の表面は、その現在位置における対象を通る光線に直交する面でもよく、そのような面には、光源に中心をもち光源から対象までの距離に等しい半径をもつ球面または円筒や、球面または他の適当な表面に近似できる多面体がある。surface.【0051】位置52は、径方向移動を介してビューポイント50に向かって移動できる対象による一連の位置の中の第1のものとして示されている。62は、時間の関数として対象がビューポイント50に向かって加速する径方向移動の第1段階を示しており、これらの位置における対象をもつ画像は位置52からビューポイント50に向かう対象移動を要求する一連の信号に応答して提示され得る。approaches段階を示しており、これらの位置における対象をもつ画像は、ビューポイント50に向かう対象の移動を要求する一連の信号に応答して提示され得る。50.【0052】位置52はさらに、それによって対象が径方向移動を通してビューポイント50から遠ざかる方向に移動することができる一連の位置のうちの第1のものとして示されている。位置70と72は時間の関数として対象が加速する径方向移動を示している。これらの位置に対象をもつ画像は、ビューポイント50から離れる方向の対象移動を要求する一連の信号に応答して提示され得る。50.【0053】径方向および横方向移動は同時に実行され得る。位置76は、v軸に向かう横方向移動とビューポイント50に向かう径方向移動を同時に示している。axis.【0054】図4に示すそれぞれのタイプの移動は、対象内の適当な点において中心合わせされ得る。Subject,径方向および横方向移動を要求しない信号に応答して位置52において残ることができる。require.【0055】図5は、図4に示されたような横方向および径方向移動を提供できる図3のボックス34内のステップを示している。ボックス80のステップは二次元信号から新たな光線を得ることによって開始され、マウスまたは他の指示装置からの図3に示すボックス32のステップで受信可能である。新たな光線は例えば以前の光線と同じ光源の単位ベクトルによって表示でき、ユーザーによる機械的指示装置は計算速度と比較して相対的に遅いので通常は以前の光線の方向に近い。ray.【0056】ボックス82のステップは図3のボックス32のステップでキーボード上のキー又はマウスにより受信できる径方向移動のタイプを選択する信号に基づいて分岐する。信号が径方向移動を選択しない場合は、ボックス84のステップは以前の位置を径方向の位置および径方向移動の停止点として採用する。86のステップは径方向の位置として加速経路上の次の位置をとる。信号が光源に向かう径方向移動を選択すれば、ボックス88のステップは径方向の位置として加速経路および漸近経路上の次の位置の最大のものをとる。その最大ものは光源から遠い次の位置である。したがって、光源に向かう連続的な径方向の間、対象は最初に加速し、それから漸近経路に沿って移動する。ボックス88のステップは漸近関数とともに加速関数を切り取ることにより実行され得る。90のステップは径方向の位置から横方向に延びる表面内にまた存在する新たな光線上の点を見出す。92,それにより対象は、ボックス32で受信した信号によって要求されたものとして横方向および径方向に移動するものとして知覚可能となる。surface,86または88からの径方向位置を用いることによって、そしてそれから新たな光線をもつ横方向表面の交点を見出すことによって実現され得る。本発明は種々のデータ処理システムにおいて実現可能である。グラフィック機関オプションを含むシリコン・グラフィックス・アイリスのワークステーションにおいて好適に実現可能であった。図6は記憶装置内の適合項目を含む、本発明を実現するシステムの構成部品を示している。システム100はキーボード及びマウス104からの入力信号を受信し、かつ、ディスプレイ106に画像を提示するために接続されたプロセッサ102を備えている。102は命令を検索するためにプログラム・メモリ112をアクセスすることによって動作し、命令を実行する。命令の実効中、プロセッサ102は入力信号を受信し、かつ画像を提示することに加えて、データ・メモリ114をアクセスすることができる。114.【0060】プログラム・メモリ112はオペレーディング・システム120を備え、これはグラフィック処理を行うための命令を含んでおり、その全てがグラフィック機関を有するシリコン・グラフィックス・アイリスワークステーションの一部である。対話型のセッションを準備するため、プロセッサ102は準備及び初期化ソフトウェア122を実効する。現行の実現形態では、プロセッサ102はコモン・リスプ及びコモン・リスプ対象システム・コードを実行するために準備され、その幾つかは後述されるパラメタによって初期化される。図6のプログラム・メモリ212の別のルーチンはコモン・リスプ対象システムの分類及び方法によって実現される。102はアニメーション・ループ・ルーチン124を実行する。これにはキーボード及びマウス104からの適宜の信号によって終了されるまで継続されるループが含まれる。ループの各周期はディスプレイ106上にそれぞれの画像を提示する二重バッファ技術を利用することができ、それぞれの画像は各画像内のディスプレイ造形が対象不変性技術に従って以前の画像のディスプレイ造形の継続に見えるように相互の順序付けを形成する。the.【0062】各アニメーション周期はオペレーティング・システム120によって保持されるFIFO事象待ち行列の次の項目を受領し、処理するための入力処理サブルーチン126への呼出しを含んでいる。事象待ち行列にはキー・ストローク、マウス事象、ウインドウ内への、又、ウインドウからでるマウス・ポインタの運動及びウインドウを再形成し、又は移動するマウス・ポインタの運動のようなユーザーからの信号を含み、例えば別のプロセスのような別のソースからの事象を含むことができる。process.【0063】各アニメーション周期はまた三次元作業域を再作図するために3D作業域サブルーチン128を呼び出すことを含む。作業域を再作図する際、3D作業域サブルーチン128は作業域内に各対象を再作図するために対象作図サブルーチン130を呼び出す。対象作図サブルーチン130は次に各対象の現在位置を決定するために対象移動サブルーチン132を呼び出す。object.【0064】データ・メモリ114は3D作業域データ構造140と、対象データ構造142と、ビューポイントデータ構造144及びプログラム・メモリ112内の命令の実行中に記憶され、アクセスされる別のデータを含んでいる。3D作業域データ構造140は作業域内の対象のリストと、作業域の内容を表示するデータとを含むことができる。対象データ構造142は各対象ごとに幾何学的形状を表すタイプと、三次元作業域内の位置と、対象を含む立方体又は球のような領域を表示する範囲と、対象に取付けられた別の対象がある場合はそのリストとを含むことができる。対象はその範囲内に中心合わせされると仮定すると、範囲の中心は対象移動に用いられ得る。ビューポイントデータ構造144はビューポイントの位置と、観察方向と、ボデーの方向とを表示するデータを含むことができる。アニメーション・ループルーチン124は種々の方法で実現可能である。図7は本発明の現在の実現形態で実行されるアニメーション・ループの関連ステップを示している。invention.【0066】ボックス160のステップは事象待ち行列から処理される次の事象を検索する。ボックス162のステップは次の事象に基づいて分岐する。次の事象が左のマウス・ホタンの下方クリックとして実施される対象を切り取る信号である場合は、ボックス164のステップは現在指示されている対象を見出すための選別動作を行い、指示されている対象が現在選択されていることを表示するために現行選択変数をセットし、新たに選択された対象についての径方向移動の再開始をカウントする径方向移動ステップをクリアし、それが現在選択されている対象であることを指示するアニメート化された筆記体文字のような新たに選択された対象についての他の適当な操作を実行する。他方、もし次の事象が、左のマウス・ボタンを上方にクリックして実行された、以前に切り取られた対象を放つ信号であれば、ボックス166のステップは、対象がもはや現在選択されたものではないことを指示する現在選択変数をリセットする。次の事象が他の信号であれば、ボックス168において適当に処理される。ボックス168のステップはキークリックまたは受信した他の入力信号を指示するデータを保存することを含む。received.【0067】ボックス270のステップは、作業域を再作図するのに用いられる現在のビューポイントの位置を見出す。このステップは、参照としてここに組み込まれる共に出願中で同一出願人の“三次元作業域における目標に対する移動ビューポイント”という名称の米国特許出願第07/561,627に記述されているような技術を含むことができる。簡単な場合、ビューポイントは移動しないので、以前のビューポイント位置はビューポイントデータ構造144をアクセスすることによって検索可能である。144.【0068】ボックス172のステップは現在のビューポイントから観察するための三次元作業域を作図する。point.このステップはコーナー、陰影及び壁、天井及び床を表示するためのその他の視覚的キューを含む三次元の知覚を促進するための種々のキューを伴って作業域を作図することができる。このステップは作業域の範囲を表示するデータを検索するためのデータ構造140のアクセスを含むことができる。area.【0069】ボックス180のステップは各対象を作図する対話型ループを開始する。前述のように、作業域データ構造140は作業域内の対象のリストを含み、このリストは対話型ループによって追跡されることができる。ボックス182のステップは、以下にもっと詳細に述べられるが、リスト中の次の対象の位置を見出し、その位置で対象を作図するための動作を実行する。対象データ構造142は各対象ごとのデータを検索するためにアクセスすることができる。106上に提示されるようにする。次に、ループは開始ステップに戻る。step.【0071】アニメーション・ループは種々の付加的な動作を含むことができる。ビューポイントが作業域の壁に衝突する位置に移動されると、作業域の視野はグレーになって視覚的キューを送ることができる。図7のボックス182のステップは種々の対象について種々の方法で実現可能である。図8は各種のタイプの対象についてボックス182のステップを実現することにおけるフレキシビリティーを許容するために辿られるべき一般的ステップを示している。target.【0073】ボックス200のステップはマウス位置を読み、その信号あるいは対象の新たな位置を見出すためにユーザーから指示された他のデータ指示信号を用いる。ボックス200のステップはしかしながら、対象の移動についての抑制を考慮しない。subject.【0074】ボックス202のステップは、全ての対象に適用できる一般的な抑制を与えるものである。作業域が壁によって境界が制限されると、ボックス202のステップは、壁の外側の対象の一部を残さないようにボックス200で得られた新たな位置に切り取り関数を適用することができる。切り取り関数は、対象の中心位置が対象の範囲の幅の半分よりも近づかないことを確保する。interest.【0075】ボックス204のステップは、移動されている対象の位置をユーザーが知覚することを助けるために、位置フィードバックを与える。対象が自由に位置づけられ得る作業域において、壁に関する対象の位置を示す格子は役に立つようである。対象が他の対象群の一つに誘引される作業域においては、その現に誘引されている他の対象はフィードバックを与えるためにハイライトされ得る。フィードバックを与える他の方法は、その対象からその下にあるどの表面にも影を落とすことであり、もし影が落とされると、その影によってどの表面に対象が出くわしたかが示されることになる。フィードバックを与える技術は初期化の間に変数の組の一つによって定めることができる。initialization.【0076】ボックス200,202および204のステップはどんな対象にも適用でき、したがってどの対象についても同じであるサブルーチンによって実行され得る。図8の残りのステップは対象のタイプに特有なものであり、したがって対象の各タイプについて分離して実行されなければならない。object.【0077】ボックス206のステップは対象の位置に特別な抑制を与えるものである。その対象が床に立たなければならない対象であれば、ボックス206のステップはその対象が床に立っているような新たな位置に変更することができる。開放された時に、もし対象が他の対象の上側表面の上かまたは床の上のいずれかに静止すると、ボックス206のステップは新たな位置が上側表面にあるか床に有るかを決定する試験を適用することができ、対象が上側表面上か床上の確定した位置に到着するような適当な新たな位置に移動させる。重力関数を含むことができ、他の対象が誘引の井戸に入った時に、それは誘引の井戸をもつ対象の次の位置に素早く動作する。position.【0078】ボックス208のステップは、対象に誘引された他の対象の特別な抑制を与えるものである。他の対象が移動しているある対象の上側表面の上に静止しているとすれば、ボックス208のステップは、その対象が移動する時に他の対象が上側表面に止まるように他の対象の位置を変化することができる。object.【0079】ボックス210のステップは新たな位置に対象を作図刷ることによって操作を完了する。対象の現象の不変性により、あるアニメーションステップから他への位置の変化およびアニメーションステップ当たりの時間が充分小さいとすると、対象は移動していると知覚され得る。各アニメーションステップにおける対象の位置を見出すボックス200のステップは、いろんな方法で達成できる。200のステップが図5のステップに凡そ続くサブルーチンによっていかに実行され得るかを示している。FIG.【0081】ボックス250のステップは、対象の古い中心および対象の見積もられた半径を示す座標を受信することにより開始する。古い中心を示す座標は、原点に一番近い範囲の隅の座標にその範囲の半分の幅と深さと高さを加えることにより得ることができる。半径は、範囲の深さと幅の大きな方に0.55を掛けることにより見積もることができる。0.55.【0082】ボックス252のステップは現在の位置を読み取り、またビューポイントからマウスで指示された位置を通って延びる新たな光線の光源と方向を指示するデータを生成するために、マウスによって指示された位置の二次元座標を用いる。上で、マップw関数が、現在のマウス位置の座標を用いてこの構成の座標を得ることに用いることができる。144を用いる適当な変換マトリクスが立ち上げられる。raised.マップw関数によって戻された座標はそれから新たな光線の方向を示す単位ベクトルを生成することに用いることができる。therefrom.【0083】ボックス260のステップは径方向移動を示すキーに基づいて分岐する。スペースバーはビューポイントから離れる移動を示すことができ、左のアルトキーはビューポイントに向かう移動を示すことができる。viewpoint.もし両方が押されれば、ビューポイントから離れる移動が与えられる。いずれも押されなければ、対象は径方向には移動しない。direction.【0084】ビューポイントから離れる方向の対象の移動のために、ボックス262のステップは、ビューポイントに向かうステップのカウントをクリアし、かつビューポイントから離れる方向のステップのカウントを増分することにより開始する。length,ビューポイントから離れるステップのカウントの二乗と加速尺度とを掛けることによって生成することができる。加速尺度の選択は、使用されるアニメーションループの速度に依存し、0.04という加速尺度は満足すべき移動を生成するために用いられている。266のステップは、ベクトル加算を行うことによって径方向の位置を生成する。250からの古い中心位置に、その長さがボックス264からのステップ長でありその方向がボックス252からの新たな光線の方向であるベクトルを加える。新たな光線の方向はビューポイントから古い中心位置への古い光線方向とほぼ同じであるため、このステップの効果は、ビューポイントから古い位置を通る光線にほぼ沿ってビューポイントから離れる方向に移動することである。このことは、ほぼ都合よく、ビューポイントから古い中心位置への光線の方向の計算を回避する。point.【0085】ビューポイントに向かって対象を移動するため、ボックス270のステップは、離れる方向のカウントをクリアし、向かう方向のカウントを増分することによって開始する。ボックス272のステップはステップ長を生成するためにボックス264とおなじ計算を行う。ボックス274のステップは、ビューポイントから古い中心位置へのx−z平面における距離を初期化の間の対数尺度セットに掛けることにより切り取り長を生成する。対数尺度セットの選択は使用されているアニメーションループの速度に依存し、0.03という対数尺度は満足すべき移動を生成するために使用されてきた。ボックス276のステップはボックス274からの切り取り長によってボックス272からのステップ長を切り取り、それにより、切り取られたステップ長はステップ長と切り取り長の短い方の長さとなる。length.【0086】ボックス280のステップは、切り取られたステップ長が、ビューポイントから古い中心位置へのx−z平面における距離よりも短いかどうか、見積もられた半径よりも長いかどうかを決定するために試験をする。あれば、切り取られたステップ長による対象の移動は衝突には導かれず、またビューポイントはオーバーシュートしない。282のステップはベクトル減算を行うことによって径方向の位置を生成する。252からの新たな光線の方向であるベクトルを減算する。subtract.新たな光線の方向はビューポイントから古い中心位置への古い光線方向とほぼ同じであるため、このステップの効果はビューポイントから古い位置を通る光線にほぼ沿ってビューポイントに向かう方向に移動することである。上述のように、このことは古い光線の方向の計算を回避する。light.【0087】もしボックス280のステップが切り取られたステップ長が衝突やオーバーシュートに導くことを決定すれば、径方向の位置は、ボックス284に示されているように、ボックス250からの古い中心位置である。同様に、もしキーが指示するのがビューポイントから離れる方向の移動でもビューポイントに向かう方向の移動でもなければ、ボックス290のステップは遠ざかる方向のカウントおよび向かう方向のカウントをクリアし、径方向の位置はボックス250からの古い中心位置である。250.【0088】新たな光線の方向および横方向表面は、対象の新たな位置を規定するのに充分であろう。したがって、ボックス292のステップは径方向の位置を用いて横方向の表面を見出す。gaze:DOG)のx軸およびy軸成分に直交する垂直面である。垂直面は、床および天井での切り取りを有する問題を回避するために用いられる。他の横方向の表面は、初期化の間になされた選択によって、画面のより大きい部分を占めているいずれかの垂直壁に平行な面のように用いられ得る。垂直面に向かう方向のx軸およびz軸の座標は凝視の方向を規定するベクトルのx軸およびz軸の座標であり、またy軸の座標はゼロである。原点から垂直面に到る距離Dは、凝視の方向を規定するベクトルのx軸およびz軸の座標をボックス266,282,284または290のいずれか適当な一つからの径方向の位置のx軸およびz軸の座標にそれぞれ掛けることによって得られた、凝視の方向上への径方向の位置の投影の長さである。gaze.【0089】それから、対象の新たな位置は、ボックス294によって、ボックス292からの垂直面と新たな光線との交点を見出すことによって見出される。対象の中心の新たな位置の座標はボックス296に戻る。本発明は、三次元作業域を提示する広範な各種のシステムにおいて実施することができよう。本発明は、複合した三次元作業域を提示しまたユーザーの適当な要求に応答して作業域の間の変移を作るシステムにおいて実行することができよう。一つまたはそれ以上の対象は、それらがビューポイントと共に移動しそして作業域間の変移に追従するようなやり方でビューポイントと結び付けられるかも知れない。変移が行われる時、ビューポイントと結び付けられた対象は以前の作業域に於ける対象のリストから除去され、新たな作業域の対象のリストに付け加えられるであろう。area.【0091】上述したように、本発明は、多数の深さのキューを与えるようなものだけでなくオーバーラップした対象や深さの知覚を生成するためのズーミングのような少数の深さのキューとなるようなものを含む各種の三次元作業域に適用できる。一般的に言えば、本発明は二次元作業域内の二次元対象の移動に適用できよう。二次元作業域における対象は漸近経路上のあるいは漸近経路で切り取られた加速経路上の目標対象に向かって移動することができよう。embodiments,修正及び変更も本発明の範囲内にある。drawings,特許請求の範囲によってのみ限定されるものである。三次元作業域内において知覚できる対象の概略図である。Aは図1に示した対象を含む提示された画像の概略図である。BはAの対象の移動させられた継続として知覚し得る対象を含む他の提示された画像の概略図である。対象の径方向および横方向移動を要求する信号に応答して一連の画像を提示する概略ステップを示すフローチャートである。横方向および径方向移動における対象位置を示す平面図である。横方向および径方向移動の要求に応答する新たな位置での対象を提示する概略ステップを示すフローチャートである。対象移動を提供するシステムの部品を示すブロック図である。対象移動を提供するアニメーション・ループのステップを示すフローチャートである。対象の位置を見出して対象を再描画するためのステップを示すフローチャートである。対象の新たな位置を見出すための詳細なステップを示すフローチャートである。力手段から第1の移動要求信号を受信する;その第1の移動要求信号は第1の対象の第1の径方向移動および第1対象の第1の横方向移動を要求するものである;そして第1の移動要求信号に応答して、ディスプレイ上に第2の画像を提示する;その第2の画像は三次元作業域内の第2の位置で第1の対象の移動された継続として知覚し得る第2の対象を含む;第2の位置は第1の径方向移動により径方向に、および第1の横方向移動により横方向に、第1の位置から変位されたものとして知覚し得る。areaみ、各後続ステップのそれぞれの対象はそれぞれの対象の継続として知覚し得るものであり、それぞれの位置は三次元作業域内で目的位置に向かう漸近経路を規定する。