JP2000047566A - 物体の毛並接触感シミュレーション装置 - Google Patents

物体の毛並接触感シミュレーション装置

Info

Publication number
JP2000047566A
JP2000047566A JP22545998A JP22545998A JP2000047566A JP 2000047566 A JP2000047566 A JP 2000047566A JP 22545998 A JP22545998 A JP 22545998A JP 22545998 A JP22545998 A JP 22545998A JP 2000047566 A JP2000047566 A JP 2000047566A
Authority
JP
Japan
Prior art keywords
fur
force
virtual object
vector
reaction force
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
JP22545998A
Other languages
English (en)
Other versions
JP3722993B2 (ja
Inventor
Moritaka Arai
盛孝 荒井
Teruaki Iinuma
輝明 飯沼
Masayuki Shimada
政行 島田
Yasuo Kubota
靖夫 久保田
Hideki Murota
秀樹 室田
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP22545998A priority Critical patent/JP3722993B2/ja
Publication of JP2000047566A publication Critical patent/JP2000047566A/ja
Application granted granted Critical
Publication of JP3722993B2 publication Critical patent/JP3722993B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Force Measurement Appropriate To Specific Purposes (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【課題】 物体表面の毛並に対する接触感を疑似的に体
験させる。 【解決手段】 多数の毛並ベクトルHからなる毛並テク
スチャTを定義し、仮想物体の表面にマッピングする。
オペレータの指に固定され任意方向に移動可能な作用部
上に作用点Pを定義し、この作用点Pの毛並テクスチャ
T上での移動ベクトルMsを認識する。移動ベクトルM
sと毛並ベクトルHとのなす角θ(0≦θ≦π)に応じ
て、θ=0のときに関数値が0で、θが大きくなるほど
値が大きくなる関数R(θ)を設定する。向きが移動ベ
クトルMsとは逆向きで、大きさが関数値R(θ)とな
るような毛並反力ベクトルを定義し、この毛並反力ベク
トルに応じた力を作用点Pに加えることにより、オペレ
ータの指に毛並に応じた反力を与える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は物体の接触感シミュ
レーション装置に関し、特に、物体表面の毛並の接触感
を疑似的に体験させることのできるシミュレーション装
置に関する。
【0002】
【従来の技術】コンピュータを利用したシミュレーショ
ンは、種々の分野で採り入れられており、特に近年で
は、コンピュータの画像処理機能の向上により、いわゆ
るバーチャル・リアリティーと呼ばれている仮想現実の
世界をディスプレイ画面上に表示するシミュレーション
装置が普及してきている。この種のシミュレーション装
置では、通常、オペレータは仮想の空間内を自由に移動
することができ、オペレータの移動に伴ってディスプレ
イの表示画面がリアルタイムで描き換えられてゆく。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
シミュレーション装置は、ディスプレイ上の映像などを
利用して、オペレータの視覚を通じて仮想の世界を提示
することに主眼が置かれており、オペレータの触覚を通
じて仮想の世界を提示する機能に乏しい。特に、絨毯や
カーペットの表面を触れたときの毛並の接触感を疑似的
に体験させることができるシミュレーション装置は、現
在のところ実用化に至っていない。
【0004】そこで本発明は、物体表面の毛並に対する
接触感を疑似的に体験させることができるシミュレーシ
ョン装置を提供することを目的とする。
【0005】
【課題を解決するための手段】(1) 本発明の第1の態
様は、方向性をもった毛並の情報が表面に付与された仮
想物体を定義し、この仮想物体に対する接触感を疑似的
に体験させるための物体の毛並接触感シミュレーション
装置において、仮想物体およびその表面に付与される毛
並の方向を定義するための情報を設定する物体情報設定
手段と、オペレータから加えられた力に基いて三次元の
任意方向に移動可能な作用点を有する作用部と、作用点
の三次元座標系上での位置を検出する位置検出部と、与
えられた力制御ベクトルに基いて作用点に加える力を発
生させる力発生部と、を有する力トランスデューサと、
位置検出部が時間差をもって検出した作用点の位置の情
報により作用点の移動方向を認識し、仮想物体の表面に
定義された毛並の方向と移動方向とのなす角度に基い
て、毛並に起因して生じる毛並反力を求め、この毛並反
力に基いて作用点に加えるべき制御力を示す力制御ベク
トルを求め、求めた力制御ベクトルを力トランスデュー
サへ与える制御を行う演算制御手段と、を設けるように
したものである。
【0006】(2) 本発明の第2の態様は、上述の第1
の態様に係る物体の毛並接触感シミュレーション装置に
おいて、演算制御手段が、位置検出部が検出した作用点
の位置と物体情報設定手段内の情報により定義された仮
想物体の位置とに基いて、作用点と仮想物体との相互位
置関係を認識し、作用点が仮想物体の内部にあると判断
された場合にのみ、毛並反力に基く制御力を与える処理
を行うようにしたものである。
【0007】(3) 本発明の第3の態様は、上述の第1
または第2の態様に係る物体の毛並接触感シミュレーシ
ョン装置において、演算制御手段が、毛並の方向と移動
方向とのなす角度θを0≦θ≦πの範囲で定義し、θが
大きくなればなるほど大きな毛並反力が得られるような
演算を行い、移動方向に抗する方向に毛並反力が作用す
るように、力制御ベクトルを求めるようにしたものであ
る。
【0008】(4) 本発明の第4の態様は、上述の第1
〜第3の態様に係る物体の毛並接触感シミュレーション
装置において、物体情報設定手段内に、仮想物体の形状
を示す形状データと、平面上にそれぞれ所定方向を向い
た多数の毛並ベクトルを定義してなる毛並テクスチャと
を用意し、演算制御手段が、仮想物体の表面に毛並テク
スチャをマッピングする処理を行い、作用点近傍にマッ
ピングされた毛並ベクトルを用いて毛並反力を求める演
算を行うようにしたものである。
【0009】(5) 本発明の第5の態様は、上述の第4
の態様に係る物体の毛並接触感シミュレーション装置に
おいて、仮想物体を定義するための情報として、仮想物
体の表面を二次元多角形の集合体として表現する形状デ
ータを設定し、作用点Pを最も近い二次元多角形α上に
投影して投影点Psを求め、作用点Pの三次元空間上で
の移動方向を示す移動ベクトルMを二次元多角形α上に
投影して平面移動ベクトルMsを求め、投影点Psの近
傍に定義されている毛並ベクトルHと平面移動ベクトル
Msとのなす角度θに基いて毛並反力の大きさを決定
し、移動ベクトルMsに対して逆方向を毛並反力の作用
する向きとするようにしたものである。
【0010】(6) 本発明の第6の態様は、上述の第4
または第5の態様に係る物体の毛並接触感シミュレーシ
ョン装置において、仮想物体の表面近傍に、複数の毛並
テクスチャを層構造をなすように重ねてマッピングし、
作用点に最も近い層にマッピングされた毛並テクスチャ
を用いて毛並反力を求める演算を行うようにしたもので
ある。
【0011】(7) 本発明の第7の態様は、上述の第1
〜第6の態様に係る物体の毛並接触感シミュレーション
装置において、作用点の移動速度が大きくなればなるほ
ど、毛並反力の大きさを大きく設定する演算を行うよう
にしたものである。
【0012】(8) 本発明の第8の態様は、上述の第1
〜第7の態様に係る物体の毛並接触感シミュレーション
装置において、演算制御手段が、仮想物体の表面と作用
点との距離dに基づいて定まる面反力Fsを演算する機
能を有し、この面反力Fsと毛並反力Fhとの合成力に
基いて作用点に加えるべき制御力を示す力制御ベクトル
を求めるようにしたものである。
【0013】(9) 本発明の第9の態様は、上述の第8
の態様に係る物体の毛並接触感シミュレーション装置に
おいて、仮想物体を定義するための情報として、仮想物
体の硬さを示すパラメータKを設定できるようにし、面
反力Fsの大きさを、パラメータKと距離dとの積(K
・d)に基いて決定するようにし、面反力Fsの向き
を、作用点近傍の仮想物体表面に立てた法線の向きとす
るようにしたものである。
【0014】(10) 本発明の第10の態様は、上述の第
1〜第9の態様に係る物体の毛並接触感シミュレーショ
ン装置において、仮想物体を表示するためのディスプレ
イと、物体情報設定手段内に設定された情報および位置
検出部が検出した作用点の位置の情報に基いて、ディス
プレイの画面上の所定の表示位置に仮想物体の形状およ
び作用点を描画する物体形状描画手段と、を更に設け、
オペレータに仮想物体の形状および位置ならびに作用点
の位置を提示できるようにしたものである。
【0015】(11) 本発明の第11の態様は、上述の第
1〜第10の態様に係る物体の毛並接触感シミュレーシ
ョン装置において、二次元平面上に配置された多数の毛
根点と、これら各毛根点上に標準方向を向いて定義され
た毛並ベクトルとによって構成される標準テクスチャを
オペレータに提示する機能と、オペレータの指示に基い
て各毛並ベクトルの向きを修正する機能と、修正後に各
毛根点に定義されている毛並ベクトルからなる毛並テク
スチャを、毛並の方向を定義するための情報として物体
情報設定手段に格納する機能と、を有する毛並テクスチ
ャ作成手段を更に設けるようにしたものである。
【0016】(12) 本発明の第12の態様は、コンピュ
ータを、上述の第1〜第9の態様に係る物体の毛並接触
感シミュレーション装置として機能させるためのプログ
ラムを、コンピュータ読み取り可能な記録媒体に記録す
るようにしたものである。
【0017】(13) 本発明の第13の態様は、上述の第
1〜第11の態様に係る物体の毛並接触感シミュレーシ
ョン装置において、力トランスデューサの作用部を、オ
ペレータの指先に嵌めて固定できる指サックにより構成
し、オペレータの指の動きに基いて作用点が移動できる
ようにするとともに、力制御ベクトルに基く制御力が指
サックを介してオペレータの指に伝達されるように構成
したものである。
【0018】
【発明の実施の形態】§1. 装置の基本構成 以下、本発明を図示する実施形態に基いて説明する。図
1は本発明の一実施形態に係る物体の毛並接触感シミュ
レーション装置の基本構成を示すブロック図である。こ
の装置では、方向性をもった毛並の情報が表面に付与さ
れた仮想物体を定義し、この仮想物体に対する接触感を
疑似的に体験させるためのシミュレーションを行うこと
ができる。この装置の構成要素は、図示のとおり、物体
情報設定手段10と、ディスプレイ20と、物体形状描
画手段30と、演算制御手段40と、力トランスデュー
サ50と、毛並テクスチャ作成手段60と、である。
【0019】物体情報設定手段10は、仮想物体および
その表面に付与される毛並の方向を定義するための情報
を設定する機能を有する。オペレータが、この物体情報
設定手段10に対してデータやパラメータなどの情報を
入力すると、入力された情報は、この物体情報設定手段
10内に格納され保持される。オペレータは、物体情報
設定手段10に対して設定したデータやパラメータを変
更することにより、シミュレーションの条件設定を適宜
変えることができる。この実施形態では、仮想物体を定
義するための情報として、図示のように、形状データ,
質感データ,光源データなる3種類のデータと、仮想物
体の硬さを示すパラメータKとを設定できるようにして
おり、毛並の方向を定義するための情報として、毛並テ
クスチャTなるデータを設定できるようにしている。こ
れらのデータやパラメータについては、後に詳述する。
また、毛並テクスチャ作成手段60は、物体情報設定手
段10内に設定される毛並テクスチャTのデータを作成
する処理を行う機能を有しており、この処理についても
後述する。
【0020】ディスプレイ20は、仮想物体を表示する
ための手段であり、図1では立方体形状の仮想物体Bが
所定位置に表示されている状態が示されている。物体形
状描画手段30は、物体情報設定手段10内に設定され
た情報(形状データ,質感データ,光源データ)に基い
て、ディスプレイ20の画面上の所定位置に仮想物体B
の形状を描画する機能を有する。なお、物体形状描画手
段30は、仮想物体Bだけでなく、後述する作用点Pの
位置を、ディスプレイ20の画面上に描画する機能を有
しており、図示のとおり、ディスプレイ20の画面上に
は、仮想物体Bとともに、作用点Pの位置が表示され
る。
【0021】力トランスデューサ50は、作用部51、
位置検出部52、力発生部53を有しており、演算制御
手段40に接続されている。力トランスデューサ50
は、オペレータに対するマン・マシン・インターフェイ
スとして機能し、オペレータから与えられる操作量を入
力するとともに、オペレータに対して力を返す働きをす
る。この実施形態では、力トランスデューサ50は、1
本の指としての機能を果たすことになり、仮想物体に対
する接触感は、この指を介して体験することになる。
【0022】作用部51上には、作用点Pが定義されて
おり、この作用点Pはオペレータから加えられた力に基
いて三次元の任意方向に移動可能となっている。図1の
ディスプレイ20上に表示されている作用点Pは、この
作用部51上の作用点の位置である。位置検出部52
は、作用部51上の作用点Pの三次元座標系上での位置
を検出する機能を有する。具体的には、作用点Pの位置
は、x座標,y座標,z座標の3つの座標値として検出
されることになる。ここでは、この3つの座標値によっ
て示された作用点Pの位置をP(x,y,z)なるデー
タで表わすことにする。
【0023】この作用点の位置を示すデータP(x,
y,z)は、演算制御手段40に与えられ、更に、物体
形状描画手段30へと与えられる。物体形状描画手段3
0は、前述したように、この位置を示すデータに基い
て、ディスプレイ20の画面上に作用点Pの位置を描画
することになる。一方、演算制御手段40は、位置検出
部52が検出した作用点Pの位置と物体情報設定手段1
0内の情報により定義された仮想物体の位置とに基い
て、作用点Pと仮想物体Bとの相互位置関係を認識し、
その認識結果に応じて作用点Pに生じるべき反力(仮想
物体側からオペレータ側へと返される力)を求める演算
を行う。ここで行われる具体的な演算内容については後
に詳述する。こうして、作用点Pに生じるべき反力が得
られたら、この反力に基いて作用点Pに加えるべき制御
力を示す力制御ベクトルCが求められ、この力制御ベク
トルCを示すデータは、力トランスデューサ50へ与え
られる。力トランスデューサ50内の力発生部53は、
演算制御手段40から与えられた力制御ベクトルCに基
いて作用点Pに加える力を発生させる機能を有する。
【0024】§2. 物体情報設定手段に設定される情
続いて、図1に示すシミュレーション装置において、物
体情報設定手段10内に設定される具体的な情報につい
て説明する。前述したように、この実施形態では、形状
データ,質感データ,光源データ,硬度を示すパラメー
タK,毛並テクスチャTが設定される。
【0025】形状データは、仮想物体の三次元形状を特
定するためのデータである。ここでは、仮想物体の表面
を二次元多角形の集合体として表現するようにしてお
り、二次元多角形の頂点座標を示す頂点テーブルと、各
二次元多角形を構成する頂点の連結関係を示す面テーブ
ルと、によって形状データを構成するようにしている。
たとえば、図2(a) に示すような立方体からなる仮想物
体を定義する場合を考える。この立方体は、6つの正方
形の集合体として表現することができ、図に1〜8の番
号を付した合計8個の頂点によって構成される。このよ
うな立方体についての形状データは、図2(b) に示す頂
点テーブルと図2(c) に示す面テーブルによって構成で
きる。図2(a) に示す頂点テーブルは、8個の頂点のそ
れぞれについて、XYZ三次元座標系における位置座標
を示している。図示の例では、図2(a) に示す立方体
は、頂点1が座標系の原点に位置し、頂点1−2に沿っ
た辺がX軸上、頂点1−4に沿った辺がY軸上、頂点1
−5に沿った辺がZ軸上に位置しており、一辺の長さが
1となる立方体である。図2(b) の頂点テーブルは、単
に8個の頂点の位置座標を示すものであり、仮想物体の
形状は、実際には、図2(c) の面テーブルによって定義
されることになる。この面テーブルは、この立方体を構
成する6個の面〜の頂点構成を示しており、たとえ
ば、面は、頂点1−2−6−5を連結することにより
形成される面になる。
【0026】このように、頂点テーブルと面テーブルと
を用いれば、任意形状の仮想物体の表面を定義すること
ができる。図2の例では、仮想物体の表面を四角形の集
合体として定義したが、三角形や六角形など、用いる多
角形はどのようなものでもかまわない。また、本発明を
実施する上では、仮想物体の形状定義は必ずしも二次元
多角形を用いる必要はない。たとえば、球や円錐などで
あれば、方程式を用いて定義することも可能であり、物
体情報設定手段10に設定される形状データは、数値、
式を問わず、形状を定義することができる情報であれば
どのようなものでもかまわない。なお、ここに示す実施
形態では、形状データは座標を示す情報(図2の例で
は、頂点テーブル内の各座標値)を含んでいるため、形
状とともに位置を定義する情報として機能する。もちろ
ん、形状データとは別個に位置を示すための位置データ
を設定するようにしてもよい。
【0027】物体情報設定手段10に設定される質感デ
ータは、形状データによって定義された仮想物体の表面
の質感を示すためのデータである。具体的には、仮想物
体を構成する各面(図2の例では、面〜)について
の環境色,拡散色,鏡面色,鏡面係数などの値が質感デ
ータとして設定される。また、光源データは、この仮想
物体を照明するための光源の性質を示すデータであり、
光源の形状(点,線,面),光源の位置,光源色などを
示すデータが光源データとして設定される。この質感デ
ータおよび光源データは、ディスプレイ20の画面上
に、定義した仮想物体を表示するために利用されるデー
タである。物体形状描画手段30は、この質感データお
よび光源データを考慮して、仮想物体Bの形状を描画す
ることになる。
【0028】一方、硬度を示すパラメータKは、仮想物
体の表面の硬さを左右する要素であり、後述するよう
に、物体表面からの面反力の大きさを決定する係数とし
て機能する。このパラメータKは、仮想物体の個々の表
面ごとにそれぞれ異なる値を設定することも可能である
が、本実施形態では、1つの仮想物体に対しては1つの
パラメータKのみを設定するようにしている。したがっ
て、1つの仮想物体については、どの面についての硬さ
も同じであるが、異なる仮想物体については、それぞれ
異なるパラメータKを設定しているので、物体ごとに硬
さの相違を体験することができる。もちろん、1つの仮
想物体の面ごとに、これらの設定を変えれば、同一の仮
想物体であっても、面ごとに異なる硬さを体験すること
ができるようになる。
【0029】毛並テクスチャTは、平面上にそれぞれ所
定方向を向いた多数の毛並ベクトルを定義したデータで
あり、一般の絵柄データと同様に、仮想物体の表面にマ
ッピングして用いられるため、本願では「テクスチャ」
という文言を用いている。図3(a) は、この毛並テクス
チャTの概念を示す平面図である。図示の例では、図の
上方を向いた多数の毛並ベクトルHが定義されている。
この例では、各毛並ベクトルHは、いずれもこの毛並テ
クスチャTを構成する平面内に含まれる二次元ベクトル
である。このような毛並テクスチャTを定義するには、
平面上に多数の毛根点Qを配置し、各毛根点Q上にそれ
ぞれ所定方向を向いた毛並ベクトルHを定義すればよ
い。図3(a) に示す例では、すべての毛並ベクトルHが
同一方向を向いているが、各毛並ベクトルHは、表現し
たい毛並に応じた方向を向くように任意に定義してかま
わない。
【0030】この実施形態では、物体情報設定手段10
内に、このような毛並テクスチャTが複数通り用意され
ており、各物体の質感データ内には、それぞれどの毛並
テクチャをどの面にどのような向きにマッピングすべき
かを示すデータも付加されている。図3(b) は、立方体
状の仮想物体の各面に、3種類の毛並テクスチャT1,
T2,T3をマッピングした状態を示す斜視図である。
いずれの毛並テクスチャも多数の毛並ベクトルHを有し
ており、仮想物体の表面が多数の毛並ベクトルHによっ
て覆われた状態になっている。
【0031】概念的には、図3(a) に示す毛並テクスチ
ャTは絨毯の切れ端と考えることができ、個々の毛並ベ
クトルHは、この絨毯の毛並の方向を示していることに
なる。また、図3(b) に示す仮想物体は、立方体の各面
に、この絨毯の切れ端を貼りつけたものと考えることが
できる。本発明に係るシミュレーション装置では、この
ように、表面に絨毯を貼り付けた仮想物体を触れたとき
の感触を疑似的に体験させる機能を有している。
【0032】§3. 具体的な装置構成 図1に示すブロック図は、説明の便宜上、本発明に係る
装置を機能要素の集合としてとらえ、個々の機能要素を
ブロックで示したものであり、実際には、このシミュレ
ーション装置はコンピュータを利用して構築される。す
なわち、図1に示す装置における物体情報設定手段1
0、物体形状描画手段30、演算制御手段40、毛並テ
クスチャ作成手段60は、汎用のコンピュータに、上述
した各処理を実行するためのプログラムを組み込むこと
により構成することができる。たとえば、物体情報設定
手段10に対するデータやパラメータの設定は、キーボ
ードやマウスなどのコンピュータ用入力機器を用いて行
うことができ、設定されたデータやパラメータはメモリ
や種々の記憶装置に格納されることになる。また、物体
形状描画手段30による描画機能や、演算制御手段40
および毛並テクスチャ作成手段60による演算処理機能
は、コンピュータに組み込まれたプログラムによって実
現されることになり、このプログラムは、コンピュータ
読み取り可能な記録媒体に記録して配布することが可能
である。なお、ディスプレイ20は、コンピュータ用の
一般的なディスプレイ装置によって構成できる。
【0033】一方、力トランスデューサ50は、オペレ
ータの物理的操作をデジタルデータ(作用点の位置を示
すデータ)に変換する第1の機能と、演算制御手段40
から与えられるデジタルデータ(力制御ベクトルCを示
すデータ)を物理的な力に変換してオペレータに与える
第2の機能とを実行する物理的な構成要素である。一般
的な物体に対する接触動作には、通常、指が用いられ
る。そこで、この実施形態では、上記機能が効果的に実
行されるように、力トランスデューサ50の作用部51
を、オペレータの指先に嵌めて固定できる指サックによ
り構成し、オペレータの指の動きに基いて作用点Pを移
動できるようにするとともに、力制御ベクトルCに基く
制御力がこの指サックを介してオペレータの指に伝達さ
れるように構成した。
【0034】図4は、この指サックの形態をした作用部
51を用いて構成される力トランスデューサ50の機能
を示すブロック図である。作用部51は、ゴムなどの弾
力性をもった材料で構成されており、オペレータは、こ
の作用部51を指の先端に装着して固定することができ
る。図示の例では、この作用部51の先端部分に作用点
Pが定義されている(もちろん、作用点Pは作用部51
のいずれの部分に定義してもかまわないが、操作性を向
上する上では、指先位置に定義するのが好ましい)。本
発明では、このような力トランスデューサを少なくとも
1組用意する必要がある。
【0035】この力トランスデューサ50において、作
用部51は三次元の自由度をもって移動可能な状態に支
持されている必要がある。すなわち、作用点Pは、オペ
レータから加えられた力に基いて三次元の任意方向に移
動可能な状態になっている必要がある(もちろん、作用
点Pの移動可能空間は、所定の範囲内に制限されていて
かまわない)。したがって、オペレータは、作用部51
を指先に装着した状態で、指先を三次元空間内の任意の
方向に移動させることができる。位置検出部52は、前
述したように、作用点Pの三次元空間内の位置を、P
(x,y,z)なる3つの座標値からなるデータとして
リアルタイムで逐次検出する機能を有している。一方、
力発生部53は、演算制御手段40からリアルタイムで
逐次与えられる力制御ベクトルCに基いて、力fを発生
させ、これを作用点Pに逐次加える機能を果たす。ここ
で、作用点Pに加えられる力fは、力制御ベクトルCの
向きおよび大きさをもった力である。
【0036】結局、オペレータは、作用部51を装着し
た指を任意の方向に動かすことが可能ではあるが、逆
に、作用点Pに加わる力fを常に指先に受け、物体から
の反力を感じることになる(もちろん、f=0の場合
は、何ら反力は感じない)。
【0037】図5は、このような力トランスデューサ5
0の具体的構成例を示す斜視図である。図では、力トラ
ンスデューサ50の作用部51(指サック)を右手の人
差し指に装着した状態が示されている。この指の先端部
分に作用点Pが定義されており、オペレータは、作用部
51を任意の方向に移動させながら、仮想物体に対する
接触感を体感することができる。図示の力トランスデュ
ーサ50では、複数のリンク機構を用いて、上述した2
つの機能を実現している。すなわち、作用部51は、複
数の自在アームによって支持されているため、ある程度
の範囲の空間内では、三次元の任意の方向に自由に移動
させることが可能である。しかも、各自在アームの回転
位置を検出する機構が備わっており、作用点Pの三次元
座標値P(x,y,z)を検出することができる。更
に、各自在アームに力を加えるためのモータが用意され
ており、これらのモータを駆動することにより、作用点
Pに任意の方向、任意の大きさの力を作用させることが
できる。
【0038】このような複数のリンク機構を用いた力ト
ランスデューサは、既に公知の装置であるため、その構
造や機構についての詳細な説明は省略する。市販の製品
としては、たとえば、米国のセンサブル・デバイス社
(SensAble Device Inc.)が「PHANToM」なる商
品名で販売している装置を利用することができる。結
局、本発明に係る毛並接触感シミュレーション装置は、
図5に示すような力トランスデューサを、汎用コンピュ
ータに接続し、所定のプログラムをこのコンピュータに
組み込むことにより実現することが可能になる。
【0039】§4. 物体との接触による面反力の定義 続いて、物体からの反力の演算方法について述べる。い
ま、三次元座標系上の所定位置に、所定の仮想物体が定
義されているものとする。この仮想物体は、実在の物体
ではないので、たとえば、図5に示すような力トランス
デューサ50を用いた場合、この力トランスデューサ5
0が設置されている三次元空間内のいずれかの位置に、
仮想物体の存在が定義されているに過ぎない。ここで、
オペレータが図5のような指サック状の作用部51を人
差し指に装着し、この作用部51の先端に定義された作
用点Pを移動させたところ、図6の側断面図に示すよう
に、仮想物体B(αおよびβは、この仮想物体Bの表面
を示す)の内部の位置に到達したとしよう。仮想物体B
は、実在の物体ではないので、もし、力トランスデュー
サ50に対して何ら力制御ベクトルが与えられていなけ
れば、オペレータは、作用点Pを自由に移動させること
ができるので、図6に示すように仮想物体Bの内部にま
で作用点Pを動かすことは可能である。
【0040】ただ、実際には、このような作用点Pの動
きは、仮想物体Bが実在の物体であった場合には矛盾す
る。すなわち、作用点が図示の点Pへ移動したというこ
とは、指先が物体の内部に侵入していることになり、物
体が変形をしない限り、そのような作用点の移動は現実
的には不可能である。もちろん、物体が弾性変形や塑性
変形を生じるものとして、作用点が物体の内部に侵入し
た場合には、それに応じて物体の形状をリアルタイムで
補正するという手法を採れば、図6に示すような作用点
の移動に、現実的な矛盾は生じない。しかしながら、物
体形状をリアルタイムで補正するには、膨大な演算処理
が必要になり、特に、ディスプレイ20上にリアルタイ
ムで物体を描画する場合、かなり高機能なコンピュータ
が要求されることになる。そこで、本実施形態では、仮
想物体Bは剛体から構成されており、形状は一切変化し
ないものとして取り扱っている。
【0041】このように、仮想物体Bを剛体として取り
扱うと、図6における作用点Pの位置は、指先が剛体中
にめり込んでいる状態に相当するため、現実の物理現象
を忠実にシミュレートするという意味では、矛盾した移
動になる。しかしながら、本発明の主眼は、オペレータ
に物体に対する接触感を体験させることにあるので、必
ずしも現実の物理現象を忠実にシミュレートする必要は
ない。したがって、本発明では、図6に示すように、作
用点Pが仮想物体Bの内部に侵入するような事象も認め
ることにする。ただし、オペレータに接触感を感じさせ
るためには、作用点Pが仮想物体Bの内部に侵入した際
に、何らかの反力を作用点Pに戻してやる必要がある。
このように、物体内部に作用点が移動したことに対し
て、物体側から作用点側に戻される反力を、ここでは面
反力Fsと呼ぶことにする。
【0042】本願発明者は、この面反力Fsの大きさ
を、作用点Pとこれに最も近い仮想物体の表面αとの距
離dに基いて決定すれば、非常に現実的な接触感をオペ
レータに与えられることを見出だした。すなわち、物体
情報設定手段10内に設定されている硬さを示すパラメ
ータKと、この距離dとの積(K・d)を物体からの面
反力Fsの大きさと定義すれば、距離d(すなわち、表
面αからの深さ)が大きくなればなるほど、面反力Fs
は大きくなる。したがって、オペレータは、作用点Pを
より深い位置へと移動させるためには、より大きな力
(面反力Fsに対抗する力)が必要になり、仮想物体の
表面に対する接触感を得ることができる。また、面反力
Fsの絶対値は、パラメータKに依存するため、大きな
パラメータKが設定されている面ほど硬く感じられ、小
さなパラメータKが設定されている面ほど柔らかく感じ
られることになる。
【0043】一方、面反力Fsを作用させる方向は、作
用点Pに最も近い物体表面αに立てた法線の向きとすれ
ばよい。すなわち、図6に示すように、物体表面αに立
てた単位ベクトルを法線ベクトルNとすれば、面反力F
sは、この法線ベクトルNを用いた Fs=(K・d)・N なる式により、ベクトル量として与えられることにな
る。結局、演算制御手段40は、作用点Pと仮想物体B
との相互位置関係を認識し、作用点Pが仮想物体Bの内
部にあると判断された場合には、上記式に基いて、面反
力Fsをベクトル量として求める演算を行うことにな
る。なお、作用点Pが仮想物体Bの外部にある場合に
は、面反力Fsを戻す必要はないので、このような演算
は不要である。
【0044】§5. 物体との接触による毛並反力の定
ところで、上述した面反力Fsは、オペレータに対して
仮想物体Bの表面の存在を感じさせるための反力である
が、仮想物体Bの表面にマッピングされた毛並を感じさ
せることはできない。毛並を感じさせるためには、面反
力Fsとは別個に毛並反力Fhを定義する必要がある。
面反力Fsの実体は、物体表面に対して加えられた力に
対抗する力である。これに対して、毛並反力Fhの実体
は、物体表面の毛並に逆らうような移動を行おうとした
場合に、この移動に対抗する力ということができる。た
とえば、絨毯をその毛並に沿って撫でるようにすると毛
並反力Fhは極めて小さいが、毛並とは逆方向に逆撫で
するようにすると大きな毛並反力Fhが得られることに
なる。
【0045】このように、毛並に起因して生じる毛並反
力Fhを求めるためには、作用点Pの現在位置に関する
情報だけでは足りず、作用点Pの移動方向に関する情報
が必要になる。より具体的には、毛並反力Fhの大きさ
は、毛並の方向と作用点の移動方向とのなす角度に基い
て定める必要がある。作用点Pの移動方向は、位置検出
部52が時間差をもって検出した作用点の位置の情報に
より認識することが可能である。たとえば、図7には、
作用点Pの移動状態が示されている。すなわち、ある時
点において点P0(x0,y0,z0)の位置にあった
作用点が、現時点では、点P(x,y,z)まで移動し
ている。このように、作用点Pについて時間差をもって
検出した2通りの地点の座標値が得られれば、両地点を
結ぶ移動ベクトルMを認識することができる。この移動
ベクトルMは、現時点における移動方向を示すベクトル
として取り扱うことができる。もちろん、現時点におい
て点P(x,y,z)に存在する作用点が、次の時点で
必ずしも移動ベクトルMの方向に進むとは限らないが、
一応、点P(x,y,z)における移動方向を移動ベク
トルMの方向として取り扱っても大きな問題は生じな
い。
【0046】なお、図7には、作用点Pに最も近い物体
表面αが示されており、現時点の点P(x,y,z)の
位置においては、作用点Pと表面αとの距離はdとなっ
ているが、前時点の点P0(x0,y0,z0)の位置
においては、作用点Pと表面αとの距離はd0となって
いる。したがって、面反力Fsの大きさは、前時点では
(K・d0)であったところ、現時点では(K・d)と
なる。
【0047】さて、図7において、現時点における毛並
反力Fhを求めるには、次のような演算を行えばよい。
まず、作用点P(x,y,z)を最も近い物体表面α
(この実施形態では二次元多角形)上に垂直に投影して
投影点Psを求める。続いて、作用点Pの三次元空間上
での移動方向を示す移動ベクトルMを、物体表面α上に
垂直に投影して平面移動ベクトルMsを求める。そし
て、図8(a) に示すように、この投影点Ps上に定義さ
れている毛並ベクトルHと平面移動ベクトルMsとのな
す角度θに基いて毛並反力Fhの大きさを決定する。ま
た、毛並反力Fhの向きは、図8(b) に示すように、平
面移動ベクトルMsに対して逆方向になるようにする。
すなわち、毛並反力は、作用点Pを毛並に逆らって移動
させようとする動作に対抗して生じる反力であるので、
作用点Pの移動方向に抗する方向に作用させることにな
る。もちろん、作用点Pを毛並に沿った方向に移動させ
る動作に対しては、毛並反力を生じさせる必要はない。
そこで、毛並ベクトルHと平面移動ベクトルMsとのな
す角度θを、0≦θ≦πの範囲で定義し、θが大きくな
ればなるほど毛並反力Fhが大きくなるように、毛並反
力Fhの大きさを決定すればよい。
【0048】具体的には、たとえば、図9のグラフに示
すような関数R(θ)の値を反力係数と定義し、毛並反
力Fhを、大きさが反力係数値R(θ)に等しく、向き
が平面移動ベクトルMsとは逆向きのベクトル量として
定義すればよい。図9に示す関数R(θ)は、θ=0の
ときに関数値R(0)=0となり、θ=πのときに関数
値R(π)=最大値となるような関数である。しかも、
θが0から増加すると関数値R(θ)も徐々に増加し、
θ=π/2の近辺で関数値R(θ)が急激に増加する形
をとる。これは、θが0のときには、毛並に沿って仮想
物体の表面を撫でている動作になるため、毛並反力を生
じさせる必要はなく、θが比較的小さい場合にも、ある
程度毛並の方向に撫でている動作になるため、毛並反力
もわずかでよいが、θがπ/2の近辺では、毛並に対し
て直角方向に撫でている動作になり、更に、θがπ/2
を越えると、毛並に逆らって逆毛を立てる動作になるた
め、毛並反力を急激に増加させる必要があるからであ
る。
【0049】たとえば、図10(a) に示すように、θ=
30°の場合には、毛並テクスチャT上の毛並ベクトル
Hと、平面移動ベクトルMsとは、ある程度同じ方向を
向いているため、毛並反力Fhは、平面移動ベクトルM
sとは逆向きの方向に作用するものの、その大きさはそ
れほど大きくはならない。これに対して、図10(b)に
示すように、θ=150°の場合には、毛並テクスチャ
T上の毛並ベクトルHと、平面移動ベクトルMsとは、
ほぼ逆の方向を向いているため、平面移動ベクトルMs
とは逆向きの方向に、かなり大きな毛並反力Fhが作用
することになる。
【0050】なお、上述の例では、作用点Pを仮想物体
の表面α上へ投影して投影点Psを求め、この投影点P
s上に定義されている毛並ベクトルHと、平面移動ベク
トルMsとの角度θを求めるという説明を行ったが、実
際には、図3(a) に示すように、毛並テクスチャT上に
は離散的に毛根点Qが定義されており、この毛根点Qの
位置にのみ毛並ベクトルHが定義されている。したがっ
て、実際には、投影点Ps(もしくは作用点P)の近傍
にマッピングされた毛並ベクトルを用いて毛並反力を求
める演算を行うようにすればよい。たとえば、図11に
示すように、投影点Psの近傍に4つの毛根点Q1〜Q
4が存在し、これら各毛根点Q1〜Q4にそれぞれ毛並
ベクトルH1〜H4が定義されていたとし、投影点Ps
と各毛根点Q1〜Q4との距離がそれぞれL1〜L4で
あったとする。このような場合は、たとえば、投影点P
sに最も近い毛根点Q2に定義された毛並ベクトルH2
を用いて毛並反力を求めるようにすればよい。あるい
は、4つの毛並ベクトルH1〜H4の合成ベクトルを用
いて毛並反力を求めてもよい。この場合、距離L1〜L
4を考慮して、より投影点Psに近い毛並ベクトルの成
分がより多く含まれるようなベクトル合成を行うことも
可能である。
【0051】なお、図7に示す例では、作用点Pの移動
を、単に移動ベクトルMあるいは平面移動ベクトルMs
として取り扱っているが、作用点が点P0(x0,y
0,z0)にあった前時点と、作用点が点P(x,y,
z)にある現時点との時間間隔を常に一定とすれば、こ
の移動ベクトルMあるいは平面移動ベクトルMsの大き
さは、作用点の移動速度を示すものになり、これらのベ
クトルは、速度ベクトルVあるいは平面速度ベクトルV
sということができる。したがって、毛並反力Fhの大
きさを求める際には、この平面速度ベクトルVsの大き
さを考慮し、たとえば、Fh=−Vs・R(θ)のよう
な式で定義されるベクトル量Fhとして毛並反力を定義
するようにすれば、作用点の移動速度が大きくなればな
るほど毛並反力の大きさも大きくなり、毛並を撫でる速
度が速くなればなるほど、より大きな反力が返されると
いう、より現実的なシミュレーションを行うことが可能
になる。
【0052】§6. 毛並テクスチャの定義方法 既に述べたように、図1に示す毛並テクスチャ作成手段
60は、図3(a) に示すような毛並テクスチャTを作成
する機能を有し、作成された毛並テクスチャTは、物体
情報設定手段10内に格納され、後に、演算制御手段4
0によって、仮想物体の表面にマッピングされることに
なる。そこで、ここでは、毛並テクスチャ作成手段60
によって行われる毛並テクスチャTの作成方法の一例を
述べておく。
【0053】まず、図12(a) に示すような標準テクス
チャT0を用意し、これをオペレータに提示する。この
標準テクスチャT0は、二次元平面上に配置された多数
の毛根点Q(図示の例では、所定ピッチの格子状に配さ
れている)と、これら各毛根点Q上に標準方向(図示の
例では、斜め右上方向)を向いて定義された毛並ベクト
ルH0とによって構成されている。このような標準テク
スチャT0は、たとえば、ディスプレイ画面上に表示さ
れることになる。
【0054】続いて、オペレータの指示に基いて、各毛
並ベクトルH0の向きの修正処理を行う。図12(b)
は、このような修正処理後の状態を示したものである。
毛並ベクトルH0の向きの修正作業は、たとえば、オペ
レータがマウスなどのポインティングデバイスを用い
て、個々の毛並ベクトルの先を時計まわりもしくは反時
計まわりに移動させる指示を与えることによって行うこ
とができる。あるいは、標準テクスチャT0上でマウス
ポインタを動かし、このマウスポインタの軌跡の方向を
向くように、各毛並ベクトルH0の向きを自動的に修正
するような処理を行うことも可能である。
【0055】こうして、各毛並ベクトルH0の向きの修
正が完了したら、修正後に各毛根点Qに定義されている
毛並ベクトルHからなるテクスチャが、作成すべき毛並
テクスチャTとなる。毛並テクスチャ作成手段60は、
こうして作成した毛並テクスチャTを、毛並の方向を定
義するための情報として、物体情報設定手段10に格納
する処理を行う。
【0056】§7. 本発明に係るシミュレーション装
置の動作 続いて、本発明に係る物体の毛並接触感シミュレーショ
ン装置の動作を、図13および図14に示す流れ図を参
照しながら説明する。
【0057】図13に示す流れ図は、シミュレーション
に先立つ準備段階の動作手順を示している。まず、ステ
ップS11において、仮想物体の定義が行われる。具体
的には、§2で述べたように、仮想物体を定義するため
の形状データ、質感データ、光源データ、硬度を示すパ
ラメータKが、物体情報設定手段10に対して設定され
ることになる。続くステップS12では、毛並テクスチ
ャTが作成される。これは、たとえば、§6で述べた手
法により毛並テクスチャ作成手段60を用いて、所望の
毛並テクスチャTを作成すればよい。実用上は、必要に
応じて、複数種類の毛並テクスチャが作成されることに
なる。最後のステップS13では、物体情報設定手段1
0内に設定された仮想物体に対して、同じく物体情報設
定手段10内に設定された毛並テクスチャTをマッピン
グする処理が、演算制御手段40によって行われる。こ
の実施形態では、§2で述べたように、各仮想物体は、
二次元多角形の集合体として定義されているので、各二
次元多角形に、それぞれ所定の毛並テクスチャを、所定
の向きにマッピングする処理が行われることになる。こ
のテクスチャマッピングの処理は、既に、公知のコンピ
ュータグラフィックス技術であるため、ここでは詳しい
説明は省略する。以上で、シミュレーションの準備は完
了である。
【0058】さて、実際のシミュレーション動作は、図
14に示す手順によって行われる。この手順は、演算制
御手段40によって実行される手順である。まず、ステ
ップS21において、作用点の現在位置P(x,y,
z)が、位置検出部52から入力される。そして、ステ
ップS22において、この作用点の現在位置が、仮想物
体の内部か否かが判断される。既に述べたように、物体
情報設定手段10内に設定されている仮想物体の形状デ
ータは、三次元空間内での仮想物体の位置の情報を含ん
でいるので、作用点の現在位置Pの座標値を参照するこ
とにより、作用点が仮想物体の内部にあるか外部にある
かを判断することができる。ここで、作用点が仮想物体
の外部にあると判断された場合には、再びステップS2
1の手順へ戻ることになる。別言すれば、作用点が仮想
物体の内部に侵入するまで、ステップS23以降の手順
(反力を作用させる手順)は実行されないことになる。
【0059】作用点が仮想物体の内部にあるとの判断が
なされたら、ステップS22からステップS23へと進
み、ここで面反力Fsの演算が行われる。この面反力F
sの演算は、既に§4で述べたとおりであり、具体的に
は、仮想物体表面からの距離dと、硬度を示すパラメー
タKと、仮想物体表面に立てた法線ベクトルNとによ
り、面反力Fsは、 Fs=(K・d)・N なる式によりベクトル量として求まることになる。
【0060】続いて、ステップS24において、前時点
における作用点の位置と現時点における作用点の位置と
を認識し、作用点の移動ベクトルMを求め、これを仮想
物体表面に投影して平面移動ベクトルMsを算出する。
この処理は、既に§5で述べたとおりである。そして、
ステップS25において、作用点Pを仮想物体表面に投
影し、適用すべき毛並ベクトルHを決定し、更に、ステ
ップS26において、毛並反力Fhを算出する。これら
の処理も、既に§5で述べたとおりである。具体的に
は、平面移動ベクトルMsとは逆方向を向き、平面移動
ベクトルMsと毛並ベクトルHとのなす角度θの関数値
R(θ)に応じた大きさをもった毛並反力が、 Fh=−Ms・R(θ) なる式によりベクトル量として求まることになる。この
とき、前時点と現時点との時間間隔を一定に定めておけ
ば、平面移動ベクトルMsの大きさは、作用点の移動速
度を示すものになり、平面移動ベクトルMsは、平面速
度ベクトルVsとして機能することになる。
【0061】こうして、面反力Fsと毛並反力Fhとが
求まったら、ステップS27において、合成反力Fが、
F=Fs+Fhなる式により求められる。ここで、面反
力Fsは、物体表面に対する法線方向を向いたベクトル
であるのに対し、毛並反力Fhは、作用点の移動方向に
抗する方向を向いたベクトルであり、合成反力Fは両ベ
クトルの合成ベクトルとして求まることになる。こうし
て、合成反力Fが求まったら、この合成反力Fに基い
て、作用点に加えるべき制御力を示す力制御ベクトルC
を決定し、この力制御ベクトルCを力発生部53に対し
て出力する。実際には、合成反力Fをそのまま力制御ベ
クトルCとして出力すればよい。
【0062】最後に、ステップS28において、現時点
での作用点の位置P(x,y,z)を、前時点での作用
点の位置P0(x0,y0,z0)とする処理が行わ
れ、ステップS21からの処理が繰り返し実行されるこ
とになる。この前時点での作用点の位置P0(x0,y
0,z0)は、後にステップS24において、平面移動
ベクトルMsを算出する際に用いられることになる。
【0063】かくして、オペレータの指には、力発生部
53から力制御ベクトルCに応じた制御力が加えられる
ことになる。この力制御ベクトルCは、作用点が仮想物
体の外部にあるうちは零であるが、作用点が仮想物体の
内部に侵入すると、面反力Fsと毛並反力Fhとの合成
反力に対応したものになり、オペレータは、仮想物体の
面に接触した感触とともに、この面に定義された毛並の
感触を得ることができる。
【0064】§8. 種々の変形例 以上、本発明を図示する実施形態に基いて説明したが、
本発明は上述した実施形態に限定されるものではなく、
この他にも種々の形態で実施可能である。以下にいくつ
かの変形例を述べておく。
【0065】(1) 上述の実施形態では、仮想物体の表
面上に単一の毛並テクスチャTをマッピングしている
が、仮想物体の表面近傍に、複数の毛並テクスチャを層
構造をなすように重ねてマッピングすることも可能であ
る。たとえば、図15は、仮想物体の表面である面α
(0)上に毛並テクスチャT(0)をマッピングすると
ともに、面α(0)よりも距離d1だけ深い位置に定義
された面α(d1)上に別な毛並テクスチャT(d1)
をマッピングし、更に、面α(0)よりも距離d2だけ
深い位置に定義された面α(d2)上に別な毛並テクス
チャT(d2)をマッピングした例である。すなわち、
面α(0)の近傍に、3枚の毛並テクスチャT(0),
T(d1),T(d2)を層構造をなすように重ねてマ
ッピングしたことになる。この場合、作用点に最も近い
層にマッピングされた毛並テクスチャを用いて、毛並反
力を求める演算を行うようにすればよい。
【0066】たとえば、図示の例の場合、作用点P
(x,y,z)に最も近い層が、面α(d1)であった
とすれば、作用点P(x,y,z)を面α(d1)に投
影して投影点Psを求め、毛並テクスチャT(d2)を
用いて毛並反力を求める演算を行えばよい。このよう
に、複数の毛並テクスチャを層構造をもって定義する
と、立体的な毛並を表現することが可能であり、仮想物
体の表面部分と深い部分とでは、毛並の向きが相違する
ようなモデルを構築することができる。
【0067】(2) 上述の実施形態では、毛並ベクトル
は毛並テクスチャを構成する平面上に二次元ベクトルと
して定義されていたが、図16に示すように、三次元ベ
クトルとして定義された毛並ベクトルを有する立体毛並
テクスチャを用いることも可能である。もちろん、この
立体毛並テクスチャを用いて、図15に示すような層構
造を構成することも可能である。
【0068】このように、毛並ベクトルHを三次元ベク
トルとして定義した場合、移動ベクトルMを二次元平面
上に投影した平面移動ベクトルMsを用いる代わりに、
三次元空間上で移動ベクトルMと毛並ベクトルHとのな
す角度θを用いて、毛並反力を演算することができる。
もちろん、毛並ベクトルHおよび移動ベクトルMを所定
平面上に投影し、この投影平面上での角度θを用いるよ
うにしてもかまわない。
【0069】(3) 反力係数を示す関数R(θ)は、図
9に示す例では、角度θが増加するにしたがって関数値
も増加し、θ=πにおいて関数値が最大値となるような
関数になっていたが、関数R(θ)としては、必ずしも
このような関数を用いる必要はない。たとえば、θ=π
/2のときに最大値をとるような関数を用いれば、毛並
と逆方向に撫でるよりも、毛並に対して直角方向に撫で
る方が抵抗が大きいモデルを構築することができる。
【0070】(4) 上述の実施形態では、毛並反力の向
きを平面移動ベクトルMsに対して逆方向となるように
とっているが、毛並反力は作用点の移動方向に対して抗
する方向に作用すればよいので、たとえば、移動ベクト
ルMに対して逆方向となるような方向にとることも可能
である (5) §4では、面反力Fsを定義する方法として、物
体表面と作用点との距離dに基いて面反力の大きさを決
定する方法を示したが、面反力Fsの定義方法は、この
ような方法に限定されるものではない。たとえば、作用
点が物体表面上を通過してからの経過時間に応じて、面
反力Fsの大きさを決定するような方法を採ることもで
きる。
【0071】(6) 上述の例では、1組の力トランスデ
ューサ50のみを用いているが、複数組の力トランスデ
ューサ50を用意すれば、仮想物体に対する把持動作を
体験させることも可能である。図17には、2組の力ト
ランスデューサ50を用い、両作用部51(指サック)
をそれぞれ親指と人差し指とに装着した状態が示されて
いる。いずれも指の先端部分に作用点Pが定義されてお
り、オペレータは、両作用部51を任意の方向に移動さ
せながら、仮想物体Bを把持する動作を体感することが
できる。また、仮想物体Bの把持動作には、仮想物体B
の表面に定義した摩擦係数を考慮したシミュレーション
を行うことができ、この摩擦係数は、物体表面の毛並の
情報に関連させて定義することが可能である(たとえ
ば、毛並に逆らった方向の摩擦係数は、毛並に沿った方
向の摩擦係数よりも大きく設定する)。
【0072】
【発明の効果】以上のとおり本発明に係る物体の毛並接
触感シミュレーション装置によれば、仮想物体の表面に
多数の毛並ベクトルからなる毛並テクスチャをマッピン
グし、作用点の移動方向と毛並ベクトルとの向きに応じ
て毛並反力を作用させるようにしたため、物体表面の毛
並に対する接触感を疑似的に体験させることができるよ
うになる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る物体の毛並接触感シ
ミュレーション装置の基本構成を示すブロック図であ
る。
【図2】図1に示すシミュレーション装置において定義
された仮想物体およびその形状データの一例を示す図で
ある。
【図3】図1に示すシミュレーション装置において定義
された毛並テクスチャの一例およびこれを仮想物体にマ
ッピングした状態を示す図である。
【図4】図1に示すシミュレーション装置における力ト
ランスデューサの機能を示すブロック図である。
【図5】図4に示す力トランスデューサの具体的な構成
例を示す斜視図である。
【図6】本発明における面反力Fsの求め方の基本概念
を説明するための物体の側断面図である。
【図7】本発明における毛並反力Fhの求め方の基本概
念を説明するための斜視図である。
【図8】仮想物体の表面に定義された毛並ベクトルHと
作用点の移動方向を仮想物体表面に投影した平面移動ベ
クトルMsとの関係およびこのときに作用する毛並反力
の向きを示す平面図である。
【図9】毛並反力Fhの大きさを決定するために用いら
れる反力係数を決定する関数R(θ)の一例を示すグラ
フである。
【図10】毛並テクスチャの向きと作用点の移動方向と
の関係を示す平面図である。
【図11】作用点近傍の毛並ベクトルを適用する方法を
示す平面図である。
【図12】本発明で用いる毛並テクスチャの作成方法の
一例を示す平面図である。
【図13】本発明に係るシミュレーション装置の準備段
階の手順を示す流れ図である。
【図14】本発明に係るシミュレーション装置の動作段
階の手順を示す流れ図である。
【図15】仮想物体の同一平面上に層構造をなすように
複数の毛並テクスチャをマッピングした状態を示す斜視
図である。
【図16】三次元方向を向いた毛並ベクトルを有する立
体毛並テクスチャの一例を示す斜視図である。
【図17】2組の力トランスデューサを用いた本発明の
構成を示す斜視図である。
【符号の説明】
1〜8…頂点 10…物体情報設定手段 20…ディスプレイ 30…物体形状描画手段 40…演算制御手段 50…力トランスデューサ 51…作用部 52…位置検出部 53…力発生部 60…毛並テクスチャ作成手段 B…仮想物体 C…力制御ベクトル d,d0,d1,d2…作用点と仮想物体の表面との距
離 F…合成反力 Fh…毛並反力 Fs…面反力 f…作用点Pに加わる力 H,H0,H1〜H4…毛並ベクトル K…硬さを示すパラメータ L1〜L4…距離 M…移動ベクトル Ms…平面移動ベクトル N…法線ベクトル P…作用点 Ps…投影点 P(x,y,z)…作用点Pの現時点の位置 P0(x0,y0,z0)…作用点Pの前時点の位置 Q,Q1〜Q4…毛根点 R(θ)…毛並反力係数 T0…標準テクスチャ T,T1〜T3,T(0),T(d1),T(d2)…
毛並テクスチャ α,β…仮想物体の表面を構成する多角形 α(0),α(d1),α(d2)…表面近傍の層 θ…毛並ベクトルと平面移動ベクトルとのなす角度
───────────────────────────────────────────────────── フロントページの続き (72)発明者 島田 政行 東京都新宿区市谷加賀町一丁目1番1号 大日本印刷株式会社内 (72)発明者 久保田 靖夫 東京都新宿区市谷加賀町一丁目1番1号 大日本印刷株式会社内 (72)発明者 室田 秀樹 東京都新宿区市谷加賀町一丁目1番1号 大日本印刷株式会社内 Fターム(参考) 2F051 AA16 AB06 AC09 BA00 2G024 AD50 BA17 CA01 CA11 EA20

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 方向性をもった毛並の情報が表面に付与
    された仮想物体を定義し、この仮想物体に対する接触感
    を疑似的に体験させるためのシミュレーションを行う装
    置であって、 仮想物体およびその表面に付与される毛並の方向を定義
    するための情報を設定する物体情報設定手段と、 オペレータから加えられた力に基いて三次元の任意方向
    に移動可能な作用点を有する作用部と、前記作用点の三
    次元座標系上での位置を検出する位置検出部と、与えら
    れた力制御ベクトルに基いて前記作用点に加える力を発
    生させる力発生部と、を有する力トランスデューサと、 前記位置検出部が時間差をもって検出した作用点の位置
    の情報により作用点の移動方向を認識し、仮想物体の表
    面に定義された毛並の方向と前記移動方向とのなす角度
    に基いて、毛並に起因して生じる毛並反力を求め、この
    毛並反力に基いて前記作用点に加えるべき制御力を示す
    力制御ベクトルを求め、求めた力制御ベクトルを前記力
    トランスデューサへ与える制御を行う演算制御手段と、 を備えることを特徴とする物体の毛並接触感シミュレー
    ション装置。
  2. 【請求項2】 請求項1に記載のシミュレーション装置
    において、 演算制御手段が、位置検出部が検出した作用点の位置と
    物体情報設定手段内の情報により定義された仮想物体の
    位置とに基いて、作用点と仮想物体との相互位置関係を
    認識し、作用点が仮想物体の内部にあると判断された場
    合にのみ、毛並反力に基く制御力を与えることを特徴と
    する物体の毛並接触感シミュレーション装置。
  3. 【請求項3】 請求項1または2に記載のシミュレーシ
    ョン装置において、 演算制御手段が、毛並の方向と移動方向とのなす角度θ
    を0≦θ≦πの範囲で定義し、θが大きくなればなるほ
    ど大きな毛並反力が得られるような演算を行い、前記移
    動方向に抗する方向に前記毛並反力が作用するように、
    力制御ベクトルを求めることを特徴とする物体の毛並接
    触感シミュレーション装置。
  4. 【請求項4】 請求項1〜3のいずれかに記載のシミュ
    レーション装置において、 物体情報設定手段内に、仮想物体の形状を示す形状デー
    タと、平面上にそれぞれ所定方向を向いた多数の毛並ベ
    クトルを定義してなる毛並テクスチャとを用意し、 演算制御手段が、前記仮想物体の表面に前記毛並テクス
    チャをマッピングする処理を行い、作用点近傍にマッピ
    ングされた毛並ベクトルを用いて毛並反力を求める演算
    を行うことを特徴とする物体の毛並接触感シミュレーシ
    ョン装置。
  5. 【請求項5】 請求項4に記載のシミュレーション装置
    において、 仮想物体を定義するための情報として、仮想物体の表面
    を二次元多角形の集合体として表現する形状データを設
    定し、 作用点Pを最も近い二次元多角形α上に投影して投影点
    Psを求め、作用点Pの三次元空間上での移動方向を示
    す移動ベクトルMを前記二次元多角形α上に投影して平
    面移動ベクトルMsを求め、前記投影点Psの近傍に定
    義されている毛並ベクトルHと前記平面移動ベクトルM
    sとのなす角度θに基いて毛並反力の大きさを決定し、
    前記移動ベクトルMsに対して逆方向を前記毛並反力の
    作用する向きとすることを特徴とする物体の毛並接触感
    シミュレーション装置。
  6. 【請求項6】 請求項4または5に記載のシミュレーシ
    ョン装置において、 仮想物体の表面近傍に、複数の毛並テクスチャを層構造
    をなすように重ねてマッピングし、作用点に最も近い層
    にマッピングされた毛並テクスチャを用いて毛並反力を
    求める演算を行うことを特徴とする物体の毛並接触感シ
    ミュレーション装置。
  7. 【請求項7】 請求項1〜6のいずれかに記載のシミュ
    レーション装置において、 作用点の移動速度が大きくなればなるほど、毛並反力の
    大きさを大きく設定する演算を行うことを特徴とする物
    体の毛並接触感シミュレーション装置。
  8. 【請求項8】 請求項1〜7のいずれかに記載のシミュ
    レーション装置において、 演算制御手段が、仮想物体の表面と作用点との距離dに
    基づいて定まる面反力Fsを演算する機能を有し、この
    面反力Fsと毛並反力Fhとの合成力に基いて作用点に
    加えるべき制御力を示す力制御ベクトルを求めることを
    特徴とする物体の毛並接触感シミュレーション装置。
  9. 【請求項9】 請求項8に記載のシミュレーション装置
    において、 仮想物体を定義するための情報として、仮想物体の硬さ
    を示すパラメータKを設定できるようにし、面反力Fs
    の大きさを、パラメータKと距離dとの積(K・d)に
    基いて決定するようにし、面反力Fsの向きを、作用点
    近傍の仮想物体表面に立てた法線の向きとすることを特
    徴とする物体の毛並接触感シミュレーション装置。
  10. 【請求項10】 請求項1〜9のいずれかに記載のシミ
    ュレーション装置において、 仮想物体を表示するためのディスプレイと、 物体情報設定手段内に設定された情報および位置検出部
    が検出した作用点の位置の情報に基いて、前記ディスプ
    レイの画面上の所定の表示位置に仮想物体の形状および
    作用点を描画する物体形状描画手段と、 を更に設け、オペレータに仮想物体の形状および位置な
    らびに作用点の位置を提示できるようにしたことを特徴
    とする物体の毛並接触感シミュレーション装置。
  11. 【請求項11】 請求項1〜10のいずれかに記載のシ
    ミュレーション装置において、 二次元平面上に配置された多数の毛根点と、これら各毛
    根点上に標準方向を向いて定義された毛並ベクトルとに
    よって構成される標準テクスチャをオペレータに提示す
    る機能と、 オペレータの指示に基いて前記各毛並ベクトルの向きを
    修正する機能と、 修正後に各毛根点に定義されている毛並ベクトルからな
    る毛並テクスチャを、毛並の方向を定義するための情報
    として物体情報設定手段に格納する機能と、 を有する毛並テクスチャ作成手段を更に設けたことを特
    徴とする物体の毛並接触感シミュレーション装置。
  12. 【請求項12】 請求項1〜9のいずれかに記載のシミ
    ュレーション装置における演算制御手段としてコンピュ
    ータを機能させるためのプログラムを記録したコンピュ
    ータ読み取り可能な記録媒体。
  13. 【請求項13】 請求項1〜11のいずれかに記載のシ
    ミュレーション装置において、 力トランスデューサの作用部を、オペレータの指先に嵌
    めて固定できる指サックにより構成し、オペレータの指
    の動きに基いて作用点が移動できるようにするととも
    に、力制御ベクトルに基く制御力が前記指サックを介し
    てオペレータの指に伝達されるように構成したことを特
    徴とする物体の毛並接触感シミュレーション装置。
JP22545998A 1998-07-24 1998-07-24 物体の毛並接触感シミュレーション装置 Expired - Lifetime JP3722993B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22545998A JP3722993B2 (ja) 1998-07-24 1998-07-24 物体の毛並接触感シミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22545998A JP3722993B2 (ja) 1998-07-24 1998-07-24 物体の毛並接触感シミュレーション装置

Publications (2)

Publication Number Publication Date
JP2000047566A true JP2000047566A (ja) 2000-02-18
JP3722993B2 JP3722993B2 (ja) 2005-11-30

Family

ID=16829678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22545998A Expired - Lifetime JP3722993B2 (ja) 1998-07-24 1998-07-24 物体の毛並接触感シミュレーション装置

Country Status (1)

Country Link
JP (1) JP3722993B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541789A (ja) * 2010-11-09 2013-11-14 コーニンクレッカ フィリップス エヌ ヴェ 触覚型フィードバックを備えたユーザインタフェース
JP2014119316A (ja) * 2012-12-14 2014-06-30 Nikon Corp 振動装置及び振動プログラム
JP2016122445A (ja) * 2014-12-19 2016-07-07 イマージョン コーポレーションImmersion Corporation 触覚フィードバックを伴うオブジェクト操作のためのシステム及び方法
JP2017182495A (ja) * 2016-03-30 2017-10-05 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US10606359B2 (en) 2014-12-19 2020-03-31 Immersion Corporation Systems and methods for haptically-enabled interactions with objects
CN113947653A (zh) * 2021-09-27 2022-01-18 四川大学 一种真实质感毛发的模拟方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541789A (ja) * 2010-11-09 2013-11-14 コーニンクレッカ フィリップス エヌ ヴェ 触覚型フィードバックを備えたユーザインタフェース
JP2014119316A (ja) * 2012-12-14 2014-06-30 Nikon Corp 振動装置及び振動プログラム
JP2016122445A (ja) * 2014-12-19 2016-07-07 イマージョン コーポレーションImmersion Corporation 触覚フィードバックを伴うオブジェクト操作のためのシステム及び方法
US10606359B2 (en) 2014-12-19 2020-03-31 Immersion Corporation Systems and methods for haptically-enabled interactions with objects
JP2017182495A (ja) * 2016-03-30 2017-10-05 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
CN108604130A (zh) * 2016-03-30 2018-09-28 索尼公司 信息处理设备、信息处理方法和非暂态计算机可读介质
CN113947653A (zh) * 2021-09-27 2022-01-18 四川大学 一种真实质感毛发的模拟方法

Also Published As

Publication number Publication date
JP3722993B2 (ja) 2005-11-30

Similar Documents

Publication Publication Date Title
Basdogan et al. Haptic rendering in virtual environments
Massie Initial haptic explorations with the phantom: Virtual touch through point interaction
Salisbury et al. Haptic rendering: introductory concepts
US6084587A (en) Method and apparatus for generating and interfacing with a haptic virtual reality environment
Gao et al. Haptic sculpting of multi-resolution B-spline surfaces with shaped tools
US6111577A (en) Method and apparatus for determining forces to be applied to a user through a haptic interface
US7818153B2 (en) System and method for constraining a graphical hand from penetrating simulated graphical objects
US8350843B2 (en) Virtual hand: a new 3-D haptic interface and system for virtual environments
US20070268248A1 (en) Method and apparatus for determining forces to be applied to a user through a haptic interface
US20060119578A1 (en) System for interfacing between an operator and a virtual object for computer aided design applications
CN111665933A (zh) 虚拟或者增强现实中的对象操作方法及装置
JP2009276996A (ja) 情報処理装置、情報処理方法
Hirota et al. Providing force feedback in virtual environments
JP3722994B2 (ja) 物体の接触感シミュレーション装置
Wong et al. Virtual 3d sculpting
JP3722993B2 (ja) 物体の毛並接触感シミュレーション装置
JP3722992B2 (ja) 物体の接触感シミュレーション装置
US7155673B2 (en) System and method of interactive evaluation of a geometric model
Pihuit et al. Hands on virtual clay
JP2000047563A (ja) 物体の把持動作シミュレーション装置
JPH11272157A (ja) 物体の把持動作シミュレーション装置
Han et al. Ar pottery: Experiencing pottery making in the augmented space
Ehmann et al. A touch‐enabled system for multi‐resolution modeling and 3D painting
Sato et al. 3D freeform design: interactive shape deformations by the use of CyberGlove
JP4726355B2 (ja) 画像処理装置および画像処理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050914

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 7