JPH1091803A - 任意形状の閉鎖曲線のアウトライン生成方法及びセレクション指示方法 - Google Patents
任意形状の閉鎖曲線のアウトライン生成方法及びセレクション指示方法Info
- Publication number
- JPH1091803A JPH1091803A JP9212772A JP21277297A JPH1091803A JP H1091803 A JPH1091803 A JP H1091803A JP 9212772 A JP9212772 A JP 9212772A JP 21277297 A JP21277297 A JP 21277297A JP H1091803 A JPH1091803 A JP H1091803A
- Authority
- JP
- Japan
- Prior art keywords
- curve
- node
- link
- 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.)
- Granted
Links
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)
Abstract
得るための方法を提供する。 【解決手段】 前記グラフィックオブジェクトの片側
から所定距離のところに第一の単純な曲線を生成し、前
記グラフィックオブジェクトの反対側から既定距離のと
ころに第二の単純な曲線を生成するステップを行い、前
記第一単純曲線又は前記第二単純曲線のどちらが長いか
を決定して前記第一及び第二の単純曲線の前記長い方を
前記アウトラインとして提供することによってアウトラ
インが生成される。
Description
のコンピュータシステムにおけるオペレーティング分野
に関し、特にグラフィックオブジェクトのアウトライン
を生成することに関する。
トボード”(例えばゼロックス社の部門LiveWorks から
入手可能なLiveBoard (商標名))等のコンピュータベ
ースのシステムは、ペン、スタイラス、又はカーソル制
御装置などの入力装置の使用に基づいてグラフィカルユ
ーザインターフェースを提供する。このようなシステム
において、”ディスプレイ”はデータを表す手段として
及び入力媒体としての両方の機能を果たす。グラフィッ
クオブジェクトは入力装置を用いて生成されたペンスト
ロークを介してディスプレイ上に描かれる。グラフィッ
クオブジェクトは単語、図、又はディスプレイされ得る
あらゆるものを表すことができる。従って、ジェスチュ
アとして公知である入力技術を用いてグラフィックオブ
ジェクト上に様々な操作を行うことができる。ジェスチ
ュアそれ自体は単なるペンストローク(pen stroke)で
あり、これがインストラクションとして解釈される。し
ばしば、このようなシステムはペンストロークが持続
(persistent)グラフィックオブジェクトを生成すると
き又はペンストロークがジェスチュアとして扱われると
きを区別するために、描画モード及びジェスチュアモー
ドを有する。
におけるオペレーティングの非常に重要な面は、なんら
かの動作が行われているときにユーザにフィードバック
を与える必要があることである。例えば、1つ以上のグ
ラフィックオブジェクトが選択されたとき、ユーザはど
のグラフィックオブジェクトが選択されたのかについて
のあるフィードバックを受け取る。典型的なグラフィッ
ク描画プログラムにおいて、セレクションループ(任意
形状の閉鎖曲線)ジェスチュアはセレクション表示ルー
プになる。しばしば、選択されたオブジェクトの外観は
強調表示又はドロップシャドー(drop-shadowing)によ
って強調されることもあるが、選択されたものを示す際
視覚的に見るにはセレクションループがはるかに簡単で
ある。ループを使用してセレクションを行う欠点は、ル
ープをドロー(draw)するのに時間がかかることであ
る。
ント&クリック又はタップセレクションができる。この
タイプのセレクションでは、選択されたオブジェクトの
境界ボックスが使用される。これは、境界ボックスが選
択されていない他のオブジェクトを含む可能性があるの
で自由形状のオブジェクトには不向きである。
ンでは、セレクションを正確に示す方法は、グラフィッ
クオブジェクトの視覚的アウトラインを提供することで
ある。従って、任意形状の閉鎖曲線のアウトラインを生
成する必要がある。これらの閉鎖曲線は、例えば任意の
オブジェクトの外側の境界線、ノードリンクダイヤグラ
ムにおけるノードの境界、又は閉鎖曲線であるグラフィ
ックオブジェクトの包囲線であってもよい。
ラフィックオブジェクトのアウトラインを生成すること
はたやすいことではない。1つの問題は、閉鎖曲線では
どちら側が曲線の内側でどちら側が曲線の外側であるか
を決定しなければならないことである。他の問題は、閉
鎖曲線の形状のグラフィックオブジェクトが自己交差
(例えば数字の8)する場合があるので、描画ラインに
単に沿って引いてもアウトラインにならない場合があ
る。
ク入力をサポートできるコンピュータ制御ディスプレイ
システムにおいて、グラフィックオブジェクトのアウト
ラインを得るための方法が開示される。この好適な実施
の形態において、アウトラインを生成する能力は、ノー
ドリンクダイヤグラムのトポロジを維持するためのシス
テムに使用される。部分的なアウトラインは”リンクの
ルート変更”を可能にするために使用される。リンクの
ルート変更は、ノードリンクダイヤグラムにおいてノー
ドを移動したときに起こり得るリンクの交差の問題を修
正する。更に、この好適な実施の形態ではアウトライン
はグラフィックオブジェクトのセレクションを示すため
に使用される。
ェクトの片側から所定距離のところに第一の単純な曲線
を生成し、前記グラフィックオブジェクトの反対側から
所定距離のところに第二の単純な曲線を生成するステッ
プを行い、前記第一単純曲線又は前記第二単純曲線のど
ちらが長いかを決定して前記第一及び第二の単純曲線の
前記長い方を前記アウトラインとして提供することによ
って生成される。
とき、移動ノード及び固定ノードのアウトラインが生成
される。アウトラインは固定ノードのリンクのアタッチ
ポイントから出発し、交差リンクに達するまで続く。固
定ノードのアウトラインの残り及びアタッチポイントか
らの交差リンクの部分は切捨てられる。交差リンクは移
動ノードに交差するまで続く。交差リンクの残りは切り
捨てられ、移動ノードのアウトラインは移動ノードのア
タッチポイントまで続く。次に移動ノードのアウトライ
ンの残りは切り捨てられる。
態は、コンピュータ制御ディスプレイシステムにおいて
任意形状の閉鎖曲線のアウトラインを生成するための方
法であって、前記方法が、a)前記任意形状曲線の第一
サイドの所定距離のところに前記任意形状曲線の形状特
性を有する第一単純曲線を生成するステップを含み、
b)前記任意形状曲線の第二サイドの所定距離のところ
に前記任意形状曲線の形状特性を有する第二単純曲線を
生成するステップを含み、c)前記第一単純曲線及び前
記第二単純曲線のどちらが長いかを決定するステップを
含み、及び、d)前記第一単純曲線及び前記第二単純曲
線のうち長い方をアウトラインとして前記任意形状曲線
の周りにディスプレイするステップを含む。
タ制御ディスプレイシステムにおいて任意形状の閉鎖曲
線のセレクションを示すための方法であって、前記方法
が、a)前記任意形状の閉鎖曲線に関連する既定セレク
ションジェスチュアが実行されたことを検出するステッ
プを含み、b)視覚的に識別できるように前記任意形状
の閉鎖曲線のアウトラインをディスプレイするステップ
を含み、このステップは、b1)前記任意形状曲線の第
一サイドの所定距離のところに前記任意形状曲線の形状
特性を有する第一単純曲線を生成するサブステップを含
み、b2)前記任意形状曲線の第二サイドの所定距離の
ところに前記任意形状曲線の形状特性を有する第二単純
曲線を生成するサブステップを含み、b3)前記第一単
純曲線及び前記第二単純曲線のどちらが長いかを決定す
るサブステップを含み、及び、b4)前記第一単純曲線
及び前記第二単純曲線のうち長い方をアウトラインとし
て前記任意形状曲線の周りにディスプレイするサブステ
ップを含む。
ラムの操作が可能な自由形状グラフィックスベースのコ
ンピュータシステムにおいて作業するときの問題に関す
る。ノードリンクダイヤグラムはフローチャート、組織
チャート、状態図、プロジェクトマネージメントチャー
ト等を含む。ノードリンクダイヤグラムにおいて、しば
しばノードをぐるりと移動させながらリンクを保持する
ことが望ましい。また、ノード及びリンクが任意の形を
とるようにノードリンクダイヤグラムが自由形状で生成
されることができる場合、リンクがそれらの元の形状特
性を保持することが望ましいことが分かった。従って、
本発明はリンクの変更に関わる必要なくユーザがノード
の移動を介してノードリンクダイヤグラムを修正するこ
とを可能にする。
の意味は以下の通りである。グラフィックオブジェクト :2D空間においてディスプ
レイされたあらゆるオブジェクト曲線 :ユーザによって手動で(例えばペンストローク
で)生成された、又はジェスチュア等の他の手段によっ
て作成された(例えばセレクションジェスチュアより生
じたセレクション矩形)1次元のグラフィックオブジェ
クトペンストローク :インクストローク又はジェスチュアと
なるペンを用いた動作インクストローク :持続性のある曲線ジェスチュア :ペンストロークで作成された一時的で動
作として解釈される曲線 セレクション :選択されたものとして識別されるグラフ
ィックオブジェクトのセットノード :ある境界領域内のグラフィックオブジェクト又
はグラフィックオブジェクトのグループ。このような境
界領域は一般に可視境界を有する。リンク :1つ又は2つのノードに接触する(即ちこれら
を結ぶ)インクストローク。ノードがノード自体にリン
クすることもある。
ースのシステムは、図1を参照して表される。図1を参
照すると、コンピュータベースのシステムはバス101
を介して結合した複数の構成要素からなる。ここに図示
されているバス101は本発明が曖昧にならないように
簡略化されている。バス101は複数の平行バス(例え
ばアドレス、データ及び状態バス)及びバスの階層(例
えばプロセッサバス、ローカルバス及び入出力バス)か
らなる。コンピュータシステムは更に、バス101を介
して内部メモリ103から供給されるインストラクショ
ンを実行するためのプロセッサ102を含む(内部メモ
リ103は典型的にはランダムアクセスメモリ又は読み
出し専用メモリの組み合わせであることに注意された
い)。操作において、本発明の様々な機能要素を実行す
るためのプログラムインストラクションは、内部メモリ
103内に格納される。プロセッサ102及び内部メモ
リ103は、別々の構成要素であっても単一の一体型装
置であってもよい。プロセッサ102及び内部メモリ1
03は本明細書中に記載される様々な処理機能を実行す
るための回路を含む。また、バス101には外部格納装
置107も結合している。外部格納装置107は一般的
には磁気若しくは光学ディスク格納装置等の高容量格納
媒体である。
及びポインティング装置105も接続されている。この
好適な実施の形態において、ポインティング装置105
はペンタッチ感知パネルであり、これはディスプレイ1
04にタッチスクリーン画面として統合されている。こ
のようなタッチスクリーン画面は当技術においてはよく
知られており、ペンペースのシステム等のこのようなシ
ステムにおいてや、電子ホワイトボードシステムで使用
される。しかし、ポインティング装置105がスタイラ
ス、マウス、トラックボール又は他のカーソル制御装置
であってもよいように、ポインティング装置105とデ
ィスプレイ104は統合される必要はない。
ィックユーザインターフェースの特定の実施を表してい
る。図2を参照すると、グラフィックユーザインターフ
ェースはディスプレイ104上にディスプレイされ、タ
ッチパネル105を介して情報交換される。グラフィッ
クユーザインターフェースは作業表面を使用し、及び図
に示されたような複数のアクセス可能機能201を用い
てもよい。作業表面202はユーザが様々な曲線を描い
たり他のグラフィックオブジェクトがディスプレイされ
たりする場所である。アクセス可能機能201はディス
プレイの底部領域203に位置する。この機能201は
グラフィクオブジェクトを編集(作成、削除、移動、収
縮等)したり、タッチパネル103の操作モードを変え
たり(描画及びジェスチュアモードからの切り換え等)
するための操作を含んでもよい。
ndows )仕様のアプリケーションに一般的にみられるプ
ルダウンメニューによってアクセスされてもよい。しか
しこれらの機能は指定においてオプショナルであり、こ
れらの主な目的は該システムの操作に本質的な操作を決
定することである。これらの機能はジェスチュアによっ
て起こる機能と同じ機能を果たす。
ィックユーザインターフェース(GUI)を有するペン
ベースのシステムで実施される。このようなGUIは一
般的にグラフィックオブジェクトを選択/選択解除する
ための”タップ”やタップされたグラフィックオブジェ
クトに関連し得る操作を呼び出す”ダブルタップ”等の
操作をサポートする。オブジェクトが選択されるとその
オブジェクトはドラッグされて作業領域内の所望の位置
にドロップされる。以下に詳細に述べるように、このよ
うなタップジェスチュアは選択されたグラフィックオブ
ジェクトのアウトライン上(例えばノードリンクダイヤ
グラムのノード)に行われ、視覚的に識別出来るように
アウトラインが引かれてディスプレイされる。このアウ
トライン化によってユーザにグラフィックオブジェクト
が選択されたフィードバックが提供される。
ーハンド”で描かれたグラフィックオブジェクトを可能
にする。従ってノード及びリンクは任意の形状を持ちう
る。これはホワイトボードの使用のされる方法に一致す
る。
ホワイトボードエミュレーションプログラムの制御のも
とに操作する、LiveBoard 等のペンベースのシステムで
使用されるC++プログラミング言語のソフトウェアプ
ログラムとして実施されてきた。このようなソフトウェ
アプログラムは磁気ディスケットやCD−ROM等の適
切な格納媒体に格納されてもよい。
方法がある。これらのダイヤグラムは処理フローを記述
したり、グループ化したアイテム間の関係を表したりす
るために使用されてもよい。ノード/リンク間の構成及
び関係は、ノードリンクダイヤグラムの”トポロジ”と
呼ばれる。ノードの空間的位置を操作するときにトポロ
ジが保持されることが望ましい。
は任意の形状であり、関連するグラフィックオブジェク
トのグループを表す。これらのグラフィックオブジェク
トは一般には文字、単語、又は記号を表す他の情報を表
す。ノードはグラフィックオブジェクトをインクストロ
ーク又は他のグループ化手段で囲むことによって表され
る。ノードは可視境界を有し、この境界はノードの空間
的限界を示す。ノードは他のノードへの複数のリンクを
有してもよい。ノードのセレクションによってもそのリ
ンクのセレクションが行われる。
りを提供するために使用されるインクストロークであ
る。リンクもまた任意の形状を有してもよい。ノード間
のリンクを提供することは、特にノードを再配置すると
きに有効である。ノードが移動するときでもノード間の
視覚的関連性を維持することができることによって、グ
ラフィックベースシステムの使用の煩わしさが減少され
る。
触”する曲線を単に描くことによって作成される。ノー
ドに接触するということは、そのリンクのエンドポイン
トはノードの境界から既定の距離内にあることを意味す
る。リンクがノードに”接触”するポイントは”アタッ
チポイント”と呼ばれる。リンクは少なくとも1つのノ
ード(即ち一端の)及び最高2つのノードに関連してい
る。
びリンクを操作することができるが、リンクから生じる
基本的な問題が図3に表されたノードリンクダイヤグラ
ムから生じる。図3を参照すると、単一のリンクL1
301が各端にノード(静止ノードN302及びノード
N1 303)を有し、ユーザがノードN1 303を
N2 304の位置まで手動で移動するところが表され
ている。この移動によってリンクL1 301は形を変
えてL2 305で表されたようなリンクになる。ノー
ドへのリンクのアタッチポイントはA306,A1 3
07及びA2308で表されている。
おいて実行されるリンクの再整形を概説するフローチャ
ートを表す。図4を参照すると、先ずユーザはノードリ
ンクダイヤグラムの中のノードを移動する(ステップ4
01)。これは単にドラッグ及びドロップ操作によっ
て、又は見えないグラフィックユーザインターフェース
によってサポートされたあらゆる操作によって実行する
ことができる。ノードの再整形における第一ステップ
は、ステップ402の目的地象限を識別することであ
る。目的地象限が同じかどうかが決定される(ステップ
403)。目的地象限の決定は、元のリンクのフリッピ
ングが必要かどうかを示す。目的地象限が同じであれ
ば、元のリンクに対してリンクは曲線変換する(ステッ
プ404)。目的地象限が同じでない場合、元のリンク
はそれぞれの軸を横切って目的地象限へフリップする。
次にフリップしたリンクに対してリンクの曲線変換が実
行される(ステップ406)。
クがいずれかのノードに交差するかどうかが決定される
(ステップ407)。ノードに交差するリンクが無けれ
ば、リンクの再整形は完了する(ステップ413)。リ
ンクがノードに交差する場合、ノードのアタッチポイン
トが移動してよいかどうかが決定される(ステップ40
8)。移動できなければ、リンクのルート変更が行われ
る(ステップ410)。そうでない場合は、ノードへの
アタッチポイントのフリップが行われる(ステップ40
9)。次に、交差が未だ存在するかどうかがチェックさ
れる(ステップ411)。アタッチポイントがフリップ
した後にノードが交差されていなければ、リンクの再整
形は完了する(ステップ413)。ノードにリンクが交
差したままである場合、リンクはノードに交差するポイ
ントで切り捨てられる(ステップ412)。切捨てが完
了すると、リンクの再整形は完了する(ステップ41
3)。
ポイントはユーザが選択し及び移動してもよいことに注
意されたい。これはユーザがノード間の関係を変更した
いと欲することもあるため、必要である。更に、ユーザ
が自動リンク変更の結果に不満であるときに変更を行い
たいと欲することもある。
タンスである。曲線変換は、概念的にはリンクがその形
状特性を維持するようなリンクの拡張又は収縮と考えら
れることができる。曲線変換では、リンクは図5に表さ
れたように孤立して考えられる。リンクL1 301は
A306からA1 307までつながっている。A30
6からA2 308までのリンクL2 305はL1
301の形状特性と同じ特性を有することが望ましい。
この表示において、固定ノードのアタッチポイントA3
06は2次元座標系の原点に位置することに注意された
い。従って、アタッチポイントA1 307は座標(x
1 501, y1 502)であり、アタッチポイン
トA2 308は座標(x2 503, y2 50
4)である。目的は、L1 301の形状特性が維持さ
れるように曲線の残りを変換することである。
換(例えばスケーリング)である。しかし、これはある
状況において望ましくない結果を生じることが分かって
いる。このような例は図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が変換されている。こ
れは分母が小さな分数である結果である。従って、本発
明はリンクを再整形するために異なるアプローチを用い
る。
するためには、曲線がどのように表されるかを理解する
ことが必要である。曲線を表す最も簡単な方法は、その
曲線のサンプル点のセットによって表すことである。こ
れらのポイントは入力の順番によって自然に順番が決ま
る。幾つかのシステムは、ビットマップ、即ちサンプル
点全体に曲線(スプライン)を当てはめることによって
生成されたビットマップによって直接曲線を表す。この
好適な実施の形態において、曲線はその開始ポイント及
びそのセグメントのセットによって表され、ここでセグ
メントは2つの連続的なサンプル点によって決定された
ベクトル(dx,dy)である。これは図8に表されて
いる。図8を参照すると、曲線801は作業表面上に現
れる。曲線801はポイント810〜820で起こるサ
ンプリングによって検出される。サンプル点間の距離は
セグメントと呼ばれる。例えば、セグメント831はサ
ンプル点810と811との間で画定され、ここでサン
プル点811は終点のサンプル点である。便宜上、固定
アタッチポイントが曲線の開始ポイントとなり、移動ア
タッチポイントが曲線の終了ポイントとなるように、曲
線は傾斜によって標準化されている。
クは、前後のアタッチポイント間の差を取り、及びこの
差を曲線のセグメントに分配する。換言すると、リンク
を形成するポイントは、元のリンクの形状が維持される
ように新しい位置に変換される。このテクニックは図9
のフローチャート及び図3に表された座標点に則して説
明される。図9を参照すると、第一ステップはトータル
のX及びYの変更を演算するステップである(ステップ
901)。(x1,y1)及び(x2,y2)をリンク
のアタッチポイントの移動の前後の位置とする。する
と、
セグメントのそれぞれに実行される。i番目のセグメン
ト(dx[ i ],dy[ i ])では、この変換はステッ
プ902〜904に表されたように演算され、新しいi
番目のセグメント(Tdx[ i],Tdy[ i ])にな
る。これは以下の演算によって行われる。
ength )が演算される(ステップ902)。
す。
[i] がi番目のセグメントのx及びyの長さに基づい
て演算される(ステップ903)。
き変更の寄与は、cx [i] ×xDisp及びcy
[i] ×yDispで表される。従って新しいi番目の
セグメントは以下の式で演算される(ステップ904)
ントA1及びA2はアタッチポイントAを原点とした座
標系の同じ象限内にある。この好適な実施の形態におい
て、再整形されるうえに、A2がA1と異なる象限内に
ある場合、リンクの形状はx軸若しくはy軸又は両軸の
周りをフリップ(ミラー反転(mirror-reveresed))す
る。このフリッピングはユーザが本来望むものであるの
で、望ましい視覚特性である。図10はフリッピングの
3つのケースを表す。A1が象限1001から象限10
02に移動した場合、結果はA4 1007になる。フ
リッピングはy軸1006の周りで起こる。A1が象限
1001から象限1003に移動した場合、結果はA5
1008である。フリッピングはy軸1006及びx
軸1005の周りで起こる。最後に、A1が象限100
4に移動した場合、結果はA31009である。フリッ
ピングはx軸1005の周りで起こる。
起こるのは目的地象限へのリンクのフリッピングであ
る。リンク形状のフリッピングは、所望の象限への単純
な幾何学変換によって行われる。これに続いて、フリッ
プされたリンクに対して上記のようなリンクの再整形が
行われる。
れた簡単なケースにおいて行われる必要のあるのはこれ
だけである。しかし11及び図12は、再整形及びフリ
ッピングが望ましくない結果を生じたケースを表してい
る。図11を参照すると、アタッチポイントA1 11
02を有するノードN1 1101はアタッチポイント
A2 1104を有するN2 1103で示された位置
に移動する。固定ノードN 1105はアタッチポイン
トA1106を有する。リンクL1 1107はノード
N1105をノードN1 1101にリンクする。リン
クの再整形及びフリッピングの後のこの結果は図12に
表されている。リンクL1 1107はリンクL2 1
201に再整形され、L2 1201はノードN110
5及びノードN2 1103の両方に交差する。これは
明らかにユーザが欲するものではない。従って、満足で
きる結果を得るようにアタッチポイントを調節するテク
ニックが必要である。
リンクのアタッチポイントを単にフリップすることであ
る。フリッピングには2つのケースがある。即ちノード
を横切る場合とエッジに沿った場合である。ノードを横
切るアタッチポイントをフリッピングする際、ノードの
反対側へのフリッピングが起こる。図11及び図12の
例にこのテクニックを適用した結果は図13に図示され
ており、図12のアタッチポイントA及びA2はA’A
1301及びA2’1302に移動している。トポグラ
フィ(topography)及び視覚的な結果を維持する点に関
して言えば、これは非常に満足のいく結果を提供する。
しかし幾つかの例において、ノードの形状はリンクが接
触している場所によってノード間の関係が異なって解釈
されるような意味を有することが分かっている。例え
ば、片側のアタッチメントは入力を示し、その反対側の
アタッチメントは出力を示す。従って、内部ノード表示
は幾つかの標識(例えばフラッグやノードタイプ)を含
み、この標識はアタッチポイントのフリッピングが許さ
れるかどうかを示すために使用される。
ドの形状がフリップ軸の周りでほぼ対称である場合には
直線的である。従って非対称の場合について考察する。
垂直軸の周りを左右にフリップする場合のみを考察する
(それ以外の場合は類似している)。非対称ケースは図
14に表されている。図14を参照すると、非対称形ノ
ード1405が図示されている。ポイントA1 140
1を右から左へ水平方向にフリップするためにA1’1
403でノードと交差するまでA1 1401からノー
ド1405の反対側へとひっぱり、ここが新しいアタッ
チポイントとなる。非対称ケースにおいて、フリップさ
れたポイントは完全に異なり得ることに注意されたい。
例えば、A1 1401及びA2 1402は両方とも
ノードのかなり右側にあり、フリップしたポイントA
2’1404はノード1405のかなり左側にあるが、
フリップしたポイントA1’1403はノード1405
の真ん中にある。
所以上でノードの囲いに交差する場合である。従ってフ
リップする対応ポイントを拾うことが重要である。この
ケースは図15に表されている。図15を参照すると、
ポイントA1 1501及びA1’1502はフリップ
ポイントとして対応し、ポイントA2 1503及びA
2’1504はフリップポイントとして対応する。対応
するフリップポイントを識別するために、左から右まで
交差ポイントに番号を付ける。現在のアタッチポイント
の番号をIとする(即ちアタッチポイントは左からI番
目である)。ここから右から左へとポイントに番号をふ
る。対応するポイントは右からI番目のポイントであ
る。
のフリップは、アタッチメントを有するノードのエッジ
に平行してノードが移動したときに起こる。更に、ノー
ドの開始/終了位置はオーバーラップがないようでなけ
ればならない。ノードのエッジを横切ってアタッチポイ
ントをフリップする様は図16及び図17に図示されて
いる。エッジを横切るアタッチポイントのフリップが一
方のノード上で起こる際に、ノードを横切るフリップが
もう一方のノードを横切る場合がある。図16を参照す
ると、ノード1601及び1602はリンク1603及
び1604を介してリンクされている。リンク1603
はアタッチポイント1605でノード1601に、及び
アタッチポイント1606でノード1602につながっ
ている。リンク1604はアタッチポイント1607で
ノード1601に、及びアタッチポイント1608でノ
ード1602につながっている。ここで図17を参照す
ると、ノード1601は新しい位置に移動し、アタッチ
ポイント1606及び1607がノード1602及び1
601を横切ってそれぞれアタッチポイント1606’
及び1607’にフリップして移動している。一方、ア
タッチポイント1605及び1608はこれらの各ノー
ド1601及び1602のエッジを横切ってアタッチポ
イント1605’及び1608’にフリップしている。
リンク1603及び1604はリンク1603’及び1
604’に再整形され、且つその基本的形状特性を保持
している。
プは、エッジの中心点を見つけ、この中心点とアタッチ
ポイントとの間の距離Xを見つけ、及びこのアタッチポ
イントを中心点の反対側の距離Xの位置にフリップする
ことによって行われる。
リンクがノードを交差することがある。これは図18、
図19に表されている。図18を参照すると、ノード1
801はリンク1803を介してノード1802につな
がっている。リンク1803はアタッチポイント180
4でノード1801に、及びアタッチポイント1805
でノード1802につながっている。図19はノード1
802が移動した結果を表している。図19を参照する
と、リンク1803は再整形されており、リンク180
3’で図示されている。リンク1803’はポイント1
901でノード1802に交差することに注意された
い。ポイント1805’はアタッチポイント1805が
フリップする場所を示す。しかし、ノードのフリッピン
グによっても交差リンクが修正されないことが明らかで
ある(アタッチポイントのフリッピングの効果を示す破
線1902によって表されている)。従って、更なる”
交差の解除”テクニックが必要となる。
クがノードと交差する場所を見つけてそのアタッチポイ
ントを作ればよい。リンクが打ち切られたとき、この打
ち切られた部分は切捨てられるので、リンクの全体的な
形は変わる。この好適な実施の形態において、リンク1
803’は交差ポイント1901で打ち切られ、交差ポ
イント1901からアタッチポイント1805までのリ
ンクのセグメントを削除する。この結果は図20に表さ
れており、ここで再整形されたリンクはリンク2001
で表されている。
ある場合、固定ノードのアタッチポイントに一番近い交
差ポイントが選択されることに注意されたい。更に、リ
ンクを打ち切る代わりに、そのリンクがノードに交差す
るポイントでリンクを曲線変換してもよいことに注意さ
れたい。
が移動(フリップ)されずにノードの交差が起こるとき
に行われる。リンクのルート変更の例は、図21に表さ
れている。図21は図12のノードの交差リンクを修正
するために使用されることができるリンクのルート変更
を表す。図21を参照すると、ルート変更されたリンク
2101は、ノードと交差するのを避けるためにルート
変更されている。点線2102は、リンクが再整形後に
元にあったところを示す。ルート変更されたリンク21
01はアタッチポイント1106からポイント2103
までノード1105の形状に沿い、このポイント210
3でこのリンク2101は交差リンク2102にぶつか
る。次にルート変更はリンク2102の形状に沿ってノ
ード1104に交差するところ(すなわちポイント21
04)まで続く。ここからこのルートはノード1103
の形状に沿ってアタッチポイント1104まで続く。
単なテクニックのステップを表すフローチャートであ
る。交差リンクが生成されたと仮定する。先ず、ノード
のそれぞれのアウトラインが生成される(ステップ22
01)。ノードのアウトラインが生成される方法は、図
27〜図30に則して以下に記載される。いずれにせ
よ、これは図23に表されており、ノード1103及び
1105それぞれのアウトライン2301及び2302
が図示されている。また、図23には交差リンク230
3も表されている。
始まって、アウトラインに沿った且つ交差リンクに一番
近いルートが選ばれる(ステップ2202)。これは図
24に表されている。アウトライン2302及び交差リ
ンク2303の使用された部分は切捨てられていること
に注意されたい。
ラインが交差するポイントに達するまで交差リンクをた
どり、交差リンクの残りは切り捨てられる(ステップ2
203)。これは図25に図示されており、ノード11
03に交差するリンク2303の部分は切捨てられる。
のアタッチポイントが一番近い距離に達するような方向
に、この移動したノードの形をたどる(ステップ220
4)。これは図26に表されており、アウトライン23
01の使用されていない部分は切捨てられる。
見つけることは容易なことではない。境界を表す任意の
形状の閉鎖曲線の場合、ポイントが曲線の内側にあるか
外側にあるかを決定するのは難しい。アウトラインを見
つけだすためのテクニックは、図27のフローチャート
によって記載される。図27を参照すると、第一アウト
ラインは境界の片側上の開始ポイントから始まり、第二
アウトラインは境界の反対側上の開始地点から始まる
(ステップ2701)。曲線がどこから始まるのかが簡
単には分からないので”内側”のアウトラインなのか”
外側”のアウトラインなのかがハッキリしないため、境
界の両側にアウトラインを引くことが必要である。いず
れにせよ、アウトラインのそれぞれは境界から同じ既定
距離のところに引かれる。これは図28に図示されてお
り、外側のアウトライン2801及び内側のアウトライ
ン2802が表されている。実際にはノード境界の内側
及び外側上にアウトラインが引かれることに注意された
い。
変換される(ステップ2702)。これは、結果的な曲
線の端部で小片をトリミングすることによって各アウト
ライン毎に行われる。このような小さな曲線は図28
に、アウトライン2801の曲線2803及びアウトラ
イン2802の曲線2804によって描かれている。こ
れらの曲線はアウトライン処理から生じる。これらの小
さな曲線の切捨ては図29にアウトライン2801’及
び2802’で表されている。
ためのアウトラインとして選択される(ステップ270
3)。2つのアウトラインの様々なセグメントの距離を
単に合計してこの合計を比較することによって、アウト
ラインの長い方が決定される。アウトラインの長い方が
ノードの”外側”のアウトラインであることは明らかで
ある。これは図30に表されている。
クのルート変更以外にも使用されることに注意された
い。この好適な実施の形態において、同じアウトライン
化プロセスはノードの選択を示すために使用される。こ
れはアウトライン曲線を強調したり色付けしたりして、
アウトラインに囲まれたノードを選択するという視覚的
なフィードバックをユーザに提供する。
れるコンピュータベースシステムのブロック図である。
タッチ感知パネルを通してインターフェースされるよう
な基本的なグラフィカルユーザインターフェースを表し
た図である。
れるような移動されたノード及び対応する再整形された
リンクを表す図である。
れるようなリンクの再整形をまとめたフローチャートを
表す図である。
れるようなリンク再整形の空間座標を表す図である。
リングの望ましくない結果を表した図である。
リングの望ましくない結果を表した図である。
表示に見られるような曲線のサンプル点及びセグメント
を表す図である。
れるような曲線変換のためのステップを表した流図であ
る。
されるような、元の象限の外にノードが移動するときに
行われるような様々な軸を横切ってフリップするときの
図3のリンクを表した図である。
なノードの移動を表した図である。
なノードの移動を表した図である。
されるような、図11のノードを移動した後のノード上
のアタッチポイントのフリッピングを表す図である。
されるような、非対称形ノード上の様々なポイントでの
フリップされたアタッチポイントの選択を表す図であ
る。
されるような、ノードが複数のポイントで交差するとき
のフリップされたアタッチポイントの選択を表した図で
ある。
されるような、ノードのエッジを横切ってアタッチポイ
ントを移動することによってアタッチポイントをフリッ
プするところを表した図である。
されるような、ノードのエッジを横切ってアタッチポイ
ントを移動することによってアタッチポイントをフリッ
プするところを表した図である。
トのフリッピングによってノードの交差が修正されない
ノードの移動を表す図である。
トのフリッピングによってノードの交差が修正されない
ノードの移動を表す図である。
されるようなリンクの切捨てを表した図である。
されるような、交差ノードを修正するためのリンクのル
ート変更を表す図である。
されるような、リンクのルート変更のためのステップを
表す流図である。
ップを表す図である。
ップを表す図である。
ップを表す図である。
ップを表す図である。
されるような、ノード境界のアウトラインを生成するた
めのステップを表す流図である。
図23の様々なステップのパフォーマンスを表す図であ
る。
図23の様々なステップのパフォーマンスを表す図であ
る。
図23の様々なステップのパフォーマンスを表す図であ
る。
Claims (2)
- 【請求項1】 コンピュータ制御ディスプレイシステム
において任意形状の閉鎖曲線のアウトラインを生成する
ための方法であって、前記方法が、 a)前記任意形状曲線の第一サイドの所定距離のところ
に前記任意形状曲線の形状特性を有する第一単純曲線を
生成するステップを含み、 b)前記任意形状曲線の第二サイドの所定距離のところ
に前記任意形状曲線の形状特性を有する第二単純曲線を
生成するステップを含み、 c)前記第一単純曲線及び前記第二単純曲線のどちらが
長いかを決定するステップを含み、及び、 d)前記第一単純曲線及び前記第二単純曲線のうち長い
方をアウトラインとして前記任意形状曲線の周りにディ
スプレイするステップを含む、任意形状の閉鎖曲線のア
ウトライン生成方法。 - 【請求項2】 コンピュータ制御ディスプレイシステム
において任意形状の閉鎖曲線のセレクションを示すため
の方法であって、前記方法が、 a)前記任意形状の閉鎖曲線に関連する既定セレクショ
ンジェスチュアが実行されたことを検出するステップを
含み、 b)視覚的に識別できるように前記任意形状の閉鎖曲線
のアウトラインをディスプレイするステップを含み、こ
のステップは、 b1)前記任意形状曲線の第一サイドの所定距離のとこ
ろに前記任意形状曲線の形状特性を有する第一単純曲線
を生成するサブステップを含み、 b2)前記任意形状曲線の第二サイドの所定距離のとこ
ろに前記任意形状曲線の形状特性を有する第二単純曲線
を生成するサブステップを含み、 b3)前記第一単純曲線及び前記第二単純曲線のどちら
が長いかを決定するサブステップを含み、及び、 b4)前記第一単純曲線及び前記第二単純曲線のうち長
い方をアウトラインとして前記任意形状曲線の周りにデ
ィスプレイするサブステップを含む、 任意形状の閉鎖曲線のセレクション指示方法。
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 true JPH1091803A (ja) | 1998-04-10 |
JP4094706B2 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007094326A1 (ja) * | 2006-02-15 | 2007-08-23 | Konami Digital Entertainment Co., Ltd. | 軌跡情報処理装置、軌跡情報処理方法、情報記録媒体、ならびに、プログラム |
KR20190113741A (ko) * | 2016-12-15 | 2019-10-08 | 마이스크립트 | 핸드라이팅된 다이어그램 커넥터들의 관리를 위한 시스템 및 방법 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69937476T2 (de) | 1998-07-31 | 2008-08-28 | Canon K.K. | Bildverarbeitungsvorrichtung und -Verfahren und Speichermedium |
WO2018109084A1 (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
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007094326A1 (ja) * | 2006-02-15 | 2007-08-23 | Konami Digital Entertainment Co., Ltd. | 軌跡情報処理装置、軌跡情報処理方法、情報記録媒体、ならびに、プログラム |
US8271228B2 (en) | 2006-02-15 | 2012-09-18 | Konami Digital Entertainment Co. Ltd. | Trace information processing device, trace information processing method, information recording medium, and program |
KR20190113741A (ko) * | 2016-12-15 | 2019-10-08 | 마이스크립트 | 핸드라이팅된 다이어그램 커넥터들의 관리를 위한 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP0825558A2 (en) | 1998-02-25 |
JP4094706B2 (ja) | 2008-06-04 |
EP0825558A3 (en) | 1999-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4028031B2 (ja) | 任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法 | |
JP4111897B2 (ja) | ウインドウの制御方法 | |
JP4602487B2 (ja) | グラフィックオブジェクトのグループを作成し操作するための方法及びコンピュータ制御グラフィックディスプレイシステム | |
US20120256960A1 (en) | Defining motion in a computer system with a graphical user interface | |
US20130055126A1 (en) | Multi-function affine tool for computer-aided design | |
Wu et al. | ViSizer: a visualization resizing framework | |
JPS61290525A (ja) | グラフイツク・オブジエクト選択容易化方法 | |
JPH0325574A (ja) | イメージ・エディタを作動する方法 | |
JP3705826B2 (ja) | 仮想3次元ウインドウ表示制御方法 | |
CN108228026B (zh) | 三维场景中对象的快速操纵 | |
JP2012022632A (ja) | 情報処理装置およびその制御方法 | |
GB2284524A (en) | Graphic editing apparatus and method | |
JPH0696174A (ja) | 束縛点式図形編集装置および処理方法 | |
JPH09231393A (ja) | 命令入力装置 | |
JPH05108786A (ja) | 図形の変形方法及び装置 | |
US11204679B1 (en) | Snapping objects into alignment in three-dimensional space | |
JP2904673B2 (ja) | 画像作成装置 | |
JP4094706B2 (ja) | コンピュータ制御デイスプレイシステム | |
JP3357760B2 (ja) | 文字図形入力編集装置 | |
JP6526851B2 (ja) | 図形処理装置および図形処理プログラム | |
KR102392675B1 (ko) | 3차원 스케치를 위한 인터페이싱 방법 및 장치 | |
JPH08106542A (ja) | 図形の拡大表示方法 | |
JP6286591B2 (ja) | 配筋検証支援装置及びそのプログラム | |
US10613722B1 (en) | Distorting a graph on a computer display to improve the computer's ability to display the graph to, and interact with, a user | |
JP2022133117A (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 |