[go: up one dir, main page]

JP2004362408A - 3次元データ表示操作装置 - Google Patents

3次元データ表示操作装置 Download PDF

Info

Publication number
JP2004362408A
JP2004362408A JP2003162067A JP2003162067A JP2004362408A JP 2004362408 A JP2004362408 A JP 2004362408A JP 2003162067 A JP2003162067 A JP 2003162067A JP 2003162067 A JP2003162067 A JP 2003162067A JP 2004362408 A JP2004362408 A JP 2004362408A
Authority
JP
Japan
Prior art keywords
model
data
pressure
virtual space
sensor
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
Application number
JP2003162067A
Other languages
English (en)
Inventor
Yoshinori Shindo
好伯 新藤
Hiromi Bessho
ひろみ 別所
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2003162067A priority Critical patent/JP2004362408A/ja
Publication of JP2004362408A publication Critical patent/JP2004362408A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】3次元仮想空間の情景(シーン)を表示するための3次元データ表示操作装置において、モデルの変形が容易で、モデリングや視点条件変更をより直感的で現実に近い操作感覚で行うことができるようにする。
【解決手段】ポインティングデバイスを用いた圧力分布検出装置108により圧力分布検出を行い、3次元仮想空間の構成要素(物体、光源、視点等)に基づいて該3次元仮想空間の情景を示す2次元画像を演算装置104で生成する。そして、上記圧力分布検出装置108の圧力検出位置に応じて上記3次元仮想空間における構成要素を制御装置101により制御する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、特に圧力分布検出が可能な立体的なポインティングデバイスを持つ3次元データ表示操作装置に関するものである。
【0002】
【従来の技術】
従来より、3次元コンピュータグラフィックス(3D−CG)システムで用いられるモデルデータ、特に形状データを作成するためのモデリング作業においては、球、立方体、円錐、あるいは数式で表現される曲面(B−spline関数で表現されるB−spline曲面等)などの形状プリミティブ(原始形状)を画面上に表示させた状態で、マウス等のポインティングデバイスで上記形状プリミティブ内部の頂点あるいはポリゴン(多角形)に対し移動、回転等の操作を加えることにより変形し、希望の形状のモデルデータを得ている。
【0003】
ここで、上記のマウス等のポインティングデバイスは、画面上で座標(通常は単一の座標)を指し示し、それによってさまざまな操作を行うための入力装置の総称であり、物理的なデバイスの平面的(2次元的)な移動を、画面上のポインタの移動に反映させて、画面上の図形を回転させたり、画面上に表示されている機能を選択したりするのに用いられる。一般的には、マウス、トラックボール、タッチペン、タブレット、タッチパネル、ジョイスティック等のような装置を指す。
【0004】
一方、デバイスの平面的な移動による入力を改善し、より実際の3次元空間に近づけた入力装置として、米国Labtec社製のSpaceballというものがある。この入力装置は、球状の立体的な形状を持ち、力のかかる方向を検出するものである。したがって、仮想空間上に既に構築されたモデルデータ、視点、及び光源などの構成要素の回転や移動に関しては優れたユーザインターフェイスを提供できるが、モデリング作業そのものに関しては通常のポインティングデバイスとさほど変わらない。むしろその特徴を生かして、マウスなどの他のポインティングデバイスと併用することによって、モデリング作業効率を上げていることが多い。
【0005】
また、磁気センサ方式の3Dマウスや、カメラの撮像画像を利用した3次元形状入力装置を用いて実世界に存在する物体の形状を3D−CGシステムに入力し、基準モデルデータとして利用する場合もある。更に、指関節曲がりセンサを内蔵したデータグローブ(例えば米国VirtualTecnology社製のCyberGlobe)のような特殊な入力デバイスを用いて、各種基準モデルデータを変形しながらモデリング作業を行うこともある。
【0006】
また、3次元画像モデリングの技術を開示するものとして、以下、特許文献1及び2に示すものがある。
【0007】
【特許文献1】
特開平7−49965号公報
【特許文献2】
特開平6−176166号公報
【0008】
【発明が解決しようとする課題】
しかしながら、上記のような従来の3D−CGシステムにおけるマウス等のポインティングデバイスを用いたモデリングの操作は、直感的に行えるとはいえなかった。その要因としては、次のようなことが挙げられる。
【0009】
(1)多くのポインティングデバイスでは、変形等の操作は直感的には行えない。
【0010】
(2)モデルの所定部分に対し変形等の操作を加える場合、多数の操作ステップを必要とする場合がある。例えば、モデルの見えていない部分を変形する場合、その変形対象部分となる頂点やポリゴン(多角形)を選択し、その選択頂点に対し引き出すかあるいは押し込むといった操作を加えるモードを選択し、マウスの場合であればドラッグした距離でその変化量を算出して変形する、といった一連の操作が必要となる。
【0011】
(3)どのモデルの変形操作にも常に一定の変化量計算だと、実際の物体を操作しているという現実感に乏しい。
【0012】
(4)モデルの変形操作時の操作量とモデルへの作用量との関係が一定の変化量計算であると、操作する人によっては使いづらかったりする。
【0013】
(5)モデルの変形操作に圧力センサを使用する場合、圧力センサにはその表面にセンサ保護の目的でフィルムやシリコンゴムなどが装着されることがあるが、使用回数が増加するにつれてそれらの材料が劣化したり傷ついたりして交換する場合があり、このような材質の変化により操作感覚が変化してしまう。
【0014】
そして、上記のような問題により、3D−CGシステムの熟練者でない一般操作者は、自分のイメージ通りにモデルを変形することが困難であったり、モデリング作業に多くの時間を費やさなければならなかった。また、実際に対象物を操作しているという現実感に乏しく、なじみにくいという問題があった。
【0015】
また、操作者ごとに異なる操作感覚に対応できず、人によっては操作しにくい場合が発生するという問題があった。更に、モデルの変形操作に圧力センサを使用する場合に、表面に装着されている保護シートの材質変化により操作感覚が変化してしまうという問題があった。
【0016】
本発明は、上記のような問題点に鑑みてなされたもので、モデルの変形が容易で、モデリングや視点条件変更をより直感的で現実に近い操作感覚で行うことができる3次元データ表示操作装置を提供することを目的としている。
【0017】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る3次元データ表示操作装置は、次のように構成した。
【0018】
(1)3次元仮想空間の情景を表示するための表示操作装置であって、ポインティングデバイスにより圧力分布検出を行う圧力分布検出装置と、前記3次元仮想空間の構成要素に基づいて該3次元仮想空間の情景を示す2次元画像を生成する画像生成装置と、前記圧力分布検出装置の圧力検出位置に応じて前記3次元仮想空間における構成要素を制御する制御装置とを有するようにした。
【0019】
また、上記(1)の構成を基に、次のように構成するようにしても良い。
【0020】
(2)3次元仮想空間の構成要素である物体の実際の硬さを示す硬度情報を与える入力手段を持ち、その硬度に応じて操作時の押圧と物体に加えられる力の関係を補正する作用力補正手段を持つようにする。
【0021】
(3)圧力分布検出装置へ加えられる圧力の範囲を測定する圧力範囲測定装置を持ち、その圧力測定範囲に応じて操作時の押圧と物体に加えられる力の関係を補正する作用力補正手段を持つようにする。
【0022】
【発明の実施の形態】
〔第1の実施例〕
図1は本発明の第1の実施例の構成を示すブロック図であり、圧力分布検出が可能な立体的なポインティングデバイスを持つ3次元データ表示操作装置のシステム構成を示している。
【0023】
同図において、101は全体を制御する制御装置である。102は操作対象である物体のモデルデータ、硬度データ、視点条件等の初期値などの入力や、画像生成処理の開始、終了等を指示するコマンド入力を行うためのデータ/コマンド入力装置であり、例えばキーボードやマウスが用いられる。
【0024】
103はモデル、視点、光源のデータ等を格納するためのファイル装置であり、例えば不揮発性メモリやハードディスクなどが用いられる。104はモデル、視点、光源のデータを用いたレンダリング(画像生成)処理、及び各種変数の更新等を行う演算装置であり、3次元仮想空間の構成要素(物体、光源、視点等、)に基づいて該3次元仮想空間の情景(シーン)を示す2次元画像を生成する画像形成装置を構成している。
【0025】
105は装置の起動中に物体のモデルデータ、視点条件、照明条件等の各種データを格納するメモリ装置である。106は上記レンダリング後の画像のピクセル値を格納するビデオメモリ装置であり、ここに格納された画像データや各種情報は表示装置107、例えばCRT(Cathode Ray Tube: 陰極線管)モニタに表示される。
【0026】
108は圧力分布検出が可能なポインティングデバイスを用いた圧力分布検出装置であり、同時に複数点の圧力を検出できるセンサで構成される。例えば、圧力分布を測定するときに用いられるような圧力センサなどで、面(二次元)上の各位置の強度データを収集できるものを意味し、仮想空間に対する操作入力(モデルの移動/回転/変形、視点や光源の移動など)に使用する。
【0027】
109は圧力分布検出装置108で検出された情報を基に、モデル、視点、光源のデータなどに対してどのような操作を施しているのかを解析する操作解析装置である。110は作用力補正装置であり、入力された物体の硬度データに応じてモデルに作用する変化量を算出する。
【0028】
111は圧力分布検出装置108で検出された位置と強度情報に対して、表示装置107に表示するモデルデータ上のどの部分に対応し、作用力補正装置110で算出された変化量を基に、どの程度の強さなのかを算出する操作位置強度算出装置であり、モデル上に操作している位置を影のように表示するためのデータを生成する。
【0029】
そして、制御装置101は、上記データ/コマンド入力装置102、ファイル装置103、演算装置104、メモリ装置105、ビデオメモリ装置106、表示装置107、圧力分布検出装置108、操作解析装置109、作用力補正装置110、及び操作位置強度算出装置111を制御する。
【0030】
図2は本発明のシステムが利用される状況を示す概念図であり、以下この図に基づいて本発明の装置、システムの概要を説明する。
【0031】
図2において、201はコンピュータであり、画像表示のためのディスプレイ装置202、データ入力のためのキーボード203、コマンド入力のためのマウス204が接続されている。205はディスプレイ装置202に表示された表示モデルを示している。
【0032】
上記コンピュータ201は、データ転送用ケーブル群206を介してオペレータ207が操作する補助入力用タッチセンサ208と接続されている。また、オペレータ207の仮想空間に対する操作入力用の圧力分布検出装置として、4個のシート状圧力センサである右部センサ209a、左部センサ209b、上部センサ209c、及び下部センサ209dが補助入力用タッチセンサ208の上下左右に設置されている。
【0033】
本システムのコンピュータ201は、各センサ209a〜209dが出力する圧力分布データの受信処理、該入力データからの操作内容解析、解析された操作における仮想空間上のモデルや視点への反映、上記入力データからの仮想空間中の操作位置算出、ディスプレイ表示用画像の生成処理、その他オペレータ207からのデータ入力やコマンド入力の処理を実行する。
【0034】
そして、システムのオペレータ207がマウス204を使って画像表示システムを起動すると、コンピュータ201は、まず編集対象のモデル(例えば形状プリミティブとしての円錐)のデータを読み込む。次にオペレータ207は、キーボード203を用い、実際の物体の硬度、空間に設定する領域関連の初期値を入力する。本実施例では硬度の値を10段階で表現している。
【0035】
上記初期値の入力後、ディスプレイ装置202上に上記モデルが表示され、各センサ209a〜209dによるモデル編集が可能な状態となる。ここで、システムのオペレータ207は、各センサ209a〜209dに触れると、その圧力分布情報はRS−232C等のシリアル転送によりコンピュータ201に送られる。そして、コンピュータ201は、各センサ209a〜209dからの位置情報に基づいて操作内容を解析し、適切にモデルの頂点座標の変更あるいはモデルの回転などを行う。また、各センサ上の接触位置に対応するモデル上の位置を算出する。
【0036】
次にコンピュータ201は、視点とモデルの各データ、及び算出されたモデル上での接触位置と強度に基づいて、3次元仮想空間の情景を示す2次元画像を生成し、ディスプレイ装置202に表示させる。そして、オペレータ207がマウス204によりシステム終了のコマンドを送ると、コンピュータ201は、編集後のモデルデータをファイルへ書き出した後、システム動作を終了する。
【0037】
以上により、システムのオペレータ207は、補助入力用タッチセンサ208の上下左右に設置した4つのセンサ209a〜209dを用いて、より直感的な操作により、モデルの変形や回転を実行することが可能となる。
【0038】
なお、本実施例で使用した補助入力用タッチセンサ208は、マウス204と同等の働きをするもので、センサ209a〜209dの近辺に設置することによって、操作効率を向上させることができる。
【0039】
次に、上述の画像表示処理、(4個のシート上圧力センサを補助入力用タッチセンサ208の上下左右に配置した3次元画像表示システムの処理)の概要をデータの流れに従って説明する。図3は本実施例の制御処理を示すフローチャートであり、このフローチャートに示す制御処理は、図1の制御装置101により予め記憶されたプログラムに従って実行されるものである。
【0040】
ただし、ここで用いる圧力センサは、縦N個×横N個のセンシングポイントを有し、各センシングポイントの圧力データは、(px,py,pf)のように表されるものとする。この内、px,pyはセンシングポイントの位置を示す要素であり、各々1からNまでの範囲の整数であるとする。また、pfはセンシングポイントにかかる圧力の大きさを示す要素であり、0からPMAXの範囲の整数であるものとする(0とPMAXはそれぞれ、圧力なし、及び測定圧力の最大値を意味するものとする)。
【0041】
(ステップS1の説明)
画像表示処理が開始されると、まず、制御装置101の命令により、ファイル装置103内のモデルデータファイルから、例えば適切な頂点密度の円錐形モデルの形状データをメモリ装置105へ読み込む。
【0042】
ただし、円錐状モデルの形状データは頂点データ(vxi,vyi,yzi)(i=0,……,n Vertices(=頂点数))とポリゴン(多角形)データで構成されるものであり、例えば図4に示すような立方体の簡単な立体のモデルデータ(形状データ)は、図5に示すような座標データとポリゴンデータで表現される。図4のモデリング座標系は、x軸,y軸,z軸の直交座標系を示している。
【0043】
また、本実施例では簡単のため、読み込まれた円錐状モデルは、図6に示すように、3次元仮想空間301の座標系であるワールド座標系302の原点に、後述の仮想立方体に包含されるように適切に正規化されて設定されるものとする。
【0044】
図6中、303は円錐状のモデル、304は仮想立方体、305は視点、306は視点の向き、307は投影面、308は投影面307に投影されたモデルを示している。
【0045】
(ステップS2の説明)
ここでは実際の物体の硬度情報と、3次元仮想空間に設定する仮想立方体関連の各種初期値の入力を行う。
【0046】
すなわち、制御装置101の命令により、データ/コマンド入力装置102であるキーボードはデータ入力待ち状態となる。ここでシステムのオペレータ207は、想定している実際の物体の硬度を10段階の中から選択し、3次元仮想空間301における仮想立方体304の一辺の長さaと位置(wx,wy,wz)を、例えば次のように入力する。
a=2.0
wx=0.0,wy=0.0,wz=0.0(=原点)
ただし、仮想立方体304は、圧力センサの検出位置に対応する3次元仮想空間内座標を計算するための基準となる領域であり、空間においてモデルを包含するように、かつ不可視の状態で設定されるものとする。
【0047】
ここで制御装置101は、入力された硬度データに対応した操作入力圧力(押圧)に対するモデル303への作用力を表現した作用力テーブルをファイル装置103からメモリ装置105へコピーする。本実施例では、10段階のテーブルデータを事前に生成しておきファイル装置103に格納しておいたが、硬度入力の都度生成する手法を用いてもかまわない。なお、作用力テーブルデータの生成方法に関しては後述する。
【0048】
(ステップS3の説明)
ここでは、圧力センサ上の座標と仮想立方体上の座標の対応づけを行うための座標マッピングテーブルを作成する。
【0049】
すなわち、制御装置101の命令により演算装置104は、上下左右の4つの圧力センサの各センシングポイント(圧力量は任意(*)としてある)
PDr(pxr_k,pyr_k,*)(k=0,……,N*N)(面AEHD上)
PDl(pxl_k,pyl_k,*)(k=0,……,N*N)(面CGFB上)
PDu(pxu_k,pyu_k,*)(k=0,……,N*N)(面ADCB上)
PDd(pxd_k,pyd_k,*)(k=0,……,N*N)(面FGHE上)
に対応する、仮想立方体304の各面における適切な対応点
PDr’(a/2.0,pyr’_k,pzr’_k)(k=0,……,N*N)(面A’E’H’D’上)
PDl’(−a/2.0,pyl’_k,pzr’_k)(k=0,……,N*N)(面C’G’F’B’上)
PDu’(pxu’_k,a/2.0,pzr’_k)(k=0,……,N*N)(面A’D’C’B’上)
PDd’(pxr’_k,−a/2.0,pzr’_k)(k=0,……,N*N)(面F’G’H’E’上)
を計算し、相互参照できるようなマッピングテーブルTr,Tl,Tu,Tdを作成する。
【0050】
例えば、PDr(pxr_k,pyr_k,*)(k=0,……,N*N)とPDr’(a/2.0,pyr’_k,pzr’_k)(k=0,……,N*N)との対応を示す座標マッピングテーブルTrは、図9のように作成される。この作成された4個の座標マッピングテーブル、はメモリ装置105に格納される。
【0051】
ここで、図7の(a)、(b)、(c)、(d)に仮想立方体304の各面側から見た円錐状のモデル303の様子を示す。図中、401は右側から見たモデル303の占有領域、402は右部センサ209aにおける加圧領域の対応領域、403は右部センサ209aの加圧領域の重心点Grの対応点、404は左側から見たモデル303の占有領域、405は左部センサ209bにおける加圧領域の対応領域、406は左部センサ209bの加圧領域の重心点Glの対応点、407は上側から見たモデル303の占有領域、408は上部センサ209cにおける加圧領域の対応領域、409は上部センサ209cの加圧領域の重心点Guの対応点、410は下側から見たモデル303の占有領域、411は下部センサ209dにおける加圧領域の対応領域、412は下部センサ209dの加圧領域の重心点Gdの対応点をそれぞれ示している。
【0052】
また、図8の(a)、(b)、(c)、(d)に各圧力分布センサが検出する圧力分布情報を示す。図中、501は右部センサ(センサ209a)、502は補助入力用タッチセンサ面(タッチセンサ208の面)、503は右部センサ501における加圧領域、504は加圧領域の重心点Gr’、505は左部センサ(センサ209b)、506は補助入力用タッチセンサ面(タッチセンサ208の面)、507は左部センサ505における加圧領域、508は加圧領域の重心点Gl’、509は上部センサ(センサ209c)、510は補助入力用タッチセンサ面(タッチセンサ208の面)、511は上部センサ509における加圧領域、512は加圧領域の重心点Gu’、513は下部センサ(センサ209d)、514は補助入力用タッチセンサ面(タッチセンサ208の面)、515は下部センサ513における加圧領域、516は加圧領域の重心点Gd’をそれぞれ示す。
【0053】
(ステップS4の説明)
ここでは、オペレータ207による右部センサ209aへの入力の有無を判断する(図8の(a)参照)。
【0054】
すなわち、制御装置101の命令により演算装置104は、受信した右部圧力センサの圧力分布情報PDr(pxr−k,pyr−k,pfr−k)(k=0,……,N*N)において、加圧領域503(図8の(a)参照)が存在する場合(ゼロより大きいpfr−kが少なくとも1つある場合)はステップS5へ、全く存在しない場合はステップS8へ進む。
【0055】
(ステップS5の説明)
ここでは、圧力分布PDr(pxr−k,pyr−k,pfr−k)(k=0,……,N*N)の重心Gr(grx,gry,grf)の仮想立方体上での対応点による分岐を行う。
【0056】
すなわちまず、制御装置101の命令により操作解析装置109は、PDr(pxr−k,pyr−k,pfr−k)(k=0,……,N*N)の重心Gr(grx,gry,grf)を以下の計算式で求める。
【0057】
Figure 2004362408
次に、右部センサの矩形領域AEHDから、3次元仮想空間内の仮想立方体の右側面A’E’H’D’への写像を考え、重心Gr(grx,gry,grf)(ただしgrfは圧力量なのでこの場合は無視される)のA’E’H’D’内における写像位置Gr’(a/2.0,gyr’,gzr’)を求める(図7の(a)の占有領域401)。次に、面A’E’H’D’側から見たときに(図7の(a)参照)、このGr’がモデルの占有領域(図7の(a)の占有領域403)に内包されるか否かに応じて、操作解析装置109が操作(変形/回転)を判断して制御装置101へその結果を返し、それぞれステップS6とS7へ進む。
【0058】
(ステップS6の説明)
ここでは、モデルの変形を実行する。
【0059】
すなわち、制御装置101の命令により操作位置強度算出装置111は、PDr_k’(a/2.0,pyr’_k,pzr’_k)(k=0,……,N*N)の中で面A’E’H’D’側から見たモデルの占有領域に含まれる各内包点を抽出する。そして、モデルの頂点座標の中で各内包点から最も近いものを(ただし距離はYZ座標系で計算したもの)、Δd*pfr_kn分、x軸負方向へ移動させる。ただしpfr_knは、マッピングテーブルTrを用いて参照した、該内包点に対応するセンシングポイントPDr_k(pxr_k,pyr_k,pfr_k)の3番目の要素(圧力量)に対応する作用力テーブルの値である。
【0060】
上記変更後の頂点データ、はメモリ装置105にモデルデータとして格納される。その後、ステップS8へ進む。
【0061】
(ステップS7の説明)
ここでは、モデルの回転を実行する。
【0062】
すなわち、制御装置101の命令により演算装置104は、ステップS5のGrに基づいて、モデルを構成する各頂点(vxi,vyi,yzi)(i=0,……,n Vertices)を、y軸周りに次のように回転させる。
gzr’>=0の場合→y軸正方向を基準として反時計周りにΔθ回転
gzr’<0の場合→y軸正方向を基準として時計周りにΔθ回転
上記変更後の頂点データは、メモリ装置106にモデルデータとして格納される。
【0063】
(ステップS8の説明)
ここでは、オペレータによる左部センサへの入力の有無を判断する(図8の(b)参照)。
【0064】
すなわち、制御装置101の命令により演算装置104は、受信した左部センサの圧力分布情報PDl(pxl−k,pxl−k,pflr−k)(k=0,……,N*N)において、加圧領域(図8の(b)の加圧領域507)が存在する場合(ゼロより大きいpfl−kが少なくとも1つある場合)はステップS9へ、全く存在しない場合はステップS12分岐する。
【0065】
(ステップS9の説明)
ここでは、圧力分布PDl(pxl−k,pyl−k,pfl−k)(k=0,……,N*N)の重心Gl(gx,gy,gf)の仮想立方体上での対応点による分岐を行う。
【0066】
すなわちまず、制御装置101の命令により操作解析装置109は、PDl(pxl−k,pyl−k,pfl−k)(k=0,……,N*N)の重心Gl(glx,gly,glf)を以下の計算式で求める。
【0067】
Figure 2004362408
次に、左部センサの矩形領域CFEBから、3次元仮想空間内の仮想立方体の左側面C’F’E’B’への写像を考え、重心Gl(glx,gly,glf)(ただしglfは圧力量なのでこの場合は無視される)のC’F’E’B’内における写像位置Gl’(‐a/2.0,gyl’,gzl’)を求める(図7の(b)の占有領域404)。次に、面C’F’E’B’側から見たときに(図7の(b)参照)、このGl’がモデルの占有領域(図7の(b)の占有領域405)に内包されるか否かに応じて、操作解析装置109が操作(変形/回転)を判断して制御装置101へその結果を返し、それぞれステップS10とS11へ進む。
【0068】
(ステップS10の説明)
ここでは、モデルの変形を実行する。
【0069】
すなわち、制御装置101の命令により操作位置強度算出装置111は、PDl_k’(−a/2.0,pyl’_k,pzl’_k)(k=0,……,N*N)の中で面C’F’E’B’側から見たモデルの占有領域に含まれる各内包点を抽出する。そして、モデルの頂点座標の中で各内包点から最も近いもの(ただし距離はYZ座標系で計算したもの)を、Δd*pfl_kn分、x軸正方向へ移動させる。ただしpfl_knは、マッピングテーブルTlを用いて参照した、該内包点に対応するセンシングポイントPDl_k(pxl_k,pyl_k,pfl_k)の3番目の要素(圧力量)に対応する作用力テーブルの値である。
【0070】
上記変更後の頂点データは、メモリ装置105にモデルデータとして格納される。その後、ステップS12へ進む。
【0071】
(ステップS11の説明)
ここでは、モデルの回転を実行する。
【0072】
すなわち、制御装置101の命令により演算装置104は、ステップS8のGlに基づいて、モデルを構成する各頂点(vxi,vyi,yzi)(i=0,……,nVertices)を、y軸周りに次のように回転させる。
gzl’>=0の場合→y軸正方向を基準として時計周りにΔθ回転
gzl’<0の場合→y軸正方向を基準として反時計周りにΔθ回転
上記変更後の頂点データは、メモリ装置105にモデルデータとして格納される。
【0073】
(ステップS12の説明)
ここでは、オペレータによる上部センサへの入力の有無を判断する(図7の(c)参照)。
【0074】
すなわち、制御装置101の命令により演算装置104は、受信した上部センサの圧力分布情報PDu(pxu−k,pxu−k,pfu−k)(k=0,……,N*N)において、加圧領域(図8の(c)の加圧領域511)が存在する場合(ゼロより大きいpfu−kが少なくとも1つある場合)はステップS13へ、全く存在しない場合はステップS17へ進む。
【0075】
(ステップS13の説明)
ここでは、上部圧力分布PDu(pxu−k,pyu−k,pfu−k)(k=0,……,N*N)の重心Gu(gux,guy,guf)の仮想立方体上での対応点による分岐を行う。
【0076】
すなわちまず、制御装置101の命令により操作解析装置109は、PDu(pxu−k,pyu−k,pfu−k)(k=0,……,N*N)の重心Gu(gux,guy,guf)を以下の計算式で求める。
【0077】
Figure 2004362408
次に、上部センサの矩形領域ADCBから、3次元仮想空間内の仮想立方体の上側面A’D’C’B’への写像を考え、重心Gu(gux, guy, guf)(ただしgufは圧力量なのでこの場合は無視される)のA’D’C’B’内における対応位置Gu’(gxu’,a/2.0,gzu’)を求める(図7の(c)参照)。次に、面A’D’C’B’側から見たときに(図7の(c)参照)、このGu’がモデルの占有領域(図7の(c)の占有領域408)に内包されるか否かに応じて、操作解析装置109が操作(変形/回転)を判断して制御装置101へその結果を返し、それぞれステップS14とS15へ進む。
【0078】
(ステップS14の説明)
ここでは、モデルの変形を実行する。
【0079】
すなわち、制御装置101の命令により操作位置強度算出装置111は、PDu_k’(pxu’_k,a/2.0,pzu’_k)(k=0,……,N*N)の中で面A’D’C’B’側から見たモデルの占有領域に含まれる各内包点を抽出する。そしてモデルの頂点座標の中で各内包点から最も近いもの(ただし距離はXZ座標系で計算したもの)を、Δd*pfu_kn分、y軸負方向へ移動させる。ただしpfu_knは、マッピングテーブルTuを用いて参照した、該内包点に対応するセンシングポイントPDu_k(pxu_k,pyu_k,pfu_k)の3番目の要素(圧力量)に対応する作用力テーブルの値である。
【0080】
上記変更後の頂点データは、メモリ装置105にモデルデータとして格納される。その後、ステップS16へ進む。
【0081】
(ステップS15の説明)
ここでは、モデルの回転を実行する。
【0082】
すなわち、制御装置101の命令により演算装置104は、ステップS8のGuに基づいて、モデルを構成する各頂点(vxi,vyi,yzi)(i=0,……,nVertices)を、z軸周りに以下のように回転させる。
szu’>=0の場合→x軸正方向を基準として時計周りにΔθ回転
szu’<0の場合→x軸正方向を基準として反時計周りにΔθ回転
上記変更後の頂点データは、メモリ装置105にモデルデータとして格納される。
【0083】
(ステップS16の説明)
ここでは、オペレータによる下部センサへの入力の有無を判断する(図8の(d)参照)。
【0084】
すなわち、制御装置101の命令により演算装置104は、受信した下部センサの圧力分布情報PDd(pxd−k,pxd−k,pfd−k)(k=0,……,N*N)において、加圧領域(図8の(d)の加圧領域515)が存在する場合(ゼロより大きいpfd−kが少なくとも1つある場合)はステップS17へ、全く存在しない場合はステップS20へ進む。
【0085】
(ステップS17の説明)
ここでは、下部圧力分布PDd(pxd−k,pyd−k,pfd−k)(k=0,……,N*N)の重心Gd(gdx,gdy,gdf)の仮想立方体上での対応点による分岐を行う。
【0086】
すなわちまず、制御装置101の命令により操作解析装置109は、PDd(pxd−k,pyd−k,pfd−k)(k=0,……,N*N)の重心Gd(gdx,gdy,gdf)を以下の計算式で求める。
【0087】
Figure 2004362408
次に、下部センサの矩形領域EFGHから、3次元仮想空間内の仮想立方体の下側面E’F’G’H’への写像を考え、重心Gd(gdx,gdy,gdf)(ただしgdfは圧力量なのでこの場合は無視される)のE’F’G’H’内における対応位置Gd’(gxd’,−a/2.0,gzd’)を求める(図7の(c)参照)。次に、面E’F’G’H’側から見たときに(図7(d))、このGd’がモデルの占有領域(図7の(d)参照)に内包されるか否かに応じて、操作解析装置109が操作(変形/回転)を判断して制御装置101へその結果を返し、それぞれステップS18とS19へ進む。
【0088】
(ステップS18の説明)
ここでは、モデルの変形を実行する。
【0089】
すなわち、制御装置101の命令により操作位置強度算出装置111は、PDd_k’(pxd’_k,−a/2.0,pzd’_k)(k=0,……,N*N)の中で面E’F’G’H’側から見たモデルの占有領域に含まれる各内包点を抽出する。そしてモデルの頂点座標の中で各内包点から最も近いもの(ただし距離はXZ座標系で計算したもの)を、Δd*pfd_kn分、y軸正方向へ移動させる。ただしpfd_knは、マッピングテーブルTdを用いて参照した、該内包点に対応するセンシングポイントPDd_k(pxd_k,pyd_k,pfd_k)の要素に対応する作用力テーブルの値である。
【0090】
上記変更後の頂点データは、メモリ装置105にモデルデータとして格納される。
【0091】
(ステップS19の説明)
ここでは、モデルの回転を実行する。
【0092】
すなわち、制御装置101の命令により演算装置104は、ステップS16のGuに基づいて、モデルを構成する各頂点(vxi,vyi,yzi)(i=0,……, nVertices)を、z軸周りに以下のように回転させる。
szd’>=0の場合→x軸正方向を基準として反時計周りにΔθ回転
szd’<0の場合→x軸正方向を基準として時計周りにΔθ回転
上記変更後の頂点データは、メモリ装置105にモデルデータとして格納される。
【0093】
(ステップS20の説明)
ここでは、画像の生成と表示を行う。
【0094】
すなわち、制御装置101の命令により演算装置104は、メモリ装置105におけるモデルの頂点データとポリゴンデータに基づいて、モデルを投影面(空間内の視点の前方に適切に設定される)に投影することで、空間内の視点から見たシーン(情景)の各画素値を計算(レンダリング)することで生成画像を得る。
【0095】
このようにして得られた画像データをビデオメモリ装置106に格納する。ビデオメモリ装置106に格納された画像は、そのまま表示装置107へ出力されて表示が実行される。
【0096】
ただし、本ステップで用いられる3D−CGにおけるレンダリング処理の詳細については公知の事実であるとして、ここでは説明を省略する。
【0097】
(ステップS21の説明)
画像表示処理ループの最後で、制御装置101はデータ/コマンド入力装置102からの画像表示処理終了の指示の有無を判断し、もしあればステップS22へ進み、なければステップS4に戻る。
【0098】
(ステップS22の説明)
制御装置101はメモリ装置105における編集済みモデルデータをファイル装置103へ保存した後、システム全体の処理を終了する。
【0099】
次に、作用力テーブルデータ生成方法に関して、図10、図11、図12を用いて説明する。
【0100】
図10は作用力と押圧の関係を示す図であり、操作者の押圧を0〜100で、対するモデルへの作用力を0〜100で表現している。また、硬度1〜10を「柔らかい」から「硬い」とした場合の硬度1、6、10を例に挙げてある。
【0101】
硬度が柔らかいほど作用力が働く押圧レンジが大きく、硬いほど操作時に押圧を強くかけないと作用力が働かないようなデータを生成する。この方法は、本実施例においては図11に示すようなテーブルデータになる。図11は硬度6の場合の押圧と作用力のデータを示したものである。
【0102】
なお、本実施例では押圧と作用力の関係を直線的な変化に設定したが、図12に示すように曲線的に設定しても良い。
【0103】
また、硬い物体ほど形状変化させるためには操作の力を加えなければならないという感覚が操作者に伝わるような設定方法であれば、本実施例の方法以外を用いても似た効果が期待できる。
【0104】
また、本実施例においては圧力センサを立方体の4面に貼り付けた形状のデバイスで説明したが、一面のみを用いて実現しても同様の効果が期待できる。
【0105】
このように、モデルの変形が容易で、モデリングや視点条件変更をより直感的で現実に近い操作感覚で行うことができる3次元データ表示操作装置を実現することができる。
【0106】
〔第2の実施例〕
図13は本発明の第2の実施例の構成を示すブロック図であり、図1と同一符号は同一構成要素を示している。図中、112は圧力分布検出装置108へ加えられる圧力の範囲を測定する操作圧力範囲測定装置であり、制御装置101により制御される。制御装置101は、圧力分布検出装置108の圧力検出位置に応じて3次元仮想空間における構成要素(物体、光源、視点等)を制御する。また操作位置強度算出装置111は、圧力分布検出装置108で検出された位置と強度情報に対して、表示装置107に表示するモデルデータ上のどの部分に対応し、作用力補正装置110で算出された変化量を基に、どの程度の強さなのかを算出する。
【0107】
図14は本実施例の制御処理を示すフローチャートであり、図3と同一ステップ(S)番号は同じ処理内容であるので、説明は省略する。
【0108】
(ステップS0の説明)
画像表示処理が開始されると、制御装置101はまず、図2に示す各圧力センサ(センサ209a〜209d)を初期化する。そして、ディスプレイ装置202上に、オペレータ207が圧力センサ面に加える押圧力を測定するための操作指示を表示する。
【0109】
本実施例では、各センサ209a〜209dの4面のどの面でも、あるいは同時に複数の面でも構わず、オペレータ207に5秒間強弱をつけて押したり離したりするように指示する。
【0110】
オペレータ207が操作している間、各センサ209a〜209dのデータはコンピュータ201へ通信回線(データ転送用ケーブル群206)を通じて転送され、メモリ装置105に格納される。コンピュータ201は、転送されてきた各センサ209a〜209dからのデータで有効なデータ(pf値が0より大きいデータ)が最初に到達したときにタイマをセットし、5秒間圧力データを入力する。そして、収集した有効データの最大値を算出し、測定終了の合図をディスプレイ装置202に表示する。オペレータ207は、ディスプレイ装置202に表示された終了の合図を見たら操作を終了する。
【0111】
本実施例では、5秒間の強弱をつけた圧力センサ面への加圧操作により押圧範囲を測定したが、操作者の押圧範囲が測定できるのであれば、この方法でなくても良い。
【0112】
次に、本実施例の作用力テーブルデータ生成方法に関して、図15、図16、図17、図18を用いて説明する。
【0113】
図15は本実施例の作用力と押圧力の関係を示す図であり、操作者の押圧を0〜100で、対するモデルへの作用力を0〜100で表現している。また、図の横軸は押圧を示していて、圧力センサがセンシングできる範囲(0〜PMAX)で表現されている。
【0114】
操作者は個人個人で圧力センサへの加圧時の力に差があるため、圧力センサで測定できる圧力範囲を全てカバーできるとは限らない。PMAXの圧力を加えることができる場合の押圧と作用力の関係は、図15中の点線で表すことができる。
【0115】
本実施例では、そこまで力のない人でも他の操作者と同じような感覚で操作できるように、操作者が実際に加圧できる最大値をf−maxとしたとき、押圧と作用力の関係は図15中の実線で表せるように設定する。このようにすることで、操作者の力の差による操作感覚の相違を緩和することができる。
【0116】
この方法は、本実施例においては図16に示すような作用力テーブルデータになる。
【0117】
なお、本実施例では押圧と作用力の関係を操作者の押圧範囲(最大値)を基に設定したが、操作者が違和感なく、無理せずに操作できるようにするために、他の設定方法を用いても良い。
【0118】
例えば、押圧範囲の設定時に測定したデータを図17に示すような押圧値ごとのヒストグラムを生成し、該ヒストグラムの中間(総データ数÷2)のデータが属している押圧値をf−midとし、この押圧値に対する作用力を丁度中間の50とすれば、押圧と作用力の関係は図18のように表現することができる。このように作用力テーブルを設定しても、同等の効果を得ることができる。
【0119】
以上、本発明の実施例について説明したが、本発明では次のような構成をとっている。
【0120】
(1)3次元仮想空間の情景を表示するための表示操作装置であって、ポインティングデバイスにより圧力分布検出を行う圧力分布検出装置と、前記3次元仮想空間の構成要素に基づいて該3次元仮想空間の情景を示す2次元画像を生成する画像生成装置と、前記圧力分布検出装置の圧力検出位置に応じて前記3次元仮想空間における構成要素を制御する制御装置とを有するようにした。
【0121】
このため、3D−CGシステムの熟練者でない一般操作者でも、より直感的な操作で、自分のイメージ通りのモデルを容易にかつ短時間で作成することが可能となる。
【0122】
また、上記(1)の構成を基に、次のように構成することも可能である。
【0123】
(2)3次元仮想空間の構成要素である物体の実際の硬さを示す硬度情報を与える入力手段を持ち、その硬度に応じて操作時の押圧と物体に加えられる力の関係を補正する作用力補正手段を持つようにする。
【0124】
(3)圧力分布検出装置へ加えられる圧力の範囲を測定する圧力範囲測定装置を持ち、その圧力測定範囲に応じて操作時の押圧と物体に加えられる力の関係を補正する作用力補正手段を持つようにする。
【0125】
このように構成することで、実際の物体の硬度データを基に、操作時の押圧とモデルに加わる作用力の関係を補正し、操作者ごとにより現実に近い操作感覚を与えることができる。
【0126】
すなわち、圧力分布検出が可能なポインティングデバイスが出力する圧力分布情報を、3次元仮想空間における特定方向からの操作として該3次元仮想空間の構成要素(物体、視点、光源等)に反映させることで、部分ごとに強弱をつけてのモデル変形の容易化、及びモデルの広範囲部分の一括変形を実現し、モデリングや視点条件変更をより直感的な操作で行うことが可能となり、また、想定する実際の物体の硬度情報に応じて変形量が変化することで、より現実に近い操作感覚を操作者に与えることが可能となる。
【0127】
また、生成画像の主物体上に、圧力分布検出装置で検出された圧力情報に対応した位置をその圧力に応じて投影描画することで、圧力分布検出装置の検出位置と強度を明確に確認できるようになり、モデリング作業や視点条件変更等の操作効率を向上させることができる。
【0128】
また、圧力センサ上に保護目的等のためにシート(フィルムやシリコンゴムなど)が張られていても、更にまた該シートの材質変化や異なるシートの張替えがあっても、同様な操作感覚で操作を行うことができる。
【0129】
【発明の効果】
以上説明したように、本発明によれば、モデリングや視点条件変更をより直感的な操作で行うことが可能となる。
【0130】
また、想定する実際の物体の硬度情報に応じて変形量が変化することで、より現実に近い操作感覚を操作者に与えることが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施例の構成を示すブロック図
【図2】本発明のシステムが利用される状況を示す概念図
【図3】第1の実施例の制御処理を示すフローチャート
【図4】モデリング座標系を示す図
【図5】モデルデータを構成する頂点データ及びポリゴンデータを示す図
【図6】3次元仮想空間における円錐状モデルの表現を示す説明図
【図7】仮想立方体の各面側から見た円錐状モデルの様子を示す図
【図8】各圧力分布センサが検出する圧力分布情報を示す図
【図9】実施例における座標マッピングテーブルの例を示す図
【図10】第1の実施例の作用力と押圧の関係を示す図
【図11】第1の実施例の作用力テーブルデータの例を示す図
【図12】第1の実施例の作用力と押圧の関係の他の例を示す図
【図13】本発明の第2の実施例の構成を示すブロック図
【図14】第2の実施例の制御処理を示すフローチャート
【図15】第2の実施例の作用力と押圧の関係を示す図
【図16】第2の実施例の作用力テーブルデータの例を示す図
【図17】第2の実施例の押圧ごとのヒストグラムを示す図
【図18】第2の実施例の作用力と押圧の関係の他の例を示す図
【符号の説明】
101 制御装置
102 データ/コマンド入力装置
103 ファイル装置
104 演算装置
105 メモリ装置
106 ビデオメモリ装置
107 表示装置
108 圧力分布検出装置
109 操作解析装置
110 作用力補正装置
111 操作位置強度算出装置
112 操作圧力範囲測定装置
201 コンピュータ
202 ディスプレイ装置
203 キーボード
204 マウス
205 表示モデル
206 データ転送用ケーブル群
207 オペレータ
208 補助入力用タッチセンサ
209a 右部センサ
209b 左部センサ
209c 上部センサ
209d 下部センサ

Claims (1)

  1. 3次元仮想空間の情景を表示するための表示操作装置であって、ポインティングデバイスにより圧力分布検出を行う圧力分布検出装置と、前記3次元仮想空間の構成要素に基づいて該3次元仮想空間の情景を示す2次元画像を生成する画像生成装置と、前記圧力分布検出装置の圧力検出位置に応じて前記3次元仮想空間における構成要素を制御する制御装置とを有することを特徴とする3次元データ表示操作装置。
JP2003162067A 2003-06-06 2003-06-06 3次元データ表示操作装置 Withdrawn JP2004362408A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003162067A JP2004362408A (ja) 2003-06-06 2003-06-06 3次元データ表示操作装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003162067A JP2004362408A (ja) 2003-06-06 2003-06-06 3次元データ表示操作装置

Publications (1)

Publication Number Publication Date
JP2004362408A true JP2004362408A (ja) 2004-12-24

Family

ID=34054315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003162067A Withdrawn JP2004362408A (ja) 2003-06-06 2003-06-06 3次元データ表示操作装置

Country Status (1)

Country Link
JP (1) JP2004362408A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100886721B1 (ko) 2007-04-30 2009-03-04 고려대학교 산학협력단 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체
US7880726B2 (en) 2004-10-12 2011-02-01 Nippon Telegraph And Telephone Corporation 3D pointing method, 3D display control method, 3D pointing device, 3D display control device, 3D pointing program, and 3D display control program
JP2012037420A (ja) * 2010-08-09 2012-02-23 Nippon Hoso Kyokai <Nhk> 表面硬さ計測装置、触力覚提示装置、表面硬さ計測プログラム、及び触力覚提示プログラム
JP2013254398A (ja) * 2012-06-08 2013-12-19 Univ Of Electro-Communications 携帯端末セット、携帯端末用ジャケット、携帯端末、情報処理システム、およびプログラム
CN104181871A (zh) * 2013-05-27 2014-12-03 万克林 环境智能控制系统
JP2017164902A (ja) * 2010-11-19 2017-09-21 ファナック アメリカ コーポレイション 3次元ロボットワークセルデータの表示システム、表示方法及び表示装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7880726B2 (en) 2004-10-12 2011-02-01 Nippon Telegraph And Telephone Corporation 3D pointing method, 3D display control method, 3D pointing device, 3D display control device, 3D pointing program, and 3D display control program
KR100886721B1 (ko) 2007-04-30 2009-03-04 고려대학교 산학협력단 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체
JP2012037420A (ja) * 2010-08-09 2012-02-23 Nippon Hoso Kyokai <Nhk> 表面硬さ計測装置、触力覚提示装置、表面硬さ計測プログラム、及び触力覚提示プログラム
JP2017164902A (ja) * 2010-11-19 2017-09-21 ファナック アメリカ コーポレイション 3次元ロボットワークセルデータの表示システム、表示方法及び表示装置
JP2019177477A (ja) * 2010-11-19 2019-10-17 ファナック アメリカ コーポレイション 3次元ロボットワークセルデータの表示システム、表示方法及び表示装置
US10475240B2 (en) 2010-11-19 2019-11-12 Fanuc Robotics America Corporation System, method, and apparatus to display three-dimensional robotic workcell data
DE102011117476B4 (de) 2010-11-19 2022-02-10 Fanuc Robotics America, Inc. System, Verfahren und Gerät zur Darstellung von dreidimensionalen Daten von Roboter-Arbeitszellen
JP2013254398A (ja) * 2012-06-08 2013-12-19 Univ Of Electro-Communications 携帯端末セット、携帯端末用ジャケット、携帯端末、情報処理システム、およびプログラム
CN104181871A (zh) * 2013-05-27 2014-12-03 万克林 环境智能控制系统

Similar Documents

Publication Publication Date Title
US7492362B2 (en) Virtual space rendering/display apparatus and virtual space rendering/display method
CN110825245B (zh) 具有广泛使用性的三维图形用户界面的系统及方法
JP4356983B2 (ja) 画像処理方法、画像処理装置
JP5244277B2 (ja) 3次元ヒューマンコンピュータインタフェース
JP4533087B2 (ja) 画像処理方法、画像処理装置
JP4229244B2 (ja) カーソル制御装置
US8917240B2 (en) Virtual desktop coordinate transformation
CN101536494B (zh) 用于基于姿势的控制系统的系统和方法
JP2002513480A (ja) 3dモデルを作成し且つ修正し且つこの様なモデルを2dピクチャと相関させる技術
JP2014182638A (ja) 表示制御装置、表示制御方法、コンピュータプログラム
JP3722994B2 (ja) 物体の接触感シミュレーション装置
JP2004362408A (ja) 3次元データ表示操作装置
Mine Exploiting proprioception in virtual-environment interaction
WO2001054110A1 (en) Vision-based human computer interface system
CN120491860A (zh) 设备交互方法、可穿戴设备、存储介质和程序产品
CN108227968B (zh) 光标控制方法和装置
EP2779116A2 (en) Smooth manipulation of three-dimensional objects
Liu et al. COMTIS: Customizable touchless interaction system for large screen visualization
Smith et al. Tech note: Digital foam
JP3361652B2 (ja) 立体図形配置入力方法及びグラフィックシステム
JP2005527872A (ja) 3次元コンピュータモデルと相互作用するための方法および装置
CN103869941A (zh) 具虚拟触控服务的电子装置及虚拟触控即时校正方法
Han et al. Ar pottery: Experiencing pottery making in the augmented space
CN112667087A (zh) 基于Unity的手势识别操作交互实现方法及系统
TWI878816B (zh) 作業支援系統以及方法

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: 20060905