JPH0644006A - オブジェクトを動的に選択及び操作する方法 - Google Patents

オブジェクトを動的に選択及び操作する方法

Info

Publication number
JPH0644006A
JPH0644006A JP5081570A JP8157093A JPH0644006A JP H0644006 A JPH0644006 A JP H0644006A JP 5081570 A JP5081570 A JP 5081570A JP 8157093 A JP8157093 A JP 8157093A JP H0644006 A JPH0644006 A JP H0644006A
Authority
JP
Japan
Prior art keywords
objects
user
wipe
stroke
segment
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
JP5081570A
Other languages
English (en)
Other versions
JP3789946B2 (ja
Inventor
P Morand Thomas
ピー.モラン トーマス
Elin R Pederson
アール.ピーダーセン エリン
Michael K Mccall
ケイ.マコール マイケル
Frank G Halasz
ジー.ハラズ フランク
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 JPH0644006A publication Critical patent/JPH0644006A/ja
Application granted granted Critical
Publication of JP3789946B2 publication Critical patent/JP3789946B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)

Abstract

(57)【要約】 【目的】 本発明は、描画および編集のための方法に関
し、オブジェクト指向ディスプレイ表現に基づいた描画
編集システムを提供することを目的とする。 【構成】 ユーザが入力装置を操作することによってコ
ンピュータ制御されたディスプレイ装置に表示されたオ
ブジェクトを動的に選択および操作する方法において、
ユーザがアプリケータにアクセスするための手段を提供
する段階(a)と、オペレータをアプリケータに関連さ
せる手段を提供する段階(b)と、ディスプレイの一部
分を横切って関連するオペレータを備えたアプリケータ
を掃引してアプリケータの掃引経路を定義する段階
(c)と、アプリケータを掃引することによって設定さ
れた掃引経路の範囲内にあるオブジェクトを選択する段
階(d)と、段階(d)で選択された表示オブジェクト
のそれぞれにオペレータによって影響を与える段階と、
を備えて構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、『グラフィックユーザ
インタフェースのための時間−空間のオブジェクトの包
含(Time-Space Object Containment For Graphical Use
r Interface)』と称する米国出願第07/869,55
9号と同日出願される。
【0002】本発明は、コンピュータ制御された図形の
描画および編集のためのシステムと方法に関し、より詳
細には、オブジェクト指向ディスプレイ表現に基づいた
そのような描画編集システムに関する。
【0003】
【従来の技術及び発明が解決しようとする課題】一般的
に、図形描画編集システムには2つの種類があり、それ
はペインティングプログラム(painting programs) と構
造化描画プログラム(structured drawing programs) と
である。ペインティングプログラムは、ユーザがライン
(または、”スプレー”パターン("spray" patterns))
をペイントすることを可能にし、そして通常は画素の2
次元配列である1つの画像に基づいた表現をユーザが消
去することを可能にする。構造化描画プログラムは、ユ
ーザが幾何学的に定義されたオブジェクトを生成し、修
正し、そして削除することを可能にする。画像表現(ima
ge representation)と区別してのオブジェクトに基づく
表現(object-basedrepresentation) は計算に関しての
多くの利点を有するが、そのような表現のためのユーザ
インタフェースは一般的により多くの別個の(離散的)
アクションを用い、そのことはユーザにとってより使い
づらいものであった。特に、ノート型ディスプレイから
ホワイトボード型ディスプレイまでの種々の寸法のディ
スプレイに対するペン(または、スタイラス)入力装置
を備えたコンピュータシステムに関しては困難な問題を
有する。多くの描画システムは、描画することを可能と
し、かつ、例えばペンに基づいた運動によって画像を消
去することを可能にするとともに、それは画素配列画像
表現に基づいて1つの画素毎に実現される。オブジェク
トに基づく表現が使用される場合には、消去は、あるオ
ブジェクトの周囲にループを描いて次に削除操作を喚起
するような別個のアクションによってなされる。
【0004】この問題はグループでの会議および発表会
を支援するための大規模な対話型ディスプレイにとって
はより不都合なものである。1つの例は、1992年 5月 3
日〜7日、Monterey CA で開催されたHuman Factors in
Computing Systemsに関する米国計算機学会(ACM) の会
議の、1992年のCHIの議事録で発表された研究論文に
記述されるライブボード(Liveboard) である。そのライ
ブボードはディスプレイのための画素マップに基づく表
現を必要とするビットマップペインティングプログラム
を用いるものである。これはオブジェクトを取り扱う際
の柔軟性を非常に制限するものである。
【0005】本発明が目的とするものは、スクリーン上
に表示されるオブジェクトを入力装置を用いて動的に選
択しかつ操作する方法である。
【0006】本発明がさらに目的とするものは、オブジ
ェクトに基づいた表現を生成しかつ修正するための入力
装置を用いた表示システムである。
【0007】もう1つの本発明が目的とするものは、1
つの運動で1つあるいは複数のオブジェクトを操作する
ための自然な手と腕の運動を利用することのできる連続
運動感応入力装置を備えた表示システムである。
【0008】本発明がさらに目的とするものは、ユーザ
とオブジェクトに基づいた表現を用いた表示システムと
の間の新規のインタフェース技術であり、それは、それ
が多様な高速かつ動的な表示の選択および操作を可能に
するので強力であることを特徴とするが、それにもかか
わらずそれは選択および操作がありふれたユーザアクシ
ョンを備えるので自然なものである。
【0009】本発明は、オブジェクトに基づいた表現を
用い、かつシステム表示スクリーン上に表示されるオブ
ジェクトを選択し操作するための入力装置を有する表示
システムを取り扱うものである。
【課題を解決するための手段】
【0010】本発明は、表示されたオブジェクトが前記
オブジェクトの1組のオブジェクトに基づいた表現とし
て記憶された少なくとも1つのオブジェクトを備え、ユ
ーザが入力装置を操作することによってコンピュータ制
御されたディスプレイ装置に表示された前記オブジェク
トを動的に選択および操作する方法において、(a)ユ
ーザがアプリケータにアクセスするための手段を提供す
る段階と、(b)オペレータをアプリケータに関連させ
る手段を提供する段階と、(c)ディスプレイの一部分
を横切って関連するオペレータを備えたアプリケータを
掃引してアプリケータの掃引経路を定義する段階と、
(d)アプリケータを掃引することによって設定された
掃引経路の範囲内にあるオブジェクトを選択する段階
と、(e)段階(d)で選択された表示オブジェクトの
それぞれに前記オペレータによって影響を与える段階
と、を備えるオブジェクトを動的に選択および操作する
方法である。
【0011】本発明の1つの側面によれば、ユーザの制
御下において1つのアプリケータ(applicator)が提供さ
れる。そのアプリケータはユーザの制御下での1つのオ
ブジェクトである。アプリケータの位置は、スクリーン
上に表示される場合、例えば入力装置としてのペンまた
はマウスによるユーザの運動に追随する。もしペンが、
例えば、ディスプレイ表面上を掃引されれば、2次元
(2−D)のアプリケータオブジェクトがペンによって
描かれる経路に沿って掃引される。そのアクションは、
ホワイトボードの表面のワイピング(wiping)のために布
またはスポンジを移動させることに類似しており、した
がってそれはユーザにとっては自然なワイピング運動で
ある。このワイピングアクションからのディスプレイへ
の作用は、ユーザによってアプリケータと関連づけられ
るオペレータ(operator)の性質に依存し、また表示され
たどのオブジェクトが選択されかつ操作されるかについ
てユーザが決めた基準に依存する。
【0012】本発明のもう1つの側面によれば、アプリ
ケータは表示されたオブジェクトに影響を及ぼすことが
できる複数のオペレータの1つに関連づけられている。
例えば、グループ化し(grouping)、削除し(deleting)、
カットし(cutting) 、複写し(copying) 、選択し(selec
ting) 、色づけし(coloring)、位置づけし(positionin
g) 、または取り消す(undoing) ような、多くの種類の
オペレータが用いられてもよい。この同一の自然なペン
のようなワイピングアクションを複数の異なったオブジ
ェクトに影響するアクションに関連づける能力がこの発
明的な技術の効力と一貫性を向上させるのである。
【0013】本発明のさらにもう1つの側面によれば、
ワイピングアクションによって影響されるオブジェクト
は、好ましくは、ユーザコマンドが欠落している場合に
有効な省略時の基準によってユーザによって決定される
ものであってもよい。使用される基準は多様な環境にわ
たるものである。例えば、2次元のワイピング運動によ
って交差するすべてのオブジェクトが選択されてもよ
く、あるいは、最小の共通部分またはしきい値の共通部
分を満足するオブジェクトだけが選択されてもよい。ま
た、使用される基準は、選択に関して、ワイピング運動
から一定の距離の範囲内にあるすべてのオブジェクトを
包含してもよく、あるいは、お互いが一定の時間間隔の
範囲内に生成されたすべてのオブジェクトを包含しても
よく、あるいは、任意述語(arbitrary predicate) によ
ってフィルタされたオブジェクトを包含してもよい。
【0014】現在用いられているペインティングプログ
ラムはいくつかのワイプのようなアクション(すなわ
ち、ペインティング)を可能とするが、それらのプログ
ラムは画像に基づいた表現にペインティングするのであ
る。本発明は、オブジェクトに基づいた表現にワイピン
グ技術を適用し、そうすることによって、ワイピングに
よって適用されるオペレータの範囲を一般化する。した
がって、画像に基づいた表現とオブジェクトに基づいた
表現との間の差異が本発明にとっては重要である。
【0015】オブジェクトに基づいた表現は独立して記
述されたオブジェクトの集合から構成される。”オブジ
ェクト”という用語はアプリケーション領域のセマンテ
ィックな(意味論的)側面(semantic aspect) を表現す
る(例えば、ワードプロセッサーでの文字、語、および
文節、描画システムでのストローク、プロジェクト管理
システムでの時間的なイベントおよび従属性(temporal
events and dependencies)、など)。それぞれのオブジ
ェクトは、そのオブジェクトの1組の特性を記述するデ
ータ構造体によって表現される。特性は、位置的および
視覚的属性だけでなく抽象的属性(abstract attribute
s) およびアプリケーション固有属性をも表現してもよ
い。それぞれのオブジェクトはポインターあるいは識別
子によって固有にアドレスすることができ、したがっ
て、オブジェクトはそれらの記述によってお互いを参照
してもよい。また、オブジェクト間の関係または条件(c
onstraints) を記述するオブジェクトがあってもよい。
したがって、記述されたオブジェクトはいくつかの有益
な特徴を有する。例えば、 1.オブジェクトは空間に任意に分散されてよい。 2.オブジェクトは空間的にお互いに重なり合ってもよ
い。 3.オブジェクトは空間の新規の位置に移動せしめられ
てもよい。 4.オブジェクトは表現から削除されてもよい。 5.新規のオブジェクトはいかなる空間的な位置にある
表現にも追加されてもよい。 6.オブジェクトは、任意の計算によって変更されるそ
れ自身の物理的および抽象的な特性の両方を有してもよ
い。
【0016】すべてのオブジェクトは単一のリストとし
て集合されることだけを必要とする。なぜなら、オブジ
ェクトはそれ自身がどのようにそれらが空間的に調和す
るかを完全に記述するからである。オブジェクトに基づ
いた表現は、ディスプレイのハードウェアおよびソフト
ウェアを用いてオブジェクトをスクリーン上に表示する
ために、ポストスクリプト(PostScript)のような手順的
知識表現(proceduralrepresentations)かまたは画素配
列のような画像に基づいた表現のいずれかに翻訳され
る。ユーザがオブジェクトに基づいた表現を操作するこ
とを可能にするために、スクリーン座標による入力が特
定のオブジェクトにマッピングしなおされてもよい。そ
して、オブジェクトに対する結果としてのいかなる変更
も新規のディスプレイに再翻訳される。
【0017】画像に基づいた表現は、密集した(すなわ
ち、空間全体にフィル(fill)された、即ち、空間を充填
する)セルからなる空間構造(compact cellular spatia
l structure)からなり、通常(限定はされないが)、矩
形状セルの2次元配列である。”画素”と呼ばれるそれ
ぞれのセルは画像の小さな唯一の空間領域を表現する。
画素はただそれらの領域の視覚的な特徴を記述するだけ
である(画素のデータ構造体においてたとえ他の特性を
記録することが可能でも)。画像表現はしばしば複数の
層からなり、それぞれの層は独立した配列であり、画像
は異なった層のそれぞれの画素を組み合わせることによ
って構成される。画素はオブジェクトに類似するように
思えるが、画素はオブジェクトに関して先に列挙された
6つの特徴を満足することができない。
【0018】画像に基づいた表現は直接に表示されても
よく、またそれらはスクリーン座標によるユーザからの
入力に応答して操作されてもよい。しかしながら、画像
に基づいた表現に対する操作が入力に隣接する画素に影
響を及ぼし、かつ空間的に隣接する画素への影響を広め
る点において、画像に基づいた表現に対する操作は入力
に関して”局部的”であることに制限される。例え
ば、”スプレー”操作はスプレー入力点からある距離の
範囲内にある画素の色を変更する。”ブリード(bleed)
”操作は入力点の色を変更し、隣接する画素に減少せ
しめられた輝度による色の変更を適用し、色の変更がな
くなるまでこの処理を続行する。そして”フィル(fil
l)”操作は入力点の画素の色を変更し、なんらかの”境
界色(boundary color)”(例えば、黒)に遭遇するまで
反復して隣接する画素に変更を広げる。
【0019】オブジェクトを表現しながら画素の組を識
別するために、画像に基づいた表現を開始し、そして表
現に”認識”操作を適用することは可能である。もしこ
のことがなされてこれらの認識されたオブジェクトを表
現するためのデータ構造体が生成されるならば、このデ
ータ構造体はオブジェクトに基づいた表現であると考え
られる。
【0020】
【実施例】図1は、参照されたライブボードの研究論文
に記述された形態の本発明が特に有効なホワイトボード
10を概略的に図示する。ホワイトボードの詳細は本発
明にとって欠くことのできないものではないので説明さ
れない。ここでは、図示されたシステムは、コンピュー
タ14によって、かつコンピュータ14の制御下で決定
されたオブジェクトをスクリーン上に投影または表示す
るための手段12を有する表示スクリーン11を備え
る、とだけ説明するにとどめる。ライブボードにおい
て、投影手段は、スクリーン11上に投影され表示され
るオブジェクトを生成する液晶装置15を用いてTV投
影システムをシミュレートする。好ましくはコードレス
のペンのようなまたはそれに類似する描画装置20がシ
ステムに結合され、またペンのいかなる運動の開始およ
び終了をも制御するための手段を備える。例えば、ディ
ジタイザまたはマウスを用いる場合のように、ペンは信
号が接続または切断されるときにアクションを選択する
ボタン21を有する。加えて、そのペンは感圧チップス
イッチ22を有し、ペンアクション信号の開始または終
了としてホワイトボードによって認識されるスクリーン
に押しつけられるときに、そのスイッチ22はアクショ
ンを選択する。ホワイトボードにこれらのペン信号また
はコマンドを伝達する手段はディジタイザタブレットで
使用されるものと同様のものであってもよい。後述され
るように、ワイピングは連続的運動感応入力装置によっ
て動かされるので、それはユーザにとって自然なワイピ
ング運動である。”連続的運動感応入力装置”という用
語は、ディスプレイ表面上を移動させることのできる入
力装置(スタイラスのような)、またはディスプレイの
カーソルに電子的にマップされる表面上を移動させるこ
とのできる入力装置(ペンとタブレットのような、また
はマウスのような)のいかなるものをも意味するもので
ある。ここでは、そのようないかなる装置をも簡単のた
めにペンと呼ぶことにする。
【0021】ホワイトボード10はスクリーン上のペン
20の位置を、とりわけそのXY座標を認識することが
できなければならない。このことはスクリーンの背面に
ディジタイザグリッド(図示されない)を装着すること
によって、またディジタイザグリッドと協力してペンの
位置を突き止めるための電磁気的、静電的、またはその
他の手段を備えたペンを装備することによって実現され
てもよい。
【0022】別の方法として、タッチスクリーンにおけ
るような、スクリーンの背面に配置された検出器モジュ
ール25に画像化される光学的放射のビーム24を生成
する手段をペンに装備してもよい。この好ましい実施例
によれば、ペン20は表示スクリーンに接触させる必要
はなく、ユーザは遠隔からの位置指定およびジェスチャ
ーによる入力のためにスクリーンから一定の距離だけ離
れて入力することができる。このようなシステムの構成
と操作のより詳細なことは参照されたライブボードに関
する研究論文を調査することによって理解することがで
きる。
【0023】上述したように、システムは、ユーザによ
って信号が送出されたときにペンの位置を計算あるいは
決定するための適切なメモリー13を備えたコンピュー
タ14を含み、また、ペイントブラシ(Paintbrush)また
はマックペイント(Macpaint)のような既知のグラフィッ
ク描画編集システムによって用いられるものと類似した
方法によって、ユーザの制御下でスクリーン上に表示さ
れる表現を生成し記憶することができる。しかしなが
ら、本発明のシステムにおいては、それぞれの表現は画
像に基づいた表現と区別してのオブジェクトに基づくも
のである。このことをなすための方法はオブジェクト指
向デザインに関する公表された文献に詳細に記述され
る。ワイピング運動がどのように表示されたオブジェク
トと相互作用するかを理解するのを助けるための1つの
例として、オブジェクトの例は、例えば、オブジェクト
のスクリーン位置の座標、オブジェクトの色、オブジェ
クトを定義するラインの太さ、オブジェクトフィルパタ
ーン(object fill patterns)、オブジェクト生成時刻、
など、を含むことのできるデータ構造体のフィールドに
記憶されるオブジェクトの特性または属性を有する、C
言語の struct 文またはPascal(パスカル)のrecord文
のようなデータ構造体とみなすことができがある。
【0024】1つの例として、ストロークオブジェクト
のための典型的なデータ構造体が以下に示される。この
例では、C++言語のクラスが例示される。オブジェク
トはデータ構造体とそのデータに対する1組の演算によ
って記述される。
【0025】ストロークオブジェクトは次のデータによ
って記述されてもよい。 pageN ストロークが配置される原稿のページ pageX 原稿ページ上のストロークの開始位置のXY座標 pageY pageL ストロークが配置されるページの層 Nsegments ストロークの経路におけるセグメントの数(セグメント については以下で説明される) path: dx1,dy1 ストロークの形状を定義する経路のそれぞれのセグメン dx2,dy2 の長さと方向を記述するdx,dy 対のリスト dx3,dy3 dx4,dy4 . . color 3つの成分の色コード transparency 色の透明度 thickness ストロークラインの太さ line style ラインの種類(例えば、破線) bounding box ストロークを囲む最小の長方形のtop,bottom,left,およ びright の座標(これは開始位置、path、thickness か ら計算される) creation time 生成時のクロック時刻 last mod time 最終更新のクロック時刻 groups このストロークが包含されるグループのリスト tags このストロークに付与される任意のタグのリスト property list 任意の属性値の対のリスト
【0026】他の種類のオブジェクトは、そのオブジェ
クトに固有のその他のフィールドだけでなくストローク
オブジェクトと同一のいくつかのフィールドを有する。
よく知られているように、オブジェクト指向言語は、そ
れをあるいはそれらを表示するのに必要とされる方法に
よってオブジェクトを表現するデータを密閉する(encap
sulate) 。表示はオブジェクトにメッセージを送信する
オペレーティングシステムによってなされスクリーン上
にそれ自身を表示する。その他の共通の機能と同様にス
クリーン上にオブジェクトを印刷あるいは表示するこれ
らの機能を実行するためにC++言語のライブラリにお
けるルーチンが利用できる。
【0027】オブジェクトの選択はそれのいかなる属性
を使用してなされてもよい。簡単のために、オブジェク
トのXY座標が選択基準として使用される好ましい手順
を説明する。このことを実現する1つの簡単な方法は、
表示されるそれぞれのオブジェクトを表現するデータ構
造体に関係づけて考えることであり、つまり、それの位
置座標から既知の方法によって、メモリーのオブジェク
トのデータ構造体にXY座標が記憶される境界ボックス
(bounding box)を計算することである。
【0028】以下の説明において、ユーザはスクリーン
上に表示される少なくとも1つのオブジェクトを生成し
ているものと仮定する。参照されるグラフィック描画プ
ログラムのように、ユーザが希望することを実行するた
めにイベント(事象)を生成してソフトウェアを起動す
るためにユーザによって使用される一連のボタンまたは
アイコンをスクリーンの縁に沿って表示することは表示
スクリーンにとって好都合なことである。図2は、本発
明を実現するための1組のボタンまたはアイコンを備え
た1つの簡単なスクリーン表示の例を例示する。左側の
スクリーンの縁に沿ったボタン/アイコン35はペン機
能を設定し、スクリーンの底辺に沿ったボタン/アイコ
ン36はワイピングオペレータを決定する。例示された
例においては、ペン機能は、それぞれボタン37および
38に関連づけられるDRAWおよびWIPEと、図示
されないその他の機能とである。例としてのみ図示され
るワイピングオペレータのボタンは、DELETE4
0、THICKEN41、THIN42、FILL4
3、COLOR44、および、UNDO45である。よ
く知られているように、ユーザが特定のボタンまたはア
イコンの上または近傍にペンを置いてペンのスイッチま
たはボタンを作動すると、コンピュータはペンの位置か
らユーザによって選択された機能またはオペレータを決
定する。
【0029】また、図2は、描画ボタンおよび希望され
る幅設定ボタン(図示されない)を作動したのちにユー
ザによって描画されることによって生成された数個のオ
ブジェクト47、48、49をスクリーン上に図示す
る。表示されたオブジェクトは、それぞれ、ペンのスイ
ッチが作動されている間のユーザによる単一の描画スト
ロークからなる。あるいは、多角形、円、またはその他
の形状が生成されるとき、全体の形状が単一のオブジェ
クトとして取り扱われてもよい。
【0030】ユーザインタフェースとしてのワイピング
作業の方法は次のシナリオによって説明される。ペンを
持ったユーザがボタン38に触れて”ワイプモード”に
入る。システムが1つのアプリケータを提供する。ユー
ザは削除オペレータ(deleteoperator) 40を選択して
アプリケータに関連づけるか、または、省略時解釈によ
ってアプリケータが削除オペレータを開始して消しゴム
(eraser)になる。ユーザはワイピングによっていくつか
のオブジェクトを消去し、そしてカラーボタン44に触
れる。カラースペクトル(図示されない)がポップアッ
プし、ワイパーでメイクレッドボタン(make-red butto
n) を選択する。ここでワイピングはオブジェクトを赤
色に変える。いくつかのオブジェクトにそのようにした
後、ユーザが赤色に変えられたオブジェクトが多すぎる
ことに気がつく。ユーザはワイパーを取り消しボタン(U
ndo button) に”入れて(dips)”、取り消しをオペレー
タにする。そして赤色に変えられるべきではないと考え
られるオブジェクトをワイピングすることによってそれ
らは元の色に復元される。最後にユーザはワイプモード
から出る。
【0031】より明白には、ワイピングの構成要素は以
下の通りである。 1.アプリケータ。データオブジェクトとしてのアプリ
ケータは経路領域(path region) を決定する形状と寸法
とを有する。コンピュータによって記憶されるアプリケ
ータの経路は直線セグメントの連鎖から構成され、その
終了は感知されたペンの位置である。したがって、経路
領域は経路領域セグメントの連鎖から構成される。例え
ば、長方形のカーソルは六角形(以下で説明される)の
経路領域セグメントを生じさせる。アプリケータの形状
と寸法は、好ましくは、ユーザによって定義することが
可能であり、換言すると、異なった仕事を実現するため
に変化させることができるということである。
【0032】2.選択の基準。ワイピングの概念的機能
は操作されるべきオブジェクトを選択またはグループ化
することである。基本的には、それの領域がワイプ経路
領域に交差するオブジェクトが選択され、それはアプリ
ケータの経路領域の座標との交差についてそれぞれの表
示されたオブジェクトの境界ボックスの座標を検査する
ことによってソフトウェアで簡単に実現される。しかし
ながら、交差したオブジェクトが実際に選択されるかを
判定するために使用される他の選択基準が存在する。も
っとも簡単な基準は交差しきい値であり、それはワイプ
経路領域によって交差されるオブジェクトの領域の割合
を測定するものである。もっとも寛大な基準はゼロでな
い交差しきい値であり、すなわち、アプリケータによる
オブジェクトのわずかな接触ですらそのオブジェクトを
選択させられる。厳密な100%のしきい値は通常有効では
ないが、高い、低い、および、過半数(50%) のしきい値
はそれらの用途を有する。交差しきい値はこれらの環境
下で動的に計算されることに注意されたい。触れること
によってどのようにして選択されるオブジェクトを決定
するかのより厳格な記述は以下で明らかとなる。ワイプ
が進むにつれて、ワイプ経路は成長し、ワイプがしきい
値に到達するまで1つのオブジェクトにますます交差す
る。例えば、図2はユーザによって形成されたワイプ経
路領域50を破線で例示する。しきい値がだいたい30%
に設定されていると仮定すると、1つのアッパーケース
の文字(大文字)と3つのロアーケースの文字(小文
字)の分離されたグループから構成されるオブジェクト
47が選択される。次のオブジェクト48の頭文字のア
ッパーケースの文字もまた選択される。もしオペレータ
がDELETEであれば、3つの項目のすべてが消去さ
れる。文字Bの消去はたぶん意図されないので、ここが
UNDOオペレータを文字Bに適用することによってD
ELETEオペレータが無効にされる部分である。
【0033】その他の有効な選択基準が存在し、それは
通常は作業に関して特有なものである。アプリケータ
は、通常はアプリケータが選択しようとするオブジェク
トの種類に比例した寸法と形状であるように設計され
る。例えば、ワイピングが手書きの語を横切って簡単に
なされるように、手書きの語のストロークを選択しよう
とするアプリケータはその語の高さよりいくぶん小さい
寸法であるように作られる。この意図を与えれば、有効
な選択基準は語の一部であるには大きすぎるいかなるス
トロークをも除外する。したがって、語を取り囲むボッ
クスを描写するストロークがワイプされるとき、そのス
トロークは選択されない。この基準は計算するのに動的
な交差しきい値より容易である。
【0034】もう1つの例は、表示されるオブジェクト
が1組の2次元の層に編成される場合である。ここで
は、特殊化された基準は、どの層にオブジェクトがある
かによってオブジェクトが選択されるフィルタである。
【0035】また、選択のために使用されてもよい時間
に基づいた基準が存在し、それは以下で記述される。
【0036】3.ワイプアクションの範囲規定(scopin
g) 。ワイピングの範囲(scope) を定義するのに使用さ
れる4つの入れ子の時間の間隔が存在する。それは、ワ
イプセッションの範囲と、オペレータの範囲と、ワイプ
ストロークの範囲と、ストロークの枝の範囲と、であ
る。(A)もっとも大きな範囲はワイプセッションであ
る。ワイプセッションは一連のワイプストロークと可能
なオペレータの変更とからなる。ワイプセッションは通
常はある種のワイプモードに出入りすることによって区
切られる。(B)ワイプセッションは少なくとも1つの
オペレータの範囲に分割される。オペレータの範囲はオ
ペレータが変更されないままでいる時間間隔である。オ
ペレータの範囲は一連のワイプストロークから構成され
る。(C)それぞれのワイプストロークはディスプレイ
表面にペン装置を接触させ(または、ペンボタンが押さ
れる)、ディスプレイ表面に沿って滑らせ、それから、
ディスプレイ表面から引き上げる(または、ボタンを離
す)ことによって定義される。もし枝が存在すれば次の
(D)で定義される枝の範囲がもっとも小さい範囲を定
義するが、もし枝が存在しなければ、ワイプストローク
の間隔がもっとも小さい範囲を定義する。(D)枝の範
囲。急な方向反転を有するストロークは反転によって”
枝(branches)”に分割される。例えば、2つの反転を備
えたストロークは3つの枝を有する。枝の範囲は枝の時
間である。例えば、上述の例では、それらの枝は、スト
ロークの開始点から第1の反転までと、第1の反転から
第2の反転までと、第2の反転からストロークの終了ま
でとである。
【0037】4.選択されたオブジェクトのグループ
化。これらの間隔は選択されるオブジェクトの自然なグ
ループ化を定義する。1つの枝によって選択されるオブ
ジェクトの組は枝グループと呼ばれ、1つのワイプスト
ロークによって選択されるオブジェクトの組はワイプス
トロークグループを形成し、1つのオペレータの範囲に
よって選択されるオブジェクトの組はオペレータグルー
プを定義し、1つのワイプセッションで選択されるオブ
ジェクトの組はワイプセッショングループを構成する。
【0038】5.適用(アプリケーション)のダイナミ
ックス(dynamics of application)。選択されるオブジ
ェクトの計算は好ましくは動的に発生する。ペン入力装
置でユーザがワイプする間に、例えば、オブジェクトが
選択基準に合致すると、適切なリストにオブジェクトへ
のポインタを格納することによって、ワイプストローク
セグメントが生成され、それでオブジェクトが選択され
る。通常、オブジェクトが選択されるときは、オペレー
タがオブジェクトに適用される。例えば、オペレータが
削除であれば、実際の消しゴムの効果のまねをして、ユ
ーザがワイプするときにオブジェクトが削除される。し
かしながら、オペレータの適用が遅延されてもよい。遅
延の1つの形態は、ワイプストロークが完了されるまで
適用を控えることであり、それから、オペレータをワイ
プストロークグループに適用することである。もう1つ
の形態は、ワイプセッションが終了されるまで遅延され
ることであり、それでオペレータをワイプセッショング
ループ全体に適用することである。
【0039】6.ワイプのためのフィードバック。ワイ
ピングの過程の間でユーザへの聴覚および(あるいは)
視覚のフィードバックが存在してもよい。聴覚のフィー
ドバックは、ワイプストロークが生成されているとき、
オブジェクトが選択されるとき、またはオペレータが適
用されたときに、信号を送出するのに使用されてもよ
い。視覚のフィードバックがワイプストロークを見るこ
とのできるものにしてもよく(例えば、明るいマーカー
ペンが提供するような背景が透明のような)、または、
選択されるオブジェクトが種々の方法で明るくされても
よい(例えば、区別的な色または影によって)。視覚的
なフィードバックの継続期間は、通常、ワイプセッショ
ンの終了までである。
【0040】7.適用されるオペレータ。多くの異なっ
た種類のオペレータが選択されるオブジェクトに適用さ
れてもよい。このインタフェース技術と可能性の範囲と
の汎用性の認識を提供するためにそれらのいくつかの例
をあげる。
【0041】削除(Deleting)、切り取り(Cutting) 、複
写(Copying) 。すでに述べたように、選択されるオブジ
ェクトを削除することは実際の消しゴムによる消去を模
倣する。切り取ることはオブジェクトを削除するだけで
なく後に使用する(他の場所に貼り付けする(Pasting)
ような)ための”クリップボード”バッファにそれらを
保存するのにも使用される。複写は選択されるオブジェ
クトをそれらを削除することなく保存する。
【0042】選択(Selecting) 、グループ化(Groupin
g)、タグ付け(Tagging) 。ワイピングは単に選択のため
に使用されてもよい。1つのワイプセッションの後に、
そのワイプセッショングループがシステムによって後の
使用のために保存される。ワイピングはまたワイプスト
ロークグループを用いてオブジェクトをより高いレベル
の構造体にグループ化するのに使用されてもよい。例え
ば、もしオブジェクトが手書き文字のストロークであれ
ば、ワイプストロークは手書き文字をリストの項目に構
造化するのに使用されてもよい。タグ付けオペレータは
特色のあるタグをオブジェクトに付加するのに使用され
てもよく、それでワイピングがタグ付けのために使用さ
れてもよい。例えば、もしオブジェクトが手書き文字の
ストロークであれば、ワイピングは、例えば重要な観念
(idea)またはアクション項目を表現するときにこれらの
ストロークの部分集合(subsets) にタグ付けするのに使
用されてもよい。
【0043】オブジェクトの特性の変更。多くのオペレ
ータはオブジェクトの特性の値、例えば、色、位置、方
向、スケール、太さ、などを変更する。これらは直接の
(straightforward) ワイピングオペレータである。例え
ば、ウィンドウシステムにおいて、ワイピングはウィン
ドウを最大サイズからアイコンサイズまでにする収縮(s
hrink)オペレータを適用するのに使用されてもよい。
【0044】相対的変更のオペレータ。いくつかのオペ
レータはオブジェクトに相対的な変更を引き起こして、
例えば、色を1ビットだけより暗くし、オブジェクトを
1ビットだけ上に移動させ、オブジェクトを1ビットだ
け回転させ、あるいはオブジェクトを1ビットだけ太く
する。相対的なオペレータが特徴とすることは、それら
が繰り返して適用されて徐々により大きな変更をもたら
すことである。ワイピングによってこれらのオペレータ
を適用することは、何回それらを適用するかの論議を持
ち出す。自然なワイピング運動は前後にワイプすること
なので、1つのオブジェクトが同一のワイプストローク
で1回以上選択されるかもしれない。実際のオペレータ
に関してはこれは問題ではない。なぜなら、繰り返して
の適用は余分なものであるからである。1つの解決法
は、1つのワイプストローク、またはストロークの1つ
の枝、または1つのワイプセッション、の範囲内におい
てオペレータのだだ1回の適用だけを許可することであ
る。好ましい解決法はストロークのそれぞれの枝でオペ
レータを反復することである。
【0045】取り消し(Undoing) 。一般的な取り消しオ
ペレータもまたワイピングに適用されてもよい。例え
ば、もしメイクレッドオペレータ(make-red operator)
がアプリケータに付与され、ユーザがそれでいくつかの
オブジェクトをワイプしたと仮定して、ユーザが変えら
れるべきではないいくつかのオブジェクトが赤に変えら
れたことに気がついたとしたらどうであろう。これを解
決するために、取り消しオペレータがアプリケータに付
与され間違って赤に変えられたオブジェクトがワイプさ
れてもよく、その結果として、それらのオブジェクトを
それらの元の色に戻すこととなる。もう1つの例とし
て、もしオペレータが削除であり、いくつかのオブジェ
クトが誤って消去されたらどうであろう。オブジェクト
は消されているので取り消しオペレータによってワイプ
することは困難である。しかしながら、もしワイプ経路
が目に見えるものにされていれば、このことがどこに削
除されたオブジェクトが配置されていたかの指示を与
え、取り消しオペレータによってそれらの位置をワイプ
することがそれらを元に戻すこととなる。
【0046】このように、ワイピングの一般的なユーザ
インタフェース技術は、これらの構成要素の異なった値
の組み合わせによって定義される。与えられたアプリケ
ーションプログラムに関して、アプリケーションプログ
ラマーは、アプリケーションに対するワイピングユーザ
インタフェースを提供するために構成要素に関しての値
の範囲を定義してもよい。これらの選択は、ダイナミッ
クス(dynamics)を実現しかつアプリケーションプログラ
ムのユーザインタフェースの残りの部分にそれらを統合
するアーキテクチャーまたは制御構造に基づかなければ
ならない。
【0047】構成要素の値の範囲が提供されると、それ
らはユーザに利用できるものにされなければならない。
このための1つの簡単な標準的な技法は、アプリケータ
を定義するのにユーザが使用することのできるセッショ
ンに関する設定操作の一部として、特性シート(propert
y sheet)を備えたアプリケータに関する”ワイパーアイ
コン(wiper icon)”を提供することである。ユーザはワ
イパーの特性シートを開くことができ、例えば次の構成
要素に関する値を設定することができる。 アプリケータ 選択基準 オペレータ アプリケーションダイナミックス グループ化 フィードバック ここで、それぞれの構成要素は許可された値のメニュー
を提供する。例えば、ユーザは、注釈オブジェクト(ann
otation objects)だけを選択してそれらを”コメントリ
スト”に移動させる大きなアプリケータを有するように
ワイパーを設定し、ここで、それらのオブジェクトはワ
イプストロークでグループ化され、またダイナミックス
はそれぞれのワイプストローク後にのみ移動し、またフ
ィードバックは注釈オブジェクトが選択されるとそれら
を赤にする。
【0048】この特性シート技法はほとんどのアプリケ
ーションで必要とされる技法よりも一般的である。最低
限、ユーザはオペレータを選択することができ(でなけ
れば、それは汎用型ワイピングではない)、いちど選択
されると、その他のすべての構成要素はプログラムによ
って適切な値に設定されてもよい。したがって、ユーザ
がなすべきことはオペレータを選択することだけであ
り、これを実行することが容易なものにされてもよい。
もっとも明白な方法は、図2に示されるように、アプリ
ケーションプログラムのユーザインタフェースの一部と
してオペレータを表現するボタン、アイコン、またはメ
ニューアイテムを利用することである。ユーザはワイパ
ーアイコンを例えばボタンに移動して、そのボタンによ
って表現されるオペレータをワイパーに付与するのであ
る。
【0049】ユーザのワイピングアクションがどのよう
に表示されたオブジェクトに影響を及ぼすかをより良く
理解するために、上述された種々の側面を実現するため
に本発明で使用されるワイピングアルゴリズムを駆動す
るいくつかの種類のイベントを詳細に記述することが助
けになるであろう。これらのイベントはユーザの物理的
なアクションによって起動され、上述したようにハード
ウェアおよびソフトウェアによって検出される。好まし
い実施例におけるペンまたは通常の方法でシステムに接
続されるマウスでユーザによって影響を与えられるイベ
ントが以下に記述される。マウスの場合は、机またはテ
ーブルについていても、ユーザがホワイトボード上のオ
ブジェクトを操作することを可能にする。左側の欄は太
い文字でワイパーイベントを表し、右側の欄はそのコマ
ンドを実行するためにユーザは1つの例としてなにをし
たらよいかを説明する。 ワイプモードへ入る ユーザはワイプモードに入りたい旨の信号を送出す る。これは、例えば”ワイプモード”ボタンを押す ことによるような、いくつかの方法でなされる。 ワイプモードを出る 例えば、”描画(Draw)”ボタンを押すことによって 、ユーザはワイプモードから出て他のモードに行き たい旨の信号を送出する。 ワイパーオペレータ ユーザはワイパーによって適用されるオペレータを を設定する 示すボタンまたはアイコンに触れる。 ワイパー特性を設定 ユーザは、ボタンに触れるか、またはメニューから する ワイパーの1つの特性を設定することを選択する。 ワイパーを下ろす ユーザは入力装置を操作してワイパーがディスプレ イに”接触している”旨の信号を送出する。ペン装 置では、これはペンでディスプレイ表面に触れるこ とによってなされる。マウスでは、これはマウスボ タンを押し続けることによって信号を送出する。 ワイパーを上げる ユーザは入力装置を操作してワイパーがディスプレ イに”接触していない”旨の信号を送出する。ペン 装置では、これはペンがディスプレイ表面からペン を持ち上げることによってなされる。マウスでは、 これはマウスボタンを離すことによって信号を送出 する。 ワイパーを移動する ユーザは入力装置を操作してワイパーがディスプレ イ上の新規の位置に移動した旨の信号を送出する。 (システムは入力装置の位置を頻繁な間隔でサンプ ルして、位置が変化するたびに移動を推定する。) ペン装置では、これはディスプレイ表面に接触を保 持しながら表面上でペンを滑らせることによってな される。マウスでは、これはボタンをボタンを押し 続けながら机の上でマウスを滑らせることによって なされる。 ワイプ経路の反転 ユーザは入力装置をそれの以前の方向を反対にする 方向に移動させる。ソフトウェアアルゴリズムがこ れを検出するために使用されてもよい。
【0050】これらのイベントは、時間をいくつかの異
なった範囲に分割するのに使用される。
【0051】 ワイプセッション範囲 ワイプモードに入ってから出るまで。 ワイプ操作範囲 ワイプモードに入ってから第1のオペレータ設 定までか、またはオペレータ設定から次のオペ レータ設定までか、またはオペレータ設定から ワイプモードを出るまで。 ワイプストローク範囲 ワイパーを下げてから次に上げるまで。 ワイプセグメント範囲 ワイパーを下げてから第1の移動までか、また は移動から次の移動までか、または移動からワ イパーを上げるまで。 ワイプ枝範囲 ワイパーを下げてから第1の反転までか、また は反転から次の反転までか、または反転からワ イパーを上げるまで。 これらの範囲は時間間隔を占有するだけでなく、ワイピ
ングオブジェクトの生成をもおこなう。
【0052】もっとも基本的なオブジェクトはワイプス
トロークセグメントである。ワイプストロークセグメン
トはその2つの終了点によって定義される短い線分であ
り、その終了点はワイパーの2つに位置によって決定さ
れる。ワイパーは好ましくは無次元の点ではなくて、し
っかりした2次元形状である。したがって、セグメント
は太さのない理想化された線分ではなく、むしろ理想化
された線分に沿ってワイパーを滑らせることによって定
義される2次元形状である。
【0053】図3は1つの例を描写する。ワイパーが長
方形の形状であるとき、ワイプセグメントは図6に示さ
れるように六角形の形状である。ワイパーは理想化され
た位置Aから開始して、理想化された位置Bで検出され
る。この移動イベントは理想化されたセグメント〔A,
B〕を定義する。しかしながら、Aにあるとき、ワイパ
ーは実際には長方形領域〔a1,a2,a3,a4〕を
包含する。同様に、Bにあるとき、ワイパーは領域〔b
1,b2,b3,b4〕を包含する。したがって、ワイ
プセグメントは六角形領域〔a1,a2,a3,b3,
b4,b1〕を包含する。さらに六角形の定義は移動の
方向に依存することに注意されたい。もしBがAの下側
でありかつ左側であれば、セグメントの六角形は〔a
2,a3,a4,b4,b1,b2〕である。これはセ
グメントが何であるかのもっとも簡単な例であることに
注意されたい。セグメントはどんな形状および寸法のワ
イパーを有してもよい。ワイパーはそれが移動されると
きに向きを変えてもよい(例えば、経路ベクトルに一致
するそれの向きを保持するために)。ワイパーはそれが
移動されるときに特性を変えるてもよい(例えば、ワイ
パーは寸法を変えてもよく、またはワイパーの操作は圧
力感応入力装置に応答して定義を変えてもよい)。最後
に、ワイプセグメント経路は必ずしも直線である必要は
なく、曲線であってもよい(例えば、一連の移動の運動
を滑らかにするベジェ曲線)。
【0054】ワイプストロークはセグメントの列であ
る。ストロークの形状は単なるそのセグメントすべての
形状の加算(和集合)である。
【0055】ワイプ操作は1組のワイプストロークであ
る。
【0056】ワイプセッションは1組のワイプ操作であ
る。省略時のオペレータはワイプモードに入るときに設
定されてもよいことに注意されたい。したがって、もし
ユーザが決してオペレータを再設定しなければ、セッシ
ョン全体はただ1つの操作からなる。
【0057】ワイプストローク枝はより複雑である。な
ぜなら、それは特別の機能をなすならである。まず、ワ
イプストロークは必ずしも枝を含む必要はないことに注
意されたい。反転および枝の概念は、同一の領域を前後
に(荒っぽく)ワイプするユーザの運動を捕らえること
を試みるものである。反転を伴わないワイプストローク
はただ1つの枝のみを有する。図4は考えられる2つの
ワイプストロークを示す。図4(A)に示されるワイプ
ストローク52は、ストロークが左から右へ1つの方向
に進むときの1つの枝を有する。左から右へ(54から
57へ)、そして右から左へ(55から58へ)、そし
て最後に再度左から右へ(56へ)ユーザが明らかに前
後にワイプしている図4(B)に示されるワイプストロ
ーク53は、3つの枝54−57、55−58、および
56と、2つの反転57および58とを有する。ワイプ
ストロークに反転が存在する場合、付加的な枝が定義さ
れる。それぞれの枝はセグメントの部分列である。反転
は、ワイプストロークの座標を簡単に追跡して枝として
座標の反転を解釈する反転検出アルゴリズム(以下でよ
り詳細に述べられる)によって容易に検出される。
【0058】ワイピング技術の目的はディスプレイ上の
ターゲットオブジェクト(ワイプストロークのようなワ
イピイングオブジェクトからそれらのオブジェクトを区
別するためにターゲットオブジェクトと呼ぶ)を選択す
ることである。ワイピング技術の基本的な”エンジン”
はターゲットオブジェクトがワイプセグメントによって
選択されるものを決定することである。選択されたター
ゲットオブジェクトのリストはセグメントリストと呼ば
れる。
【0059】セグメントリストは直接のセグメント選択
アルゴリズムによって計算される。アルゴリズムはター
ゲットオブジェクトの表示領域がセグメントの領域に重
なっているかどうかに関してそれぞれのターゲットオブ
ジェクトを検査する(これはターゲットオブジェクトの
形状と位置およびセグメントの形状と位置についての幾
何学的な計算によってなされる)。ターゲットオブジェ
クトが選択されるかどうかは選択基準によって決定され
る。もっとも簡単な基準はターゲットオブジェクトがセ
グメントとのゼロでない重なり(non-zero overlap)を有
することである。上述したように、より複雑な選択基準
が使用されてもよい。
【0060】枝リストは構成セグメントリストの集合体
である。ストロークリストは構成枝リストの集合体であ
る。操作リストはストロークリストの集合体である。そ
してセッションリストは操作リストの集合体である。
【0061】これらのリストは、ユーザが物理的なワイ
ピングアクションをなすときにコンピュータによって動
的に蓄積されかつ記憶される。蓄積のもっとも小さな単
位はセグメントリストである。しかしながら、セグメン
トリストの新しいターゲットオブジェクトだけが役に立
つ。しかし、”新しい”ターゲットオブジェクトは異な
ったことに関するものであってもよい。それはストロー
クリストに関して新しくてもよい。ストロークリストに
すでに存在するセグメントリストのオブジェクトは”古
い”ものである。ストロークリストに存在するオブジェ
クトを取り除くことによってセグメントリストを減少さ
せることが望ましい。それの結果は(ストロークリスト
に関する)縮小セグメントリストと呼ばれる。通常は、
縮小セグメントリストのオブジェクトを操作して、つぎ
に、縮小セグメントリストのオブジェクトをストローク
リストに追加することが望ましい。
【0062】本発明で使用される適切なワイピングアル
ゴリズムの1つの例が以下で示される。いくつかのアク
ションを説明するためのコメントがアクションに続く引
用符の間に存在する。
【0063】アルゴリズムは次の変数を使用する。 SegList ターゲットオブジェクトのリスト BranchList ターゲットオブジェクトのリスト StrokeList ターゲットオブジェクトのリスト OperationList ターゲットオブジェクトのリスト SessionStrokeList StrokeListのリスト Operator 適用されるオペレータの名前 ApplyAt オペレータが適用される範囲の名前(Segment,Stro ke,Operation,またはSessionByStroke ) Feedback どのターゲットオブジェクトが選択されたことを示 すオペレータの名前(例えば、Shadow,Color, など )
【0064】アルゴリズムはイベント駆動型(event-dri
ven)である。 イベント アクション Enter OperationList およびSessionStrokeList をからにする。 Down BranchListおよびStrokeListをからにする。ゼロレングスMo veイベントに関するアクションを実行する。 Move (セグメント選択アルゴリズムを用いて)新しいSegList を計 算する。 if Operator が関係しており、かつApplyAt=Segment なら: BranchListによってSegList を縮小し、 縮小SegList をBranchListに追加し、 縮小SegList にFeedbackを適用し、 縮小SegList にOperatorを適用する。 else : StrokeListによってSegList を縮小し、 縮小SegList をStrokeListに追加し、 縮小SegList にFeedbackを適用し、 if ApplyAt=Segment なら: 縮小SegList にOperatorを適用する。 if この移動がReversalであれば:(反転検出アルゴリズムを 使用して) BranchListをからにする。 Up Moveイベントに関するアクションを実行する。 StrokeListのコピーをSessionStrokeList に入れる。 if ApplyAt=Operationであれば: StrokeListにOperatorを適用する。 OperationList によってStrokeListを縮小する。 OperationList に縮小StrokeListを追加する。 Operator Operatorを指示されたオペレータの名前に設定する。 if ApplyAt=Operationであれば: OperationList にOperatorを適用する。 OperationList をからにする。 Property 適切なワイパーの特性を設定する。 Exit if ApplyAt=Operationであれば: OperationList に Operator を適用する。 if ApplyAt=SessionByStrokeであれば: SessionStrokeList に Operator を適用する。
【0065】ワイプストロークの方向の反転をどのよう
にして検出するかの例が以下に示される。これは水平方
向の反転に関してのみ検査する。それは、大きな垂直の
(ホワイトボードの寸法)表面上で腕の動きによって方
向を反転するのにもっとも簡単な方法である。したがっ
て、それはワイプストロークセグメントの水平成分(X
成分)だけを考える。つぎの4つの変数が、ワイプスト
ロークが生成されるときのそれの状態を特徴づける。 fwdX X軸の前進方向に移動した距離。 revX X軸の前進方向とは逆に移動した距離。 newX もっとも新しいセグメントの長さとX軸の
方向。 T 方向(前進または反転)を確立するための
距離のしきい値。
【0066】これらの変数はワイプストロークの前進方
向(fwdX)および反転方向(revX)の一連の感知を保持す
る。移動の”ノイズ”をフィルタするために、しきい値
(T) が使用されて反転が本当の方向の反転と考えるのに
十分な距離だけ進んだかどうかを確かめる。ワイプスト
ロークが(Downイベントによって)開始されるとき、fw
dXがゼロに初期化される。それぞれのMoveイベントで、
newXは現在の移動のストロークセグメントのX軸方向の
距離に設定される。そして、反転があったかどうかを検
出するために次の検査がなされる(TRUEは反転が存
在することを意味し、FALSEは反転が存在しないこ
とを意味する)。 if newX = 0 // X軸方向に移動がない。 then return FALSE // なにもしない。 if abs(fwdX)<T and // 前進方向がまだ確立されていない。 newX*fwdX<= 0 // 移動がない、または逆のX軸方向である。 then fwdX = newX // 新規の方向に開始。 revX = 0 return FALSE if newX*fwdX> 0 // 移動が同一のX軸方向である。 then fwdX = fwdX + newX revX = 0 return FALSE if newX*fwdX< 0 // 移動が逆のX軸方向である。 then revX = revX + newX // 反転の距離を積算する。 if abs(revX)<T // 反転の距離がしきい値より小さい。 then return FALSE // 反転としてカウントするには不十分。 else // 反転はしきい値に達している。 fwdX = revX // 前進方向を変更する。 revX = 0 return TRUE
【0067】当業者は、本発明が上述された特定のアル
ゴリズムの使用に制限されないことを理解するであろう
し、また、他のアルゴリズムがここで記述されるワイピ
ングアクションを実現するのに容易に考案されることが
わかるであろう。その原理は簡単である。つまり、ワイ
プオブジェクトと現時点で稼働中の選択基準とに照らし
て検査することによってどのターゲットオブジェクトが
選択されるかを決定する。選択されるターゲットオブジ
ェクトを表現する関連したデータ構造体を変更すること
によってワイピングアクションを実現する。例えば、も
しオペレータが削除であれば、オブジェクトのデータ構
造体をオブジェクトリストから取り除き、もしオペレー
タがメイクレッドであれば、カラー属性を赤に変更し、
もしオペレータが収縮であれば、オブジェクト構成要素
の座標を再計算する、などである。
【0068】ここで、いかなるときにでもスタイラスが
どのオブジェクトに接触しているかを決定する効果的方
法を捜し出すためのより厳密な記述が以下で述べられ
る。いくつかのオブジェクトに接触しかつその他を回避
する経路を特定しているときのユーザを考える。どのオ
ブジェクトが経路上に存在するか?もっとも低いレベル
において、ユーザのワイプアクションは一連のイベント
として現れる。これらのほとんどがスタイラスが移動さ
れた新しい位置を報告してくれる。それ以上の情報はな
いので、一連の直線セグメントに沿った”アプリケー
タ”カーソルの射影としてワイプ”経路”を表現する。
これらのセグメントは非常に短くてもよい。アプリケー
タカーソルとそのカーソルが交差するオブジェクトの両
方が実質的な幅を有するので、経路のいくつかの連続的
なセグメントが同一のオブジェクトに接触することがし
ばしば発生する。一般的に、与えられたストロークの期
間において与えられた操作を1回以上オブジェクトに適
用することは望ましくない。
【0069】図5乃至図11を参照すると、O、カーソ
ル形状SH(図5)、および1対の点AとB(セグメン
トに一致する)、のオブジェクトの組が与えられ、オブ
ジェクトのどれかがABに沿ったSHの射影の結果とし
て生じるワイプセグメントによって接触される。簡単の
ために、xおよびy軸に平行な辺を有する長方形カーソ
ルだけを考える。以下で”長方形”という用語を用いる
場合、そのような長方形を意味するものとする。また2
つのタイプのオブジェクト、すなわち文字とストローク
だけを考える。
【0070】ABに沿った〔長方形〕SHの射影の結果
として生じる経路セグメントは特殊な種類の六角形であ
り、それの4つの辺はxおよびy軸に平行である。以下
で”六角形”という用語を用いる場合、そのようなオブ
ジェクトを意味するものとする。そのような六角形は2
つのクラスによって現れることに注意されたい。一方は
右上から左下へ進むと考えられ、他方は左上から右下へ
進むと考えられる。最初の場合には、それをNESW−
六角形と呼び、第2の場合には、それをNWSE−六角
形と呼ぶ。(完全に水平または垂直の軌道はもう1つの
〔一方の寸法がより大きい〕長方形の変形したものを提
供する。)
【0071】最初に文字を考える。もしワイプセグメン
トが文字を包含するもっとも小さい長方形である文字
の”境界ボックス”と交差するのであれば、そのワイプ
セグメントは文字と交差するという。ゆえに、問題は、
ある六角形がある長方形に交差するかどうかということ
になる。ここで図7を参照する。NESW−六角形の場
合を考えてみよう。六角形自身はそのもっとも離れた2
つの点によって定義される境界ボックスを有する。六角
形はそれ自身の境界ボックスの中にあるので、2つの境
界ボックスが交差しなければ、六角形は文字と交差する
ことができない。ゆえに、まずそのことを検査する。長
方形の交差は自明のことであるが、それぞれの境界ボッ
クスの交差は、六角形が文字の境界ボックスと交差する
ことを保証するのには不十分である。NESW−六角形
の場合、2つの過程のいずれかで誤りをおかす。これら
の状況の一方にあるときにどのようにして検出するか
?。ゆえに、文字の境界ボックスの右下角が六角形の最
上位”対角線”の”上側”にある場合(図8)、または
文字の境界ボックスの左上角が六角形の最下位”対角
線”の”下側”にある場合(図9)の2つを考える。こ
れらは計算に関しては十分に簡単である。x座標を与え
られた線分上のいかなる点のy座標も捜し出すことは簡
単なことである。ゆえに、第1の偽陽性(false positiv
e)(”上側”の場合)を検査するために、文字の境界ボ
ックスの右辺と同一のx座標値を有する最上位対角線上
の点について調べる。もしボックスの底辺がこのy座標
値より小さければ、偽陽性が得られる。”下側”の偽陽
性に関して同様の検査をなす。ゆえに、ここでの文字−
セグメント交差決定手順はC++言語で記述すると以下
のようになる。 charBB = boundingBox(character) hexBB = boundingBox(hexagon) if (not intersect(charBB,hexBB)) return FALSE if (bottom(charBB)<yAtX(rightEdge(charBB),topDiagonal(hexagon))) return FALSE if (top(charBB) > YAtx(leftEdge(charBB),bottomDiagonal(hexagon)) return FALSE return TRUE
【0072】ここで、ワイプセグメントの六角形が任意
の”ストローク”に交差するかどうかをどのようにして
表すかを考えたい。1つのストロークは、すべてが同じ
幅のいくつかの数の連続するラインセグメントからな
る。明らかに、1つのストロークはそれの少なくとも1
つのセグメントが六角形と交差する場合に六角形と交差
する。ゆえに、セグメントに沿って進むだけで十分であ
り、それによって、セグメントが六角形に交差するかど
うかをそれぞれについて問い合わせる。容易に見落とさ
れる項目がある。六角形の幅だけでなく(多分大きいで
あろう)ストロークの幅も考慮すべきことに注意しなけ
ればならない。ユーザが消しゴムでストロークに接触し
たとたんにそのストロークが消去されるべきかを最初に
述べるので、カーソルがストロークの”中央”をヒット
するまではそれは待たないであろう。しかし、このこと
は相当に難しい計算を意味する。大幅に引き下げた計算
価格でそれを解決するために、十分に近似することを選
択する。太いラインが太い六角形と交差するかどうかを
判定する代わりに、非常に細いラインが格別に太い六角
形と交差するかどうかを判定することを選択する。正確
にいえば、ラインの幅によって六角形を拡張する。非常
に異常な場合を除いてすべての場合、これはほぼ同様の
結果を与えるであろう。ストローク−六角形交差問題の
ための高レベル判定手順はC++言語で記述すると以下
のようになる。 strokeBB = boundingBox(stroke) hex = extend(hexagon,width(stroke)) hexBB = boundingBox(hex) if (not intersect(strokeBB,hexBB)) /* 簡単なものに関する境界ボック ス検査*/ return FALSE for (i = 1 ; i<= numberOfSegments(stroke), ++ i) if (intersectSegAndHex(strokeSegment(i,stroke),hex)) return TRUE return FALSE
【0073】まだ intersectSegAndHex() に関するアル
ゴリズムを与えること、すなわちセグメントが六角形と
交差するかどうかをどのようにして判定するかを説明す
ることが残っている。この問題を解決するには、多分、
多くの方法が存在する。ここでは本発明で実施された1
つの例を示す。任意の六角形は平面を(中央の四角が六
角形の境界ボックスである巨大な三目並べゲーム(tic-t
ac-toe game)のような)9つの領域に分割するといえ
る。ここで図10を参照する。これらの9つの領域
を(”4象限(quadrants) ”から類推して)”ノナント
(nonants) ”と呼ぶことにする。ここで、いかなるスト
ロークセグメントに対しても、ストロークセグメントの
端点(endpoints) が存在するのはこれらのどのノナント
かを判定することができる。(任意に、線を引くものが
常に中央にもっとも近いノナントに有利なものであると
仮定する。すなわち、不明確さは常に中央にもっとも近
いノナントに有利に判定されると仮定する。)参照を簡
単にするために、ノナントおよび六角形の頂点に図11
に示されるようなラベルを付ける。その間をストローク
セグメントが進む2つのノナントを与えると、交差問題
はすでに判定されている。例えば、b1からb3へ進む
セグメントは六角形と交差しなければならないし、a1
からc1に進むセグメントは六角形に交差することがで
きない。
【0074】しかし、多くの(厳密にいえば23通り
の)より複雑な場合が存在する。例えば、b1とc2と
の間のセグメントに関する交差の問題は、文字の場合に
遭遇したのと同一種類の”上側/下側”問題を引き起こ
すこととなる。すなわち、点Aがセグメントの下側かど
うかの問題である。関係するノナント対を列挙してみよ
う。判定手順の同一性によってグループ化し、ほぼ複雑
性の増加する順に並べると、それらは、 グループ1 :(a1,b3),(a2,b3),(a
2,c3) グループ2 :(a1,c2),(c3,b1),(c
2,b1) グループ3 :(a1,c3) グループ4 :(a2,c1),(a2,b1),(a
3,b1) グループ5 :(a3,c2),(b3,c2),(b
3,c1) グループ6 :(a3,c1) 非グループX :(b2,任意の領域) である。これらのグループを順に考えよう。グループ1
に対するここでの手順は、点Dがセグメントの上側であ
る場合に真を返す。グループ2に対しては点Aがセグメ
ントの下側であれば真を返す。グループ3に対しては点
Dがセグメントの上側でかつ点Aがセグメントの下側で
ある場合に真を返す。グループ4に対しては点Bまたは
点Cのいずれかがセグメントの上側であれば真を返す。
グループ5に対しては点Eまたは点Fのいずれかがセグ
メントの下側であれば真を返す。グループ6でのセグメ
ントは、点Bおよび点Cの少なくとも1つがセグメント
の上側でかつ点Eおよび点Fの少なくとも1つがセグメ
ントの下側であれば六角形に交差する。
【0075】つぎに、非グループXのラベルを付けられ
た残りの9つの場合を考える。まず、端点の一方だけが
b2に存在すると仮定する。もしその端点が六角形の内
部に存在すれば、明らかにセグメントは六角形と交差す
る。そうでなければ、判定基準はb2にある端点が六角
形の”上側”または”下側”にあるかどうかに依存す
る。ここでは”上側”の場合だけを記述する。なぜな
ら”下側”の場合は完全に対称だからである。他方の端
点の可能な位置が8つ存在する(b2に隣接するノナン
トのそれぞれに対して1つ)。それらを再度グループ化
する。 グループXa1 : a1 グループXa2 : b3,c3,c2 グループXa3 : a2,a3 グループXa4 : b1,c1
【0076】グループXa1はただ偽を返すのみである。
グループXa2はただ真を返すのみである。グループXa3
は、点Cがセグメントの上側にある場合のみ真を返す。
そして、グループXa4は点Bがセグメントの上側にある
場合に真を返す。
【0077】最後に、それの端点の両方がb2に存在す
るセグメントは、少なくとも一方の端点が六角形の内部
に存在するか、あるいは一方の端点が六角形の上側にあ
りかつ他方の端点が六角形の下側にある、かのいずれか
である場合のみ六角形に交差する。
【0078】ここで、セグメント−六角形交差判定手順
のわずかに抽象化された表現のみが示される。 if (segment is entirely above,below,left,or right of b2) retunr FALSE つぎに、両方の端点のノナントを判定し、どのグループにあるかを検査する。 if (Group1) return pointAbove(D,segment) if (Group2) return pointBelow(A,segment) if (Group3) return pointAbove(D,segment) && pointBelow(A,segment) if (Group4) return pointAbove(B,segment) ||pointAbove(C,segment) if (Group5) return pointBelow(E,segment) ||pointBelow(F,segment) if (Group6) return (pointAbove(B,segment)||pointAbove(C,segment) && (pointBelow(E,segment)||pointBelow(F,segment)) return decideUngroupX(segment,hexagon) また、 decideUngroupX() のアルゴリズムは、 if (a b2 endpoint is both below BC and above EF) /*六角形内部*/ return TRUE if (both endpoints are inside b2) return pointAbove(oneEndpoint,BC)&&(pointBelow(theOther,EF) if (the b2 endpoint is above BC) b2にない端点のノナントを判定し、またグループを判定する。 if (GroupXa1) return FALSE if (GroupXa2) return TRUE if (GroupXa3) return pointAbove(C,segment) if (GroupXa4) return pointAbove(B,segment) else /* b2の端点がEFの下側*/ b2にない端点のノナントを判定し、またグループを判定する。 if (GroupXb1) /* c3 */ return FALSE if (GroupXb2) /* a1,a2,またはb1*/ return TRUE if (GroupXb3) /* a3またはb3 */ return pointBelow(E,segment) if (GroupXb4) /* c2またc1 */ return pointBelow(F,segment)
【0079】NESW−六角形のみを処理するためのア
ルゴリズムと判定手順を例示し、また概略を述べた。N
WSE−六角形を処理するための手順はまったく対称的
なものである。垂直または水平のワイプ経路軌道によっ
て生じる長方形を処理するための手順は、一般的には、
垂直のラインセグメントを処理するためのある種の単純
化および特殊化に類似する(ここではゼロによる割り算
は危険である)。
【0080】ワイピングアクションに関するターゲット
オブジェクトの選択基準の概念が拡張されて時間の側面
を包含してもよい。このことは、オブジェクトに基づい
た表現のためのグラフィックユーザインターフェースの
一般化されたつぎの論議からよりよく理解されるであろ
う。
【0081】オブジェクトに基づいた表現に作用するプ
ログラムとのグラフィックユーザインタフェースにおい
ては、ユーザがどのようにしてオブジェクトを選択して
操作を施すかの指示を発行する一般的なユーザインタフ
ェースが存在する。ほとんどのグラフィックユーザイン
タフェースはオブジェクトを選択するための空間的な技
術を提供する。ユーザは、長方形を定義しまたは手書き
ループを描画するためにディスプレイを横切って掃引す
る。その長方形またはループはディスプレイの空間的な
領域を定義し、プログラムがどのオブジェクトが領域に
包含されるかを計算し、結果として、これらが選択され
たオブジェクトになる。
【0082】その包含の計算は、選択されるためにはど
の程度の広さのオブジェクトの面積または大きさが領域
内に適切に含まれることを必要とするかを知る必要があ
る。実際には、プログラムは包含の総量に関する有効か
つ実行可能なしきい値を設定することができるので、こ
れは処理することのできる問題である。
【0083】これらの技術は領域内のあらゆるオブジェ
クトを選択し領域外のいかなるオブジェクトをも選択し
ないので、これらを純粋空間閉鎖技術(pure spatial cl
osure techniques) と呼ぶ。記述される限りのワイピン
グもまた純粋空間閉鎖技術である。なぜなら選択がワイ
プ経路領域と呼ばれる空間領域内の包含によって決定さ
れるからである。
【0084】閉鎖はグループ化(または、オブジェクト
上の他の高水準構造体)によって変更されてもよい。表
示されたオブジェクトの部分集合がグループに含まれる
のであれば(グループ化は必ずしも視覚的に表現された
ものではない)、そのグループを選択のために全体とし
て取り扱いたいかもしれない。つまり、グループのすべ
てのオブジェクトが選択されるか、またはグループの1
つも選択されないかのいずれかである。例えば、もしグ
ループが5つのオブジェクトを含み純粋空間閉鎖によっ
て3つが選択されれば、5つすべてが選択される。この
ことは純粋空間閉鎖の変更と考えられる。他方、もしグ
ループが1つのオブジェクトとみなされれば、それはま
だ、グループに対する包含基準が複数のオブジェクトに
対する基準といくぶん異なる純粋空間閉鎖と考えられ
る。
【0085】この場合、グループは予め指定されたもの
でありかつ明示されたものでなければならない。ときど
き、グループ化は暗黙なものであり、さらにグループ化
は異なった時にそして異なった目的のために異なったも
のであってもよい。
【0086】本発明のこの側面の選択基準は、ワイピン
グに適用されるとき、オブジェクトが時間的な流れにお
いてユーザによって生成される共通状況を調整(addres
s) する。描画プログラムにおいては、ユーザはオブジ
ェクトを生成し、その次に、それらのオブジェクトを編
集するのにオブジェクトを選択しなければならない。よ
り明確な例は、ユーザがペンのような入力装置でディス
プレイ上にストロークを描画することを可能とする描画
プログラムである。ストロークはオブジェクトであり、
そのオブジェクトは流れの中で生成される。さらに、人
が描画する進路に空間的なオーダライン(orderliness)
が存在することは経験的な事実である(すなわち、人
は、一般的には、ディスプレイ上の勝手な場所にストロ
ークを生成しない)。このことが、時間的な順序(tempo
ral sequence) が、ユーザの意思を表現する理路整然と
した(coherent)選択を創造するオブジェクトの暗黙のグ
ループ化の解決策であることを示唆する。
【0087】ここで、1つの例を考える。ユーザが5つ
のオブジェクトを、A、B、C、D、Eの順に生成す
る。これらは、空間的な集団の縁にオブジェクトCを備
える空間的な集団(cluster) 、又はクラスタ、で存在す
る。後に、ユーザは5つのオブジェクトを選択するつも
りであるが、5つを通しての掃引アクションを実行する
とき、オブジェクトCに交差することに失敗する。純粋
空間閉鎖によって4つのオブジェクトだけが選択され
る。しかしながら、プログラムは判定を助けるような時
間的生成順序を用いてオブジェクトCをも包含し、5つ
すべてのオブジェクトを選択する。
【0088】時間的な順序で1組のオブジェクトを考え
れば(または、リアルタイムスタンプによって)、これ
らのすべてのオブジェクトを取り囲む時間的な間隔が計
算されてもよい。もしその時間間隔の間に生成されるす
べてのオブジェクトが捜し出されそれらが組に包含され
るならば、これが純粋時間閉鎖と呼ばれる。
【0089】しかしながら、それ自身による純粋時間閉
鎖はユーザにとって意味のあるグループ化のための信頼
性のある解決策ではない。人はしばしば”横道(side tr
ack)”に入り込む。例えば、ユーザがAおよびBを生成
し、描画の他の部分で修正されるべきものに気が付いて
Cを生成し、それから、AおよびBがあるところに戻っ
てDおよびEを生成することを続行する。この場合、C
は当然A、B、D、およびEと一緒にグループ化されな
い。これの解決策はCが他のオブジェクトから空間的に
分離されていることである。したがって、ユーザの意思
に合致する信頼性のあるグループ化を提供するために、
本発明のこの側面による組み合わせられた時間−空間閉
鎖が計算される必要がある。
【0090】このように、空間および時間の基準を組み
合わせることは種々の環境に有益である。以下では、異
なった状況に関するアルゴリズムの例を示す5つの事例
が列挙される。これらのアルゴリズムは空間的かつ時間
的な”近接度(nearness)”検査を用い、そのためのアル
ゴリズムが5つの事例の後に記述される。
【0091】つぎの表記法と定義が用いられる。コンピ
ュータに基づいたシステムはグラフィックオブジェクト
の収集から構成される。それぞれのオブジェクトはディ
スプレイ上の位置を有する。Sはディスプレイ上の空間
的領域を指示する。その領域は多くの異なった方法でユ
ーザによって定義される(例えば、ループまたは投げ輪
を描画することによって、長方形を掃引することによっ
て、ワイプストロークによって、または点に触れること
によってさえも)。C(S)は、Sの空間的な閉鎖、す
なわちいくつかの選択基準(例えば、オブジェクトがす
べてSの中に位置するという基準)でSによって選択さ
れるディスプレイ上のオブジェクトの組を指示する。
【0092】それぞれのグラフィックオブジェクトはそ
れに関連した時刻を有する。その時刻は、生成された時
刻、最後に変更された時刻、最後に参照された時刻、な
どであってもよい。そのような時刻は通常は履歴リスト
に保持される。しかし、ここでの目的のためには、簡単
に、適切な時刻はオブジェクトの特性としてそれぞれの
オブジェクトに関連するものとする。Sに類似して、T
は時間的な領域(すなわち、時間間隔)を指示する。C
(T)はTの時間的な閉鎖、すなわちそれの関連する項
目がTに存在するオブジェクトの組を指示する。
【0093】 事例1 : 空間的選択の時間補間(interpolation) このアルゴリズムは、例えばワイプ選択がなされるよう
な状況において有益であるが、いくつかの意図されたオ
ブジェクトがワイプストロークによって捕らえ損なわれ
る。 1.Sがなんらかのユーザアクションによって与えられ
る。 2.C(S)を計算する。選択をC(S)に設定する。 3.もっとも小さな時間間隔Tを計算する。Tは選択を
包含する。 4.C(T)を計算する。 5.選択に存在しないが(空間近接度検査によって)空
間的な選択に近接しているC(T)におけるそれぞれの
オブジェクトに関して、それを選択に追加する。 6.選択に戻る。
【0094】 事例2 : 空間的選択の時間外挿(extrapolation) このアルゴリズムは事例1と同様の状況に有益である。
これは事例1が用いられた直後に用いられてもよい。 1.Sがなんらかのユーザアクションによって与えられ
る。 2.C(S)を計算する。選択をC(S)に設定する。 3.選択におけるオブジェクトに関連する時刻のもっと
も早い時刻Tmin を捜し出す。 4.それの関連する時刻がTmin より以前であるオブジ
ェクトOを捜し出す。 5.もしオブジェクトOが(時間的近接度検査によっ
て)時間的に選択に近接しており、かつ(空間的近接度
検査によって)空間的に選択に近接していれば、オブジ
ェクトOを選択に追加してステップ3に戻る。 6.選択におけるオブジェクトに関連する時刻のもっと
も遅い時刻Tmax を捜し出す。 7.関連する時刻がTmax より以降であるオブジェクト
Oを捜し出す。 8.もしオブジェクトOが(時間的近接度検査によっ
て)時間的に選択に近接しており、かつ(空間的近接度
検査によって)空間的に選択に近接していれば、オブジ
ェクトOを選択に追加してステップ6に戻る。 9.選択に戻る。
【0095】事例3 : 部分的な空間的包含のための
時間キュー(time cue) このアルゴリズムは、ループ選択がなされる状況および
少しのオブジェクトがループにおいて部分的にのみ選択
される(すなわち、それらがループに部分的に入ってお
り、かつ部分的に出ている)状況で有益である。アルゴ
リズムは部分的に包含されるオブジェクトが包含される
かどうかを判定する。 1.Sがなんらかのユーザアクションによって与えられ
る。 2.C(S)を計算する。選択をC(S)に設定する。 3.Sによって部分的に選択されたオブジェクト(例え
ば、S内に部分的にのみ取り囲まれたオブジェクト)の
組であるP(S)を計算する。 4.(時間的近接度検査によって)時間的に選択に近接
するP(S)内のそれぞれのオブジェクトに関して、そ
れを選択に追加する。 5.選択に戻る。
【0096】 事例4 : 時間選択の拡張の空間的な検査 このアルゴリズムは、逆方向の操作、すなわち逆の時間
順序で以前の操作を取り消す操作(例えば、”バックス
トローク”がストロークが生成された逆の順序でそれら
のストロークを消去するような)をなすときに有効であ
る。このアルゴリズムは、逆方向の操作を継続するのが
おそらく不適当となるのを検出する停止基準を提供す
る。 1.1つのオブジェクトが与えられる(通常、生成また
は操作されたもっとも最近のオブジェクト)。時間間隔
においてそのオブジェクトを単集合(singleton) の組と
考える。選択をC(T)に設定する。 2.選択におけるオブジェクトに関連する時刻のもっと
も早い時刻Tmin を捜し出す。 3.関連する時刻がTmin の直前であるオブジェクトO
を捜し出す。 4.もしOが(空間的近接度検査によって)空間的に選
択に近接していれば、Oを選択に追加してステップ2へ
戻る。 5.もしそうでなければ、選択の拡張を停止する。
【0097】この場合、処理は、オブジェクトの収集を
構成する空間的な選択から空間−時間基準を用いて収集
を変更することになる。事例4は、時間的に決定された
収集によって開始して空間−時間基準によってそれを変
更することを含む代替処理の1つの例である。代替の1
つの例は、もっとも最近に生成されたオブジェクトに関
する要求によって時間的に決定された収集をユーザが指
定することである。
【0098】事例5 : 時間を用いた空間的な選択の
解放(disentanglement) このアルゴリズムは、オブジェクトの2つのグループが
空間的に絡み合わされた状況で有益であるが、2つのグ
ループが時間で集団化された状況(例えば、句(phrase)
が時間でしっかりとストロークを集団化するグループを
提供するように書かれ、後に、句の注釈が元の句に非常
に近接して書かれる)では有益ではない。もしユーザが
その注釈を空間的に選択することを試みれば、元の句の
一部分を包含しないことは困難であろう。なぜなら、そ
れらは空間的に絡み合わされているからである。 1.Sがなんらかのユーザアクションによって与えられ
る。 2.C(S)を計算する。選択をC(S)に設定する。 3.オブジェクトの関連する時刻で選択におけるオブジ
ェクトをソートする。 4.ソートされた選択における隣接するオブジェクト間
の時刻の差分を計算する。 5.選択における隣接するオブジェクト間のもっとも大
きな時刻差分Dmax を捜し出す。 6.ソートされた選択においてDmax が発生した位置で
選択を部分集合の選択1と選択2に分割する。 7.ユーザが選択1または選択2を選択したいかどうか
をユーザに問い合わせる。 8.もし答えが選択1または選択2のいずれかであれ
ば、答え(選択1または選択2)に選択を設定してステ
ップ5に戻る。 9.もしそうでなければ、選択の解放を停止する。
【0099】空間的近接度検査 :この検査は、与えら
れたオブジェクトOが与えられたオブジェクトの組、つ
まり選択に空間的に”近接している”ことが真であるか
どうかを決定する。標準しきい値距離Dthreshが存在
し、オブジェクトOは常にこの範囲内で選択に”近接し
ている”とみなされる。他方、近接度は、選択における
オブジェクトの空間的な密度に関連して計算される。 D=Oから選択におけるもっとも近接なオブジェクトま
での距離、を計算。 if D<Dthresh、then True を返す。 if 選択がただ1つのオブジェクトを有するれば、then
Falseを返る。 temp = 選択のコピー tempのそれぞれのXi に対して、 Mi =Xi からtempのもっとも近接するオブジェクトま
での距離、を計算。 Xi をtempから除去する。 A=Mi の平均、を計算する。 S=Mi の標準偏差、を計算する。 if D<(A+2*S) then Trueを返す。 else False を返す。
【0100】時間的近接度検査 :この検査は、与えら
れたオブジェクトOが与えられたオブジェクトの組、つ
まり選択に時間的に”近接している”ことが真であるか
どうかを決定する。標準しきい値時間Dthreshが存在
し、オブジェクトOは常にこの範囲内で選択に時間的
に”近接している”とみなされる。他方、近接度は、選
択におけるオブジェクトの時間的な密度に関連して計算
される。 D=Oから選択におけるもっとも近接なオブジェクトま
での時間差分、を計算する。 if D<Dthresh、then True を返す。 if 選択がただ1つのオブジェクトを有するれば、then
Falseを返る。 選択をソートする。その結果オブジェクトは時間順にで
ある。選択における連続するそれぞれのXi (最後は除
く)に対して、 Di =Xi とXi+1 との間の時間差分、を計算。 A=Di の平均、を計算する。 S=Di の標準偏差、を計算する。 if D<(A+2*S) then Trueを返す。 else False を返す。
【0101】空間的なグループ化と時間的なグループ化
を組み合わせる前述したアルゴリズムは、多くの場合に
おいて、オブジェクトのもっとも適切なグループ化、す
なわちお互いにうまく関係しているオブジェクトのグル
ープ化、したがってユーザの意思にもっとも合致しそう
なオブジェクトのグループ化を提供することが期待でき
ることは明白であろう。いったんターゲットオブジェク
トが選択されると、それはターゲットオブジェクトのデ
ータ構造体の選択されたフィールドに値を格納すること
によってまたはターゲットオブジェクトへのポインタを
リストに格納することによって容易に設定されるが、そ
のようにして選択されたターゲットオブジェクトは上述
された方法と同様の方法で操作されてもよい。
【0102】図2は、選択されるターゲットオブジェク
トを決定するための時間−空間閉鎖を用いるいくつかの
利点を例示する。例えば、もし文字”ipe”が文字”
W”を生成してすぐに生成されたならば、物理的に分離
されているにもかかわらず、”W”および”ipe”は
両方とも同一のオブジェクト47の一部であると考えら
れる。対照的に、文字”B”は後で生成されたと考える
と、たとえワイプストローク50が”B”に交差してい
てもそれは選択されない。同様な方法は、3つの分離し
たストロークセグメントから作られていても、単一のオ
ブジェクトとして文字”OK”を取り扱われるようにす
る。
【0103】
【発明の効果】このように、ユーザとコンピュータ制御
ディスプレイとの間の新規性のあるインタフェースが記
述された。そこではユーザの自然なワイピンイグアクシ
ョンが、その時あるいはその後の結合した取り扱いの選
択のために表示されたオブジェクトを自然にグループ化
する方法として用いられることができる。同様のワイピ
ングまたは身振りによる運動が選択されるオブジェクト
に非常に多様なアクションをなすのに使用されてもよい
ので、調和した、しかし強力なインタフェース技術を生
み出すこととなる。その技術は、ユーザの意思を実現す
るための、例えば与えられたまたは設定されたアプリケ
ータの空間領域または時間領域の範囲内にないオブジェ
クトを取り除くための種々のフィルタリング方式に容易
に役に立つのである。ここで記述されたインタフェース
技術は、特に研究発表に使用される形態のホワイトボー
ドすなわち図式の手書き写生を可能にするその能力に対
して、およびお互いに考えを交換するためのその他同種
類のものに有益である。
【図面の簡単な説明】
【図1】本発明が使用されるコンピュータ制御されたホ
ワイトボードの1つの形態を例示するブロック構成図で
ある。
【図2】スクリーンの2つの縁に表示されるソフトウェ
ア制御された選択ボタンまたはアイコンメニューと、デ
ィスプレイ上のいくつかのオブジェクトと、を表示した
スクリーン表示の前面図である。
【図3】AからBに移動しているワイパーアプリケータ
オブジェクトの1つの形態(長方形)を例示する。
【図4】(A)及び(B)は、2つのワイピングストロ
ークを図示し、一方が反転すなわち枝を有し、他方が反
転すなわち枝を有しない。
【図5】本発明を実現するためのターゲット検出アルゴ
リズムの1つの形態の派生を例示する。
【図6】本発明を実現するためのターゲット検出アルゴ
リズムの1つの形態の派生を例示する。
【図7】本発明を実現するためのターゲット検出アルゴ
リズムの1つの形態の派生を例示する。
【図8】本発明を実現するためのターゲット検出アルゴ
リズムの1つの形態の派生を例示する。
【図9】本発明を実現するためのターゲット検出アルゴ
リズムの1つの形態の派生を例示する。
【図10】本発明を実現するためのターゲット検出アル
ゴリズムの1つの形態の派生を例示する。
【図11】本発明を実現するためのターゲット検出アル
ゴリズムの1つの形態の派生を例示する。
【符号の説明】
10・・・ホワイトボード 11・・・表示スクリーン 12・・・投影表示手段 13・・・メモリー 14・・・コンピュータ 15・・・液晶装置 20・・・ペン 21・・・ボタン 22・・・スイッチ 24・・・ビーム 25・・・検出モジュール 35〜36・・・ボタン/アイコン 37〜45・・・ボタン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 エリン アール.ピーダーセン デンマーク国 ディケイ−1453 コペンハ ーゲン 2.ティブイ.エスケイティ.ペ ダーズ ストラード 10 (72)発明者 マイケル ケイ.マコール アメリカ合衆国 カリフォルニア州 94025 メンロ パーク ユクリッド ア ベニュー 1987 (72)発明者 フランク ジー.ハラズ アメリカ合衆国 カリフォルニア州 95060 サンタ クルズ ブラッドリー ドライブ 130

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 表示されたオブジェクトが前記オブジェ
    クトの1組のオブジェクトに基づいた表現として記憶さ
    れた少なくとも1つのオブジェクトを備え、ユーザが入
    力装置を操作することによってコンピュータ制御された
    ディスプレイ装置に表示された前記オブジェクトを動的
    に選択および操作する方法において、 (a)ユーザがアプリケータにアクセスするための手段
    を提供する段階と、 (b)オペレータをアプリケータに関連させる手段を提
    供する段階と、 (c)ディスプレイの一部分を横切って関連するオペレ
    ータを備えたアプリケータを掃引してアプリケータの掃
    引経路を定義する段階と、 (d)アプリケータを掃引することによって設定された
    掃引経路の範囲内にあるオブジェクトを選択する段階
    と、 (e)段階(d)で選択された表示オブジェクトのそれ
    ぞれに前記オペレータによって影響を与える段階と、 を備えたことを特徴とするオブジェクトを動的に選択お
    よび操作する方法。
JP08157093A 1992-04-15 1993-04-08 オブジェクトを動的に選択及び操作する方法 Expired - Fee Related JP3789946B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US86955492A 1992-04-15 1992-04-15
US869554 1992-04-15

Publications (2)

Publication Number Publication Date
JPH0644006A true JPH0644006A (ja) 1994-02-18
JP3789946B2 JP3789946B2 (ja) 2006-06-28

Family

ID=25353783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08157093A Expired - Fee Related JP3789946B2 (ja) 1992-04-15 1993-04-08 オブジェクトを動的に選択及び操作する方法

Country Status (4)

Country Link
US (1) US5548705A (ja)
EP (1) EP0566293B1 (ja)
JP (1) JP3789946B2 (ja)
DE (1) DE69333096T2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6020895A (en) * 1996-05-28 2000-02-01 Fujitsu Limited Object editing method, object editing system and computer memory product
JP2001522080A (ja) * 1997-10-31 2001-11-13 ヒューレット・パッカード・カンパニー 相対的入力時間に基づいてグラフィックデータを編集する為の装置
JP2001522081A (ja) * 1997-10-31 2001-11-13 ヒューレット・パッカード・カンパニー データ記録装置
JP2009266127A (ja) * 2008-04-28 2009-11-12 Toshiba Corp 情報処理装置、表示制御方法およびプログラム
US7715630B2 (en) 2002-05-14 2010-05-11 Mircosoft Corporation Interfacing with ink
JP2010108482A (ja) * 2008-08-11 2010-05-13 Imu Solutions Inc 選択装置及び選択方法
JP2018530052A (ja) * 2015-08-28 2018-10-11 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッドSiemens Product Lifecycle Management Software Inc. オブジェクト選択システムおよびオブジェクト選択方法
JP2021033885A (ja) * 2019-08-28 2021-03-01 株式会社リコー 表示装置、表示方法、プログラム

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348800A (ja) 1993-06-02 1994-12-22 Canon Inc 画像処理方法及び装置
US5680548A (en) * 1994-12-02 1997-10-21 Xcellenet, Inc. Systems and methods for work assignment and distribution from a server to remote/mobile nodes
JPH1178369A (ja) * 1997-09-03 1999-03-23 Plus Kogyo Kk 表示システム
US5889523A (en) * 1997-11-25 1999-03-30 Fuji Xerox Co., Ltd. Method and apparatus for dynamically grouping a plurality of graphic objects
US6018346A (en) * 1998-01-12 2000-01-25 Xerox Corporation Freeform graphics system having meeting objects for supporting meeting objectives
US6377288B1 (en) * 1998-01-12 2002-04-23 Xerox Corporation Domain objects having computed attribute values for use in a freeform graphics system
US6509912B1 (en) * 1998-01-12 2003-01-21 Xerox Corporation Domain objects for use in a freeform graphics system
US6396005B2 (en) 1998-06-15 2002-05-28 Rodgers Technology Center, Inc. Method and apparatus for diminishing grid complexity in a tablet
US6859909B1 (en) * 2000-03-07 2005-02-22 Microsoft Corporation System and method for annotating web-based documents
US6711586B1 (en) 2000-07-17 2004-03-23 William Mitchell Wells Methods and systems for providing information based on similarity
US6897853B2 (en) * 2000-11-10 2005-05-24 Microsoft Corp. Highlevel active pen matrix
ATE454657T1 (de) * 2001-05-31 2010-01-15 Empower Technologies Inc System und verfahren zur dateneingabe in ein datenverarbeitungsgerät auf pen-basis
JP2005527880A (ja) * 2001-10-24 2005-09-15 ニック マルチメディア インク ユーザ定義可能な画像参照ポイント
US7602991B2 (en) * 2001-10-24 2009-10-13 Nik Software, Inc. User definable image reference regions
US20030214531A1 (en) * 2002-05-14 2003-11-20 Microsoft Corporation Ink input mechanisms
US8166388B2 (en) 2002-05-14 2012-04-24 Microsoft Corporation Overlaying electronic ink
US7925987B2 (en) * 2002-05-14 2011-04-12 Microsoft Corporation Entry and editing of electronic ink
US20030214553A1 (en) * 2002-05-14 2003-11-20 Microsoft Corporation Ink regions in an overlay control
US7137077B2 (en) * 2002-07-30 2006-11-14 Microsoft Corporation Freeform encounter selection tool
US20040119762A1 (en) * 2002-12-24 2004-06-24 Fuji Xerox Co., Ltd. Systems and methods for freeform pasting
US7187378B2 (en) * 2003-05-14 2007-03-06 Microsoft Corp. Determining the convex hull of convex polygons with congruent corresponding angles
US7436535B2 (en) 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US20050125717A1 (en) * 2003-10-29 2005-06-09 Tsakhi Segal System and method for off-line synchronized capturing and reviewing notes and presentations
US7834819B2 (en) 2004-04-01 2010-11-16 Polyvision Corporation Virtual flip chart method and apparatus
US7948448B2 (en) 2004-04-01 2011-05-24 Polyvision Corporation Portable presentation system and methods for use therewith
US20050289453A1 (en) * 2004-06-21 2005-12-29 Tsakhi Segal Apparatys and method for off-line synchronized capturing and reviewing notes and presentations
US7227551B2 (en) * 2004-12-23 2007-06-05 Apple Inc. Manipulating text and graphic appearance
JP4881048B2 (ja) * 2006-04-03 2012-02-22 キヤノン株式会社 情報処理装置および情報処理方法および情報処理プログラム
TWI328185B (en) * 2006-04-19 2010-08-01 Lg Electronics Inc Touch screen device for potable terminal and method of displaying and selecting menus thereon
KR20070113022A (ko) * 2006-05-24 2007-11-28 엘지전자 주식회사 사용자 입력에 반응하는 터치스크린 장치 및 이의 작동방법
KR20070113018A (ko) * 2006-05-24 2007-11-28 엘지전자 주식회사 터치스크린 장치 및 그 실행방법
KR101269375B1 (ko) 2006-05-24 2013-05-29 엘지전자 주식회사 터치스크린 장치 및 이의 이미지 표시방법
KR101327581B1 (ko) * 2006-05-24 2013-11-12 엘지전자 주식회사 터치스크린 장치 및 이의 작동방법
US20090213086A1 (en) * 2006-04-19 2009-08-27 Ji Suk Chae Touch screen device and operating method thereof
KR20070113025A (ko) * 2006-05-24 2007-11-28 엘지전자 주식회사 터치스크린 장치 및 이의 작동방법
TW200805131A (en) * 2006-05-24 2008-01-16 Lg Electronics Inc Touch screen device and method of selecting files thereon
US7979809B2 (en) * 2007-05-11 2011-07-12 Microsoft Corporation Gestured movement of object to display edge
US8867779B2 (en) * 2008-08-28 2014-10-21 Microsoft Corporation Image tagging user interface
US8396246B2 (en) * 2008-08-28 2013-03-12 Microsoft Corporation Tagging images with labels
KR101569176B1 (ko) * 2008-10-30 2015-11-20 삼성전자주식회사 오브젝트 실행 방법 및 장치
JP5668365B2 (ja) 2009-11-20 2015-02-12 株式会社リコー 描画処理システム、サーバ装置、ユーザ端末、描画処理方法、プログラム及び記録媒体
US20110163944A1 (en) * 2010-01-05 2011-07-07 Apple Inc. Intuitive, gesture-based communications with physics metaphors
US8839150B2 (en) 2010-02-10 2014-09-16 Apple Inc. Graphical objects that respond to touch or motion input
GB2485221A (en) * 2010-11-05 2012-05-09 Promethean Ltd Selection method in dependence on a line traced between contact points
JP6217058B2 (ja) * 2012-05-09 2017-10-25 セイコーエプソン株式会社 画像表示システム
KR20140111497A (ko) * 2013-03-11 2014-09-19 삼성전자주식회사 터치 스크린의 화면에 표시된 아이템을 삭제하는 방법, 저장 매체 및 휴대 단말
JP6473056B2 (ja) * 2015-07-16 2019-02-20 株式会社ブレイン 店舗システムとそのプログラム
US20170090713A1 (en) 2015-09-29 2017-03-30 International Business Machines Corporation Adjusting eraser size in drawing applications
US10755029B1 (en) 2016-01-05 2020-08-25 Quirklogic, Inc. Evaluating and formatting handwritten input in a cell of a virtual canvas
US10264213B1 (en) 2016-12-15 2019-04-16 Steelcase Inc. Content amplification system and method
US10387747B2 (en) * 2017-06-26 2019-08-20 Huddly As Intelligent whiteboard collaboratio systems and methods

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633436A (en) * 1983-12-16 1986-12-30 International Business Machines Corp. Real-time rub-out erase for an electronic handwriting facility
US4686522A (en) * 1985-02-19 1987-08-11 International Business Machines Corporation Method of editing graphic objects in an interactive draw graphic system using implicit editing actions
US4683468A (en) * 1985-03-11 1987-07-28 International Business Machines Corp. Method for manipulation of graphic sub-objects in an interactive draw graphic system
US4698625A (en) * 1985-05-30 1987-10-06 International Business Machines Corp. Graphic highlight adjacent a pointing cursor
US4815029A (en) * 1985-09-23 1989-03-21 International Business Machines Corp. In-line dynamic editor for mixed object documents
US4823285A (en) * 1985-11-12 1989-04-18 Blancato Vito L Method for displaying hairstyles
US4809201A (en) * 1985-12-02 1989-02-28 Schlumberger Systems, Inc. Graphic display region defining technique
US4785399A (en) * 1987-03-03 1988-11-15 International Business Machines Corporation Shaping geometric objects by cumulative translational sweeps
US5072412A (en) * 1987-03-25 1991-12-10 Xerox Corporation User interface with multiple workspaces for sharing display system objects
US4847605A (en) * 1987-04-27 1989-07-11 International Business Machines Corporation Picking in a graphics system
US4952932A (en) * 1987-04-30 1990-08-28 Canon Kabushiki Kaisha Information input apparatus
US4984152A (en) * 1987-10-06 1991-01-08 Bell Communications Research, Inc. System for controlling computer processing utilizing a multifunctional cursor with decoupling of pointer and image functionalities in space and time
US5027291A (en) * 1987-11-24 1991-06-25 International Business Machines Corporation Application exit for potentially pickable primitives in a graphics system
US5159664A (en) * 1988-07-06 1992-10-27 Hitachi Ltd. Graphic display apparatus
US5021976A (en) * 1988-11-14 1991-06-04 Microelectronics And Computer Technology Corporation Method and system for generating dynamic, interactive visual representations of information structures within a computer
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5157384A (en) * 1989-04-28 1992-10-20 International Business Machines Corporation Advanced user interface
US5129083A (en) * 1989-06-29 1992-07-07 Digital Equipment Corporation Conditional object creating system having different object pointers for accessing a set of data structure objects
US5211564A (en) * 1989-07-19 1993-05-18 Educational Testing Service Computerized figural response testing system and method
US5208909A (en) * 1989-10-23 1993-05-04 International Business Machines Corporation Pre-drawing pick detection in a graphics display system
GB9002475D0 (en) * 1990-02-05 1990-04-04 Crosfield Electronics Ltd Electronic brush generation
US5371845A (en) * 1990-04-27 1994-12-06 Ashlar, Inc. Technique for providing improved user feedback in an interactive drawing system
US5063600A (en) * 1990-05-14 1991-11-05 Norwood Donald D Hybrid information management system for handwriting and text
US5299307A (en) * 1990-08-17 1994-03-29 Claris Corporation Controls for drawing images on computer displays
US5307452A (en) * 1990-09-21 1994-04-26 Pixar Method and apparatus for creating, manipulating and displaying images
US5231698A (en) * 1991-03-20 1993-07-27 Forcier Mitchell D Script/binary-encoded-character processing method and system
US5250929A (en) * 1991-07-29 1993-10-05 Conference Communications, Inc. Interactive overlay-driven computer display system
US5241624A (en) * 1991-10-03 1993-08-31 International Business Machines Corporation Method for determining a user selected group of data objects for the propagation of attribute values
US5404439A (en) * 1992-04-15 1995-04-04 Xerox Corporation Time-space object containment for graphical user interface

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6020895A (en) * 1996-05-28 2000-02-01 Fujitsu Limited Object editing method, object editing system and computer memory product
US6563512B1 (en) 1996-06-25 2003-05-13 Fujitsu Limited Object editing method, object editing system and computer memory product
JP2001522080A (ja) * 1997-10-31 2001-11-13 ヒューレット・パッカード・カンパニー 相対的入力時間に基づいてグラフィックデータを編集する為の装置
JP2001522081A (ja) * 1997-10-31 2001-11-13 ヒューレット・パッカード・カンパニー データ記録装置
JP2007305109A (ja) * 1997-10-31 2007-11-22 Hewlett Packard Co <Hp> インタリーブ画像を捕捉する方法及び装置
US7715630B2 (en) 2002-05-14 2010-05-11 Mircosoft Corporation Interfacing with ink
JP2009266127A (ja) * 2008-04-28 2009-11-12 Toshiba Corp 情報処理装置、表示制御方法およびプログラム
JP4533943B2 (ja) * 2008-04-28 2010-09-01 株式会社東芝 情報処理装置、表示制御方法およびプログラム
JP2010108482A (ja) * 2008-08-11 2010-05-13 Imu Solutions Inc 選択装置及び選択方法
US8456421B2 (en) 2008-08-11 2013-06-04 Imu Solutions, Inc. Selection device and method
JP2018530052A (ja) * 2015-08-28 2018-10-11 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッドSiemens Product Lifecycle Management Software Inc. オブジェクト選択システムおよびオブジェクト選択方法
JP2021033885A (ja) * 2019-08-28 2021-03-01 株式会社リコー 表示装置、表示方法、プログラム

Also Published As

Publication number Publication date
EP0566293A3 (en) 1995-04-19
DE69333096D1 (de) 2003-08-21
JP3789946B2 (ja) 2006-06-28
EP0566293A2 (en) 1993-10-20
DE69333096T2 (de) 2004-02-12
EP0566293B1 (en) 2003-07-16
US5548705A (en) 1996-08-20

Similar Documents

Publication Publication Date Title
JP3789946B2 (ja) オブジェクトを動的に選択及び操作する方法
EP0566294B1 (en) Graphical drawing and editing method and system
US9207858B2 (en) Method and apparatus for drawing and erasing calligraphic ink objects on a display surface
US9619106B2 (en) Methods and apparatus for simultaneous user inputs for three-dimensional animation
US8132125B2 (en) Freeform encounter selection tool
US6594616B2 (en) System and method for providing a mobile input device
US20120326995A1 (en) Virtual touch panel system and interactive mode auto-switching method
KR20040086544A (ko) 제스처를 위한 동적 피드백
US20090091547A1 (en) Information display device
CN111475097B (zh) 一种笔迹选择方法、装置、计算机设备和存储介质
GB2317798A (en) Method and apparatus for providing three-dimensional model associativity
Xiao et al. Supporting responsive cohabitation between virtual interfaces and physical objects on everyday surfaces
US10855481B2 (en) Live ink presence for real-time collaboration
EP3783474A1 (en) Method, apparatus and device for erasing handwriting on electronic whiteboard
JP2007521523A (ja) インクの収集およびレンダリング
CN111984151B (zh) 一种提高处理效率的白板画布大小、位置漫游控制方法
CN114063859A (zh) 一种擦除图形的方法、电子设备和存储介质
JP2003186620A (ja) ポインティング機能付き表示装置を備えた情報処理装置
Jackson et al. From Painting to Widgets, 6-DOF and Bimanual Input Beyond Pointing.
Gupta et al. A real time controlling computer through color vision based touchless mouse
WO2023050079A1 (zh) 一种显示设备及其菜单栏的显示方法
CN114625255B (zh) 面向可视化视图构建的徒手交互方法、可视化视图构建装置和存储介质
WO2023184083A1 (zh) 一种智能图形联想的方法及智能交互显示设备
Mali et al. Finger Mouse Movement
CN115033164A (zh) 一种基于电子白板橡皮擦擦除电子数据的方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040611

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060330

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090407

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100407

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120407

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120407

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees