JP4094706B2 - コンピュータ制御デイスプレイシステム - Google Patents
コンピュータ制御デイスプレイシステム Download PDFInfo
- Publication number
- JP4094706B2 JP4094706B2 JP21277297A JP21277297A JP4094706B2 JP 4094706 B2 JP4094706 B2 JP 4094706B2 JP 21277297 A JP21277297 A JP 21277297A JP 21277297 A JP21277297 A JP 21277297A JP 4094706 B2 JP4094706 B2 JP 4094706B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- link
- curve
- outline
- point
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明はグラフィックベースのコンピュータシステムにおけるオペレーティング分野に関し、特にグラフィックオブジェクトのアウトラインを生成することに関する。
【0002】
【従来の技術】
ペンベースのシステム及び”電子ホワイトボード”(例えばゼロックス社の部門LiveWorks から入手可能なLiveBoard (商標名))等のコンピュータベースのシステムは、ペン、スタイラス、又はカーソル制御装置などの入力装置の使用に基づいてグラフィカルユーザインターフェースを提供する。このようなシステムにおいて、”ディスプレイ”はデータを表す手段として及び入力媒体としての両方の機能を果たす。グラフィックオブジェクトは入力装置を用いて生成されたペンストロークを介してディスプレイ上に描かれる。グラフィックオブジェクトは単語、図、又はディスプレイされ得るあらゆるものを表すことができる。従って、ジェスチュアとして公知である入力技術を用いてグラフィックオブジェクト上に様々な操作を行うことができる。ジェスチュアそれ自体は単なるペンストローク(pen stroke)であり、これがインストラクションとして解釈される。しばしば、このようなシステムはペンストロークが持続(persistent)グラフィックオブジェクトを生成するとき又はペンストロークがジェスチュアとして扱われるときを区別するために、描画モード及びジェスチュアモードを有する。
【0003】
このようなコンピュータベースのシステムにおけるオペレーティングの非常に重要な面は、なんらかの動作が行われているときにユーザにフィードバックを与える必要があることである。例えば、1つ以上のグラフィックオブジェクトが選択されたとき、ユーザはどのグラフィックオブジェクトが選択されたのかについてのあるフィードバックを受け取る。典型的なグラフィック描画プログラムにおいて、セレクションループ(任意形状の閉鎖曲線)ジェスチュアはセレクション表示ループになる。しばしば、選択されたオブジェクトの外観は強調表示又はドロップシャドー(drop-shadowing)によって強調されることもあるが、選択されたものを示す際視覚的に見るにはセレクションループがはるかに簡単である。ループを使用してセレクションを行う欠点は、ループをドロー(draw)するのに時間がかかることである。
【0004】
他のグラフィック描画プログラムではポイント&クリック又はタップセレクションができる。このタイプのセレクションでは、選択されたオブジェクトの境界ボックスが使用される。これは、境界ボックスが選択されていない他のオブジェクトを含む可能性があるので自由形状のオブジェクトには不向きである。
【0005】
ポイント&クリック又はタップセレクションでは、セレクションを正確に示す方法は、グラフィックオブジェクトの視覚的アウトラインを提供することである。従って、任意形状の閉鎖曲線のアウトラインを生成する必要がある。これらの閉鎖曲線は、例えば任意のオブジェクトの外側の境界線、ノードリンクダイヤグラムにおけるノードの境界、又は閉鎖曲線であるグラフィックオブジェクトの包囲線であってもよい。
【0006】
自由形状グラフィックシステムにおいてグラフィックオブジェクトのアウトラインを生成することはたやすいことではない。1つの問題は、閉鎖曲線ではどちら側が曲線の内側でどちら側が曲線の外側であるかを決定しなければならないことである。他の問題は、閉鎖曲線の形状のグラフィックオブジェクトが自己交差(例えば数字の8)する場合があるので、描画ラインに単に沿って引いてもアウトラインにならない場合がある。
【0007】
【発明が解決しようとする課題】
自由形状のグラフィック入力をサポートできるコンピュータ制御ディスプレイシステムにおいて、グラフィックオブジェクトのアウトラインを得るための方法が開示される。この好適な実施の形態において、アウトラインを生成する能力は、ノードリンクダイヤグラムのトポロジを維持するためのシステムに使用される。部分的なアウトラインは”リンクのルート変更”を可能にするために使用される。リンクのルート変更は、ノードリンクダイヤグラムにおいてノードを移動したときに起こり得るリンクの交差の問題を修正する。更に、この好適な実施の形態ではアウトラインはグラフィックオブジェクトのセレクションを示すために使用される。
【0008】
アウトラインは、前記グラフィックオブジェクトの片側から所定距離のところに第一の単純な曲線を生成し、前記グラフィックオブジェクトの反対側から所定距離のところに第二の単純な曲線を生成するステップを行い、前記第一単純曲線又は前記第二単純曲線のどちらが長いかを決定して前記第一及び第二の単純曲線の前記長い方を前記アウトラインとして提供することによって生成される。
【0009】
リンクのルート変更に関連して使用されるとき、移動ノード及び固定ノードのアウトラインが生成される。アウトラインは固定ノードのリンクのアタッチポイントから出発し、交差リンクに達するまで続く。固定ノードのアウトラインの残り及びアタッチポイントからの交差リンクの部分は切捨てられる。交差リンクは移動ノードに交差するまで続く。交差リンクの残りは切り捨てられ、移動ノードのアウトラインは移動ノードのアタッチポイントまで続く。次に移動ノードのアウトラインの残りは切り捨てられる。
【0010】
本発明の第一の実施の形態は、作業表面を制御するためのコンピュータ制御デイスプレイシステムであって、前記作業表面上で自由形状グラフィックオブジェクトを生成し、選択し、移動させるための入力装置と、前記作業表面の内容をデイスプレイするためのデイスプレイと、前記作業表面上の画像をグラフィックオブジェクトとして解釈するための処理回路と、を含み、前記処理回路が、グラフィックオブジェクトのアウトラインを生成するための回路と、グラフィックオブジェクトが選択されたことに応答して、グラフィックオブジェクトの前記アウトラインを生じさせるための回路と、を含む、コンピュータ制御デイスプレイシステムである。
【0011】
本発明の第二の実施の形態は、前記第一の実施の形態のコンピュータ制御デイスプレイシステムにおいて、前記処理回路が、グラフィックオブジェクトのコレクションをノードリンクダイヤグラムとして解釈するための回路と、ノードが移動されるときにノードリンクダイヤグラムのトロポジを維持するための回路と、前記ノードが移動された結果としてリンクがノードに交差することを検知するための回路と、前記移動されたノードおよびアタッチされた固定ノードのアウトラインに基づいて前記交差するリンクをルート変更するための回路とを含むコンピュータ制御デイスプレイシステムである。また、本発明の第三の実施形態は、前記第二の実施の形態のコンピュータ制御デイスプレイシステムにおいて、前記グラフィックオブジェクトのアウトラインを生成するための回路が、前記グラフィックオブジェクトの第一サイドについての第一閉鎖曲線及び前記グラフィックオブジェクトの第二サイドについての第二閉鎖曲線を生成する回路と、前記第一閉鎖曲線を第一単純閉鎖曲線としかつ前記第二閉鎖曲線を第二単純閉鎖曲線とするための回路と、前記第一単純閉鎖曲線及び前記第二単純閉鎖曲線のうちの長い方を判定するための回路とを含む、コンピュータ制御デイスプレイシステムである。
【0012】
【発明の実施の形態】
本発明は、ノードリンクダイヤグラムの操作が可能な自由形状グラフィックスベースのコンピュータシステムにおいて作業するときの問題に関する。ノードリンクダイヤグラムはフローチャート、組織チャート、状態図、プロジェクトマネージメントチャート等を含む。ノードリンクダイヤグラムにおいて、しばしばノードをぐるりと移動させながらリンクを保持することが望ましい。また、ノード及びリンクが任意の形をとるようにノードリンクダイヤグラムが自由形状で生成されることができる場合、リンクがそれらの元の形状特性を保持することが望ましいことが分かった。従って、本発明はリンクの変更に関わる必要なくユーザがノードの移動を介してノードリンクダイヤグラムを修正することを可能にする。
【0013】
本明細書中の表記に使用される以下の用語の意味は以下の通りである。
グラフィックオブジェクト:2D空間においてディスプレイされたあらゆるオブジェクト
曲線:ユーザによって手動で(例えばペンストロークで)生成された、又はジェスチュア等の他の手段によって作成された(例えばセレクションジェスチュアより生じたセレクション矩形)1次元のグラフィックオブジェクト
ペンストローク:インクストローク又はジェスチュアとなるペンを用いた動作
インクストローク:持続性のある曲線
ジェスチュア:ペンストロークで作成された一時的で動作として解釈される曲線セレクション:選択されたものとして識別されるグラフィックオブジェクトのセット
ノード:ある境界領域内のグラフィックオブジェクト又はグラフィックオブジェクトのグループ。このような境界領域は一般に可視境界を有する。
リンク:1つ又は2つのノードに接触する(即ちこれらを結ぶ)インクストローク。ノードがノード自体にリンクすることもある。
【0014】
本発明に使用されるようなコンピュータベースのシステムは、図1を参照して表される。図1を参照すると、コンピュータベースのシステムはバス101を介して結合した複数の構成要素からなる。ここに図示されているバス101は本発明が曖昧にならないように簡略化されている。バス101は複数の平行バス(例えばアドレス、データ及び状態バス)及びバスの階層(例えばプロセッサバス、ローカルバス及び入出力バス)からなる。コンピュータシステムは更に、バス101を介して内部メモリ103から供給されるインストラクションを実行するためのプロセッサ102を含む(内部メモリ103は典型的にはランダムアクセスメモリ又は読み出し専用メモリの組み合わせであることに注意されたい)。操作において、本発明の様々な機能要素を実行するためのプログラムインストラクションは、内部メモリ103内に格納される。プロセッサ102及び内部メモリ103は、別々の構成要素であっても単一の一体型装置であってもよい。プロセッサ102及び内部メモリ103は本明細書中に記載される様々な処理機能を実行するための回路を含む。また、バス101には外部格納装置107も結合している。外部格納装置107は一般的には磁気若しくは光学ディスク格納装置等の高容量格納媒体である。
【0015】
また、バス101にはディスプレイ104及びポインティング装置105も接続されている。この好適な実施の形態において、ポインティング装置105はペンタッチ感知パネルであり、これはディスプレイ104にタッチスクリーン画面として統合されている。このようなタッチスクリーン画面は当技術においてはよく知られており、ペンペースのシステム等のこのようなシステムにおいてや、電子ホワイトボードシステムで使用される。しかし、ポインティング装置105がスタイラス、マウス、トラックボール又は他のカーソル制御装置であってもよいように、ポインティング装置105とディスプレイ104は統合される必要はない。
【0016】
図2は、本発明に使用されるようなグラフィックユーザインターフェースの特定の実施を表している。図2を参照すると、グラフィックユーザインターフェースはディスプレイ104上にディスプレイされ、タッチパネル105を介して情報交換される。グラフィックユーザインターフェースは作業表面を使用し、及び図に示されたような複数のアクセス可能機能201を用いてもよい。作業表面202はユーザが様々な曲線を描いたり他のグラフィックオブジェクトがディスプレイされたりする場所である。アクセス可能機能201はディスプレイの底部領域203に位置する。この機能201はグラフィクオブジェクトを編集(作成、削除、移動、収縮等)したり、タッチパネル103の操作モードを変えたり(描画及びジェスチュアモードからの切り換え等)するための操作を含んでもよい。
【0017】
または、これらの機能はウィンドウズ(Windows )仕様のアプリケーションに一般的にみられるプルダウンメニューによってアクセスされてもよい。しかしこれらの機能は指定においてオプショナルであり、これらの主な目的は該システムの操作に本質的な操作を決定することである。これらの機能はジェスチュアによって起こる機能と同じ機能を果たす。
【0018】
本発明のこの好適な実施の形態は、グラフィックユーザインターフェース(GUI)を有するペンベースのシステムで実施される。このようなGUIは一般的にグラフィックオブジェクトを選択/選択解除するための”タップ”やタップされたグラフィックオブジェクトに関連し得る操作を呼び出す”ダブルタップ”等の操作をサポートする。オブジェクトが選択されるとそのオブジェクトはドラッグされて作業領域内の所望の位置にドロップされる。以下に詳細に述べるように、このようなタップジェスチュアは選択されたグラフィックオブジェクトのアウトライン上(例えばノードリンクダイヤグラムのノード)に行われ、視覚的に識別出来るようにアウトラインが引かれてディスプレイされる。このアウトライン化によってユーザにグラフィックオブジェクトが選択されたフィードバックが提供される。
【0019】
この好適な実施の形態の作業領域は”フリーハンド”で描かれたグラフィックオブジェクトを可能にする。従ってノード及びリンクは任意の形状を持ちうる。これはホワイトボードの使用のされる方法に一致する。
【0020】
本発明のこの好適な実施の形態は、適切なホワイトボードエミュレーションプログラムの制御のもとに操作する、LiveBoard 等のペンベースのシステムで使用されるC++プログラミング言語のソフトウェアプログラムとして実施されてきた。このようなソフトウェアプログラムは磁気ディスケットやCD−ROM等の適切な格納媒体に格納されてもよい。
【0021】
ノードリンクダイヤグラムには多くの使用方法がある。これらのダイヤグラムは処理フローを記述したり、グループ化したアイテム間の関係を表したりするために使用されてもよい。ノード/リンク間の構成及び関係は、ノードリンクダイヤグラムの”トポロジ”と呼ばれる。ノードの空間的位置を操作するときにトポロジが保持されることが望ましい。
【0022】
ノードリンクダイヤグラムにおけるノードは任意の形状であり、関連するグラフィックオブジェクトのグループを表す。これらのグラフィックオブジェクトは一般には文字、単語、又は記号を表す他の情報を表す。ノードはグラフィックオブジェクトをインクストローク又は他のグループ化手段で囲むことによって表される。ノードは可視境界を有し、この境界はノードの空間的限界を示す。ノードは他のノードへの複数のリンクを有してもよい。ノードのセレクションによってもそのリンクのセレクションが行われる。
【0023】
リンクは1つ以上のノード間の視覚的繋がりを提供するために使用されるインクストロークである。リンクもまた任意の形状を有してもよい。ノード間のリンクを提供することは、特にノードを再配置するときに有効である。ノードが移動するときでもノード間の視覚的関連性を維持することができることによって、グラフィックベースシステムの使用の煩わしさが減少される。
【0024】
リンクは、少なくとも1つのノードに”接触”する曲線を単に描くことによって作成される。ノードに接触するということは、そのリンクのエンドポイントはノードの境界から既定の距離内にあることを意味する。リンクがノードに”接触”するポイントは”アタッチポイント”と呼ばれる。リンクは少なくとも1つのノード(即ち一端の)及び最高2つのノードに関連している。
【0025】
この好適な実施の形態は、複数のノード及びリンクを操作することができるが、リンクから生じる基本的な問題が図3に表されたノードリンクダイヤグラムから生じる。図3を参照すると、単一のリンクL1 301が各端にノード(静止ノードN302及びノードN1 303)を有し、ユーザがノードN1 303をN2 304の位置まで手動で移動するところが表されている。この移動によってリンクL1 301は形を変えてL2 305で表されたようなリンクになる。ノードへのリンクのアタッチポイントはA306,A1 307及びA2
308で表されている。
【0026】
図4は、本発明のこの好適な実施の形態において実行されるリンクの再整形を概説するフローチャートを表す。図4を参照すると、先ずユーザはノードリンクダイヤグラムの中のノードを移動する(ステップ401)。これは単にドラッグ及びドロップ操作によって、又は見えないグラフィックユーザインターフェースによってサポートされたあらゆる操作によって実行することができる。ノードの再整形における第一ステップは、ステップ402の目的地象限を識別することである。目的地象限が同じかどうかが決定される(ステップ403)。目的地象限の決定は、元のリンクのフリッピングが必要かどうかを示す。目的地象限が同じであれば、元のリンクに対してリンクは曲線変換する(ステップ404)。目的地象限が同じでない場合、元のリンクはそれぞれの軸を横切って目的地象限へフリップする。次にフリップしたリンクに対してリンクの曲線変換が実行される(ステップ406)。
【0027】
リンクを再整形したあと、再整形したリンクがいずれかのノードに交差するかどうかが決定される(ステップ407)。ノードに交差するリンクが無ければ、リンクの再整形は完了する(ステップ413)。リンクがノードに交差する場合、ノードのアタッチポイントが移動してよいかどうかが決定される(ステップ408)。移動できなければ、リンクのルート変更が行われる(ステップ410)。そうでない場合は、ノードへのアタッチポイントのフリップが行われる(ステップ409)。次に、交差が未だ存在するかどうかがチェックされる(ステップ411)。アタッチポイントがフリップした後にノードが交差されていなければ、リンクの再整形は完了する(ステップ413)。ノードにリンクが交差したままである場合、リンクはノードに交差するポイントで切り捨てられる(ステップ412)。切捨てが完了すると、リンクの再整形は完了する(ステップ413)。
【0028】
この好適な実施の形態において、アタッチポイントはユーザが選択し及び移動してもよいことに注意されたい。これはユーザがノード間の関係を変更したいと欲することもあるため、必要である。更に、ユーザが自動リンク変更の結果に不満であるときに変更を行いたいと欲することもある。
【0029】
先に述べたように、リンクは曲線のインスタンスである。曲線変換は、概念的にはリンクがその形状特性を維持するようなリンクの拡張又は収縮と考えられることができる。曲線変換では、リンクは図5に表されたように孤立して考えられる。リンクL1 301はA306からA1 307までつながっている。A306からA2 308までのリンクL2 305はL1 301の形状特性と同じ特性を有することが望ましい。この表示において、固定ノードのアタッチポイントA306は2次元座標系の原点に位置することに注意されたい。従って、アタッチポイントA1 307は座標(x1 501, y1 502)であり、アタッチポイントA2 308は座標(x2 503, y2 504)である。目的は、L1 301の形状特性が維持されるように曲線の残りを変換することである。
【0030】
変換を行う1つの方法は、単純な幾何学変換(例えばスケーリング)である。しかし、これはある状況において望ましくない結果を生じることが分かっている。このような例は図6及び図7に表されている。図6を参照すると、正弦曲線の単一周期の形をしたリンク601は、ノード602及び603に接触している。単純な幾何学変換は一般的に以下のように行われる:元のアタッチポイントのxy座標は(x1,x2)であり、移動するときのアタッチポイントは(x2,y2)である。リンクを変換するために、リンク上の全てのポイントP(x,y)はP’(x’,y’)に移動する。ここでx’=x×x2/x1及びy’=y×y2/y1である。幾つかの状況において、分母が小さい或いはゼロである場合もあることに注意されたい。その結果は図7に表わされている。図7を参照すると、ノード603を移動した結果、曲線の”ハンプ”702及び703が大きく拡張されるようにリンク701が変換されている。これは分母が小さな分数である結果である。従って、本発明はリンクを再整形するために異なるアプローチを用いる。
【0031】
どのように曲線変換が起こるかをより理解するためには、曲線がどのように表されるかを理解することが必要である。曲線を表す最も簡単な方法は、その曲線のサンプル点のセットによって表すことである。これらのポイントは入力の順番によって自然に順番が決まる。幾つかのシステムは、ビットマップ、即ちサンプル点全体に曲線(スプライン)を当てはめることによって生成されたビットマップによって直接曲線を表す。この好適な実施の形態において、曲線はその開始ポイント及びそのセグメントのセットによって表され、ここでセグメントは2つの連続的なサンプル点によって決定されたベクトル(dx,dy)である。これは図8に表されている。図8を参照すると、曲線801は作業表面上に現れる。曲線801はポイント810〜820で起こるサンプリングによって検出される。サンプル点間の距離はセグメントと呼ばれる。例えば、セグメント831はサンプル点810と811との間で画定され、ここでサンプル点811は終点のサンプル点である。便宜上、固定アタッチポイントが曲線の開始ポイントとなり、移動アタッチポイントが曲線の終了ポイントとなるように、曲線は傾斜によって標準化されている。
【0032】
この好適な実施の形態の曲線変換テクニックは、前後のアタッチポイント間の差を取り、及びこの差を曲線のセグメントに分配する。換言すると、リンクを形成するポイントは、元のリンクの形状が維持されるように新しい位置に変換される。このテクニックは図9のフローチャート及び図3に表された座標点に則して説明される。図9を参照すると、第一ステップはトータルのX及びYの変更を演算するステップである(ステップ901)。(x1,y1)及び(x2,y2)をリンクのアタッチポイントの移動の前後の位置とする。すると、
【0033】
【数1】
【0034】
となる。次に、残りのステップがリンクのセグメントのそれぞれに実行される。i番目のセグメント(dx[ i ],dy[ i ])では、この変換はステップ902〜904に表されたように演算され、新しいi番目のセグメント(Tdx[ i ],Tdy[ i ])になる。これは以下の演算によって行われる。
【0035】
先ずX及びyの曲線のアークの長さ(arclength )が演算される(ステップ902)。
【0036】
【数2】
【0037】
ここで|x|はxの長さ、即ち絶対値を示す。
【0038】
次に、変換ファクタcx [i] 及びcy [i] がi番目のセグメントのx及びyの長さに基づいて演算される(ステップ903)。
【0039】
【数3】
【0040】
これでi番目のセグメントに加えられるべき変更の寄与は、cx [i] ×xDisp及びcy [i] ×yDispで表される。従って新しいi番目のセグメントは以下の式で演算される(ステップ904)
【0041】
【数4】
【0042】
図3及び図5の例において、アタッチポイントA1及びA2はアタッチポイントAを原点とした座標系の同じ象限内にある。この好適な実施の形態において、再整形されるうえに、A2がA1と異なる象限内にある場合、リンクの形状はx軸若しくはy軸又は両軸の周りをフリップ(ミラー反転(mirror-reveresed))する。このフリッピングはユーザが本来望むものであるので、望ましい視覚特性である。図10はフリッピングの3つのケースを表す。A1が象限1001から象限1002に移動した場合、結果はA4 1007になる。フリッピングはy軸1006の周りで起こる。A1が象限1001から象限1003に移動した場合、結果はA5 1008である。フリッピングはy軸1006及びx軸1005の周りで起こる。最後に、A1が象限1004に移動した場合、結果はA3
1009である。フリッピングはx軸1005の周りで起こる。
【0043】
一般に、象限の移動が起こるとき、最初に起こるのは目的地象限へのリンクのフリッピングである。リンク形状のフリッピングは、所望の象限への単純な幾何学変換によって行われる。これに続いて、フリップされたリンクに対して上記のようなリンクの再整形が行われる。
【0044】
リンクの形状を変換したあと、図3に表された簡単なケースにおいて行われる必要のあるのはこれだけである。しかし11及び図12は、再整形及びフリッピングが望ましくない結果を生じたケースを表している。図11を参照すると、アタッチポイントA1 1102を有するノードN1 1101はアタッチポイントA2 1104を有するN2 1103で示された位置に移動する。固定ノードN 1105はアタッチポイントA1106を有する。リンクL1 1107はノードN1105をノードN1 1101にリンクする。リンクの再整形及びフリッピングの後のこの結果は図12に表されている。リンクL1 1107はリンクL2 1201に再整形され、L2 1201はノードN1105及びノードN2 1103の両方に交差する。これは明らかにユーザが欲するものではない。従って、満足できる結果を得るようにアタッチポイントを調節するテクニックが必要である。
【0045】
ノードの交差を修正する第一ステップは、リンクのアタッチポイントを単にフリップすることである。フリッピングには2つのケースがある。即ちノードを横切る場合とエッジに沿った場合である。ノードを横切るアタッチポイントをフリッピングする際、ノードの反対側へのフリッピングが起こる。図11及び図12の例にこのテクニックを適用した結果は図13に図示されており、図12のアタッチポイントA及びA2はA’A1301及びA2’1302に移動している。トポグラフィ(topography)及び視覚的な結果を維持する点に関して言えば、これは非常に満足のいく結果を提供する。しかし幾つかの例において、ノードの形状はリンクが接触している場所によってノード間の関係が異なって解釈されるような意味を有することが分かっている。例えば、片側のアタッチメントは入力を示し、その反対側のアタッチメントは出力を示す。従って、内部ノード表示は幾つかの標識(例えばフラッグやノードタイプ)を含み、この標識はアタッチポイントのフリッピングが許されるかどうかを示すために使用される。
【0046】
アタッチポイントのフリッピングは、ノードの形状がフリップ軸の周りでほぼ対称である場合には直線的である。従って非対称の場合について考察する。垂直軸の周りを左右にフリップする場合のみを考察する(それ以外の場合は類似している)。非対称ケースは図14に表されている。図14を参照すると、非対称形ノード1405が図示されている。ポイントA1 1401を右から左へ水平方向にフリップするためにA1’1403でノードと交差するまでA1 1401からノード1405の反対側へとひっぱり、ここが新しいアタッチポイントとなる。非対称ケースにおいて、フリップされたポイントは完全に異なり得ることに注意されたい。例えば、A1 1401及びA2 1402は両方ともノードのかなり右側にあり、フリップしたポイントA2’1404はノード1405のかなり左側にあるが、フリップしたポイントA1’1403はノード1405の真ん中にある。
【0047】
考察する他のケースは、水平ラインが3ヵ所以上でノードの囲いに交差する場合である。従ってフリップする対応ポイントを拾うことが重要である。このケースは図15に表されている。図15を参照すると、ポイントA1 1501及びA1’1502はフリップポイントとして対応し、ポイントA2 1503及びA2’1504はフリップポイントとして対応する。対応するフリップポイントを識別するために、左から右まで交差ポイントに番号を付ける。現在のアタッチポイントの番号をIとする(即ちアタッチポイントは左からI番目である)。ここから右から左へとポイントに番号をふる。対応するポイントは右からI番目のポイントである。
【0048】
ノードのエッジに沿ったアタッチポイントのフリップは、アタッチメントを有するノードのエッジに平行してノードが移動したときに起こる。更に、ノードの開始/終了位置はオーバーラップがないようでなければならない。ノードのエッジを横切ってアタッチポイントをフリップする様は図16及び図17に図示されている。エッジを横切るアタッチポイントのフリップが一方のノード上で起こる際に、ノードを横切るフリップがもう一方のノードを横切る場合がある。図16を参照すると、ノード1601及び1602はリンク1603及び1604を介してリンクされている。リンク1603はアタッチポイント1605でノード1601に、及びアタッチポイント1606でノード1602につながっている。リンク1604はアタッチポイント1607でノード1601に、及びアタッチポイント1608でノード1602につながっている。ここで図17を参照すると、ノード1601は新しい位置に移動し、アタッチポイント1606及び1607がノード1602及び1601を横切ってそれぞれアタッチポイント1606’及び1607’にフリップして移動している。一方、アタッチポイント1605及び1608はこれらの各ノード1601及び1602のエッジを横切ってアタッチポイント1605’及び1608’にフリップしている。リンク1603及び1604はリンク1603’及び1604’に再整形され、且つその基本的形状特性を保持している。
【0049】
エッジに沿ったアタッチポイントのフリップは、エッジの中心点を見つけ、この中心点とアタッチポイントとの間の距離Xを見つけ、及びこのアタッチポイントを中心点の反対側の距離Xの位置にフリップすることによって行われる。
【0050】
これらのテクニックが駆使されてもなお、リンクがノードを交差することがある。これは図18、図19に表されている。図18を参照すると、ノード1801はリンク1803を介してノード1802につながっている。リンク1803はアタッチポイント1804でノード1801に、及びアタッチポイント1805でノード1802につながっている。図19はノード1802が移動した結果を表している。図19を参照すると、リンク1803は再整形されており、リンク1803’で図示されている。リンク1803’はポイント1901でノード1802に交差することに注意されたい。ポイント1805’はアタッチポイント1805がフリップする場所を示す。しかし、ノードのフリッピングによっても交差リンクが修正されないことが明らかである(アタッチポイントのフリッピングの効果を示す破線1902によって表されている)。従って、更なる”交差の解除”テクニックが必要となる。
【0051】
ノードからリンクを打切るためには、リンクがノードと交差する場所を見つけてそのアタッチポイントを作ればよい。リンクが打ち切られたとき、この打ち切られた部分は切捨てられるので、リンクの全体的な形は変わる。この好適な実施の形態において、リンク1803’は交差ポイント1901で打ち切られ、交差ポイント1901からアタッチポイント1805までのリンクのセグメントを削除する。この結果は図20に表されており、ここで再整形されたリンクはリンク2001で表されている。
【0052】
ノード上にリンクの複数の交差ポイントがある場合、固定ノードのアタッチポイントに一番近い交差ポイントが選択されることに注意されたい。更に、リンクを打ち切る代わりに、そのリンクがノードに交差するポイントでリンクを曲線変換してもよいことに注意されたい。
【0053】
リンクのルート変更は、アタッチポイントが移動(フリップ)されずにノードの交差が起こるときに行われる。リンクのルート変更の例は、図21に表されている。図21は図12のノードの交差リンクを修正するために使用されることができるリンクのルート変更を表す。図21を参照すると、ルート変更されたリンク2101は、ノードと交差するのを避けるためにルート変更されている。点線2102は、リンクが再整形後に元にあったところを示す。ルート変更されたリンク2101はアタッチポイント1106からポイント2103までノード1105の形状に沿い、このポイント2103でこのリンク2101は交差リンク2102にぶつかる。次にルート変更はリンク2102の形状に沿ってノード1104に交差するところ(すなわちポイント2104)まで続く。ここからこのルートはノード1103の形状に沿ってアタッチポイント1104まで続く。
【0054】
図22はリンクをルート変更するための簡単なテクニックのステップを表すフローチャートである。交差リンクが生成されたと仮定する。先ず、ノードのそれぞれのアウトラインが生成される(ステップ2201)。ノードのアウトラインが生成される方法は、図27〜図30に則して以下に記載される。いずれにせよ、これは図23に表されており、ノード1103及び1105それぞれのアウトライン2301及び2302が図示されている。また、図23には交差リンク2303も表されている。
【0055】
次に、固定ノードのアタッチポイントから始まって、アウトラインに沿った且つ交差リンクに一番近いルートが選ばれる(ステップ2202)。これは図24に表されている。アウトライン2302及び交差リンク2303の使用された部分は切捨てられていることに注意されたい。
【0056】
次にこのルートは移動したノードのアウトラインが交差するポイントに達するまで交差リンクをたどり、交差リンクの残りは切り捨てられる(ステップ2203)。これは図25に図示されており、ノード1103に交差するリンク2303の部分は切捨てられる。
【0057】
このポイントで、ルートは移動したノードのアタッチポイントが一番近い距離に達するような方向に、この移動したノードの形をたどる(ステップ2204)。これは図26に表されており、アウトライン2301の使用されていない部分は切捨てられる。
【0058】
任意形状のノードの境界のアウトラインを見つけることは容易なことではない。境界を表す任意の形状の閉鎖曲線の場合、ポイントが曲線の内側にあるか外側にあるかを決定するのは難しい。アウトラインを見つけだすためのテクニックは、図27のフローチャートによって記載される。図27を参照すると、第一アウトラインは境界の片側上の開始ポイントから始まり、第二アウトラインは境界の反対側上の開始地点から始まる(ステップ2701)。曲線がどこから始まるのかが簡単には分からないので”内側”のアウトラインなのか”外側”のアウトラインなのかがハッキリしないため、境界の両側にアウトラインを引くことが必要である。いずれにせよ、アウトラインのそれぞれは境界から同じ既定距離のところに引かれる。これは図28に図示されており、外側のアウトライン2801及び内側のアウトライン2802が表されている。実際にはノード境界の内側及び外側上にアウトラインが引かれることに注意されたい。
【0059】
次に、各アウトラインは簡単な閉鎖曲線に変換される(ステップ2702)。これは、結果的な曲線の端部で小片をトリミングすることによって各アウトライン毎に行われる。このような小さな曲線は図28に、アウトライン2801の曲線2803及びアウトライン2802の曲線2804によって描かれている。これらの曲線はアウトライン処理から生じる。これらの小さな曲線の切捨ては図29にアウトライン2801’及び2802’で表されている。
【0060】
最後に、アウトラインの長い方がノードのためのアウトラインとして選択される(ステップ2703)。2つのアウトラインの様々なセグメントの距離を単に合計してこの合計を比較することによって、アウトラインの長い方が決定される。アウトラインの長い方がノードの”外側”のアウトラインであることは明らかである。これは図30に表されている。
【0061】
先に述べたアウトライン化プロセスはリンクのルート変更以外にも使用されることに注意されたい。この好適な実施の形態において、同じアウトライン化プロセスはノードの選択を示すために使用される。これはアウトライン曲線を強調したり色付けしたりして、アウトラインに囲まれたノードを選択するという視覚的なフィードバックをユーザに提供する。
【図面の簡単な説明】
【図1】本発明のこの好適な実施の形態において使用されるコンピュータベースシステムのブロック図である。
【図2】図1のディスプレイ上にディスプレイされ且つタッチ感知パネルを通してインターフェースされるような基本的なグラフィカルユーザインターフェースを表した図である。
【図3】本発明のこの好適な実施の形態において実施されるような移動されたノード及び対応する再整形されたリンクを表す図である。
【図4】本発明のこの好適な実施の形態において実施されるようなリンクの再整形をまとめたフローチャートを表す図である。
【図5】本発明のこの好適な実施の形態において実施されるようなリンク再整形の空間座標を表す図である。
【図6】リンクのインスタンスの単純な幾何学的スケーリングの望ましくない結果を表した図である。
【図7】リンクのインスタンスの単純な幾何学的スケーリングの望ましくない結果を表した図である。
【図8】本発明のこの好適な実施の形態における曲線の表示に見られるような曲線のサンプル点及びセグメントを表す図である。
【図9】本発明のこの好適な実施の形態において実施されるような曲線変換のためのステップを表した流図である。
【図10】本発明のこの好適な実施の形態において実施されるような、元の象限の外にノードが移動するときに行われるような様々な軸を横切ってフリップするときの図3のリンクを表した図である。
【図11】再整形されたリンクがノードに交差するようなノードの移動を表した図である。
【図12】再整形されたリンクがノードに交差するようなノードの移動を表した図である。
【図13】本発明のこの好適な実施の形態において実施されるような、図11のノードを移動した後のノード上のアタッチポイントのフリッピングを表す図である。
【図14】本発明のこの好適な実施の形態において実施されるような、非対称形ノード上の様々なポイントでのフリップされたアタッチポイントの選択を表す図である。
【図15】本発明のこの好適な実施の形態において実施されるような、ノードが複数のポイントで交差するときのフリップされたアタッチポイントの選択を表した図である。
【図16】本発明のこの好適な実施の形態において実施されるような、ノードのエッジを横切ってアタッチポイントを移動することによってアタッチポイントをフリップするところを表した図である。
【図17】本発明のこの好適な実施の形態において実施されるような、ノードのエッジを横切ってアタッチポイントを移動することによってアタッチポイントをフリップするところを表した図である。
【図18】リンクをノードに交差させ、アタッチポイントのフリッピングによってノードの交差が修正されないノードの移動を表す図である。
【図19】リンクをノードに交差させ、アタッチポイントのフリッピングによってノードの交差が修正されないノードの移動を表す図である。
【図20】本発明のこの好適な実施の形態において実施されるようなリンクの切捨てを表した図である。
【図21】本発明のこの好適な実施の形態において実施されるような、交差ノードを修正するためのリンクのルート変更を表す図である。
【図22】本発明のこの好適な実施の形態において実施されるような、リンクのルート変更のためのステップを表す流図である。
【図23】図22のリンクのルート変更で行われるステップを表す図である。
【図24】図22のリンクのルート変更で行われるステップを表す図である。
【図25】図22のリンクのルート変更で行われるステップを表す図である。
【図26】図22のリンクのルート変更で行われるステップを表す図である。
【図27】本発明のこの好適な実施の形態において実施されるような、ノード境界のアウトラインを生成するためのステップを表す流図である。
【図28】ノード境界のアウトラインを生成するための図23の様々なステップのパフォーマンスを表す図である。
【図29】ノード境界のアウトラインを生成するための図23の様々なステップのパフォーマンスを表す図である。
【図30】ノード境界のアウトラインを生成するための図23の様々なステップのパフォーマンスを表す図である。
【符号の説明】
A アタッチポイント
L リンク
N ノード
Claims (2)
- 作業表面を制御するためのコンピュータ制御デイスプレイシステムであって、
前記作業表面上で自由形状グラフィックオブジェクトを生成し、選択し、移動させるための入力装置と、
前記作業表面の内容をデイスプレイするためのデイスプレイと、
前記作業表面上の画像をグラフィックオブジェクトとして解釈するための処理回路と、
を含み、前記処理回路が、
グラフィックオブジェクトのアウトラインを生成するための回路と、
グラフィックオブジェクトが選択されたことに応答して、グラフィックオブジェクトの前記アウトラインを生じさせるための回路と、
を含み、
前記処理回路がさらに、
グラフィックオブジェクトのコレクションをノードリンクダイヤグラムとして解釈するための回路と、
ノードが移動されるときにノードリンクダイヤグラムのトポロジを維持するための回路と、
前記ノードが移動された結果としてリンクがノードに交差することを検知するための回路と、
前記移動されたノードおよびアタッチされた固定ノードのアウトラインに基づいて前記交差するリンクをルート変更するための回路と、
を含む、コンピュータ制御デイスプレイシステム。 - 前記グラフィックオブジェクトのアウトラインを生成するための回路が、
前記グラフィックオブジェクトの第一サイドについての第一閉鎖曲線及び前記グラフィックオブジェクトの第二サイドについての第二閉鎖曲線を生成する回路と、
前記第一閉鎖曲線を第一単純閉鎖曲線としかつ前記第二閉鎖曲線を第二単純閉鎖曲線とするための回路と、
前記第一単純閉鎖曲線及び前記第二単純閉鎖曲線のうちの長い方を判定するための回路と、
を含む、請求項1に記載のコンピュータ制御デイスプレイシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US700721 | 1985-02-11 | ||
US70072196A | 1996-08-15 | 1996-08-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1091803A JPH1091803A (ja) | 1998-04-10 |
JP4094706B2 true JP4094706B2 (ja) | 2008-06-04 |
Family
ID=24814609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21277297A Expired - Fee Related JP4094706B2 (ja) | 1996-08-15 | 1997-08-07 | コンピュータ制御デイスプレイシステム |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0825558A3 (ja) |
JP (1) | JP4094706B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69937476T2 (de) | 1998-07-31 | 2008-08-28 | Canon K.K. | Bildverarbeitungsvorrichtung und -Verfahren und Speichermedium |
JP3930894B1 (ja) * | 2006-02-15 | 2007-06-13 | 株式会社コナミデジタルエンタテインメント | 軌跡情報処理装置、軌跡情報処理方法、ならびに、プログラム |
WO2018109084A1 (en) * | 2016-12-15 | 2018-06-21 | Myscript | System and method for management of handwritten diagram connectors |
US20180173688A1 (en) * | 2016-12-15 | 2018-06-21 | Myscript | System and method for management of handwritten diagram connectors |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4809201A (en) * | 1985-12-02 | 1989-02-28 | Schlumberger Systems, Inc. | Graphic display region defining technique |
US4953106A (en) * | 1989-05-23 | 1990-08-28 | At&T Bell Laboratories | Technique for drawing directed graphs |
JP2790562B2 (ja) * | 1992-01-06 | 1998-08-27 | 富士写真フイルム株式会社 | 画像処理方法 |
US5434959A (en) * | 1992-02-11 | 1995-07-18 | Macromedia, Inc. | System and method of generating variable width lines within a graphics system |
JP3405776B2 (ja) * | 1993-09-22 | 2003-05-12 | コニカ株式会社 | 切り抜き画像の輪郭線探索装置 |
US5740266A (en) * | 1994-04-15 | 1998-04-14 | Base Ten Systems, Inc. | Image processing system and method |
US5588108A (en) * | 1994-09-27 | 1996-12-24 | Micrografx, Inc. | System and method for generating graphics charts |
-
1997
- 1997-08-07 JP JP21277297A patent/JP4094706B2/ja not_active Expired - Fee Related
- 1997-08-13 EP EP97306166A patent/EP0825558A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JPH1091803A (ja) | 1998-04-10 |
EP0825558A2 (en) | 1998-02-25 |
EP0825558A3 (en) | 1999-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4028031B2 (ja) | 任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法 | |
JP4602487B2 (ja) | グラフィックオブジェクトのグループを作成し操作するための方法及びコンピュータ制御グラフィックディスプレイシステム | |
JP3973263B2 (ja) | グラフィックオブジェクトのグループの表現方法及びコンピュータ制御グラフィックディスプレイシステム | |
US7446783B2 (en) | System and method for manipulating an image on a screen | |
JP4111897B2 (ja) | ウインドウの制御方法 | |
US6781597B1 (en) | Edit modes for three dimensional modeling systems | |
US20120256960A1 (en) | Defining motion in a computer system with a graphical user interface | |
JP2589999B2 (ja) | 図形入出力装置 | |
JP3705826B2 (ja) | 仮想3次元ウインドウ表示制御方法 | |
JP2012022632A (ja) | 情報処理装置およびその制御方法 | |
JP3186241B2 (ja) | 図形編集装置 | |
JPH06131436A (ja) | 描画処理装置及び方法 | |
JP4094706B2 (ja) | コンピュータ制御デイスプレイシステム | |
CN111984151B (zh) | 一种提高处理效率的白板画布大小、位置漫游控制方法 | |
JP2943734B2 (ja) | 拡大表示枠付きマウスカーソル | |
JP3357760B2 (ja) | 文字図形入力編集装置 | |
KR970011905B1 (ko) | 선도(線圖)작성장치 | |
JP2935336B2 (ja) | 図形入出力装置 | |
KR102392675B1 (ko) | 3차원 스케치를 위한 인터페이싱 방법 및 장치 | |
JPH08106542A (ja) | 図形の拡大表示方法 | |
JPH07105395A (ja) | 情報処理装置 | |
JP6332532B1 (ja) | 情報表示装置 | |
JP2000067258A (ja) | 図面作図装置 | |
JP2786098B2 (ja) | 図形拡大編集方法 | |
JP3142191B2 (ja) | 図形処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070601 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080115 |
|
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: 20080205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080306 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
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: 20110314 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120314 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130314 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140314 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |