JP4028031B2 - 任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法 - Google Patents
任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法 Download PDFInfo
- Publication number
- JP4028031B2 JP4028031B2 JP21277197A JP21277197A JP4028031B2 JP 4028031 B2 JP4028031 B2 JP 4028031B2 JP 21277197 A JP21277197 A JP 21277197A JP 21277197 A JP21277197 A JP 21277197A JP 4028031 B2 JP4028031 B2 JP 4028031B2
- Authority
- JP
- Japan
- Prior art keywords
- link
- node
- point
- processor
- 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.)
- Expired - Lifetime
Links
- 238000010586 diagram Methods 0.000 title claims description 48
- 238000000034 method Methods 0.000 title claims description 25
- 230000001131 transforming effect Effects 0.000 title claims description 5
- 230000009466 transformation Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 3
- 238000011426 transformation method Methods 0.000 claims 1
- 230000008859 change Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 6
- 230000002085 persistent effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
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)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明はグラフィックベースのコンピュータシステムにおけるオペレーティング分野に関し、更に詳細にはノードが移動するときのノードリンク構造のトポロジを維持することに関する。
【0002】
【従来の技術】
ペンベースのシステム及び”電子ホワイトボード”(例えばゼロックス社の部門LiveWorks から入手可能なLiveBoard (商標名))等のコンピュータベースのシステムは、ペン、スタイラス、又はカーソル制御装置などの入力装置の使用に基づいてグラフィカルユーザインターフェースを提供する。このようなシステムにおいて、”ディスプレイ”はデータを表す手段として及び入力媒体としての両方の機能を果たす。グラフィックオブジェクトは入力装置を用いて生成されたペンストロークを介してディスプレイ上に描かれる。グラフィックオブジェクトは単語、図、又はディスプレイされ得るあらゆるものを表すことができる。従って、ジェスチュアとして公知である入力技術を用いてグラフィックオブジェクト上に様々な操作を行うことができる。ジェスチュアそれ自体は単なるペンストローク(pen stroke)であり、これがインストラクションとして解釈される。しばしば、このようなシステムはペンストロークが持続(persistent)グラフィックオブジェクトを生成するとき又はペンストロークがジェスチュアとして扱われるときを区別するために、描画モード及びジェスチュアモードを有する。
【0003】
システムの使用の1つは、ノードリンクダイヤグラムの生成及び操作である。例えば、様々なプロジェクトマネージメント、フローチャート作成及び描画プログラムは、ノードが移動するときにノードリンク構造のトポロジ(位相)の維持を可能にする。公知のプログラムは一般的に、公知の事前表示(pre-declared)タイプのノード及びリンクを用いて動作する。しかし、ダイヤグラムが自由形状、即ちノード及びリンクが任意の形を有するときに問題が生じる。
【0004】
自由形状ノードリンク構造のこのような操作はEP0667567A2(題名”Apparatus and Method For Supporting the Implicit Structure Of Freeform Lists, Outlines, Text, and Diagrams In A Gesture-Based Input System and Editing System")に記載されている(当該特許は本発明の出願人に譲渡されている)。EP0667567A2には、ノードが移動するときに形状の特徴を維持する持続性リンクを有するダイヤグラム、即ちノードリンク構造について記載がなされている。リンクは直線的幾何学変換を用いて再整形され、これによってその特徴的形状を保ちながら”拡張(stretching)”によってリンクをそのリンクが連結しているノードの新しい位置にフィットさせることができる。リンクのエンドポイントはノードの移動によって必要となれば移動してもよい。
【0005】
【発明が解決しようとする課題】
自由形状のグラフィック入力をサポートすることができるコンピュータ制御ディスプレイシステムにおいて、ノードが移動するときにノードリンク構造のトポロジを維持するための技術が開示される。リンクはそれがリンクされているノードに関してノードが移動する場所に基づいて再整形される。リンク及びノードはどちも任意の形である。簡単なケースにおいて、リンクが直線であり且つ移動方向がそのラインに沿っている場合、リンクは拡張又は収縮する。しかし、リンク及びノードの移動方向は直線に限定されない。従って、ノードが移動するときにノードリンク構造のトポロジを維持するための様々な方法が必要となる。一般的に、リンクの再整形はノードが移動するときに自動的に起こる。”自動”リンク再整形に関する目的は、リンクの基本的形状の特徴を維持してノードの移動時に望ましくないアーチファクト(例えばリンクがノードに交差する)が起こるのを避けることである。リンクの再整形は曲線変換、リンクのフリッピング、リンクのアタッチポイントのフリッピング及びリンクの打切りを組み合わせて行われる。
【0006】
リンクの曲線変換は簡単なスケーリングよりも大変である。つまり、リンクは複数のセグメントからなり、ノード移動操作からの移動は(各セグメントに基づいた特定の変換ファクタに従って)分割されて、セグメントに追加される。リンクの形状のフリッピングは、形状の特徴を維持しながらノードが固定ノードに関して作業表面上のどこでも移動することができるので、このフリッピングは望ましい。リンクがノードに”接触する”ポイントはアタッチポイントと呼ばれる。リンクが静止ノードに接触するアタッチポイントは、リンクの再整形を行うための局所座標系の原点を決定するために使用される。ノードが移動する場所に基づいて、リンク形状はこの座標系の軸の1つ又は両方の周りでフリップしてもよく、このフリップしたリンク画像は再整形のために使用される。
【0007】
望ましくないアーチファクト(即ちリンクがノードを交差する)を避けるには、ノード上のリンクのアタッチポイントをフリッピングするか、又はリンクをルート変更する。アタッチポイントのフリッピングは、ノードがアタッチポイントのフリッピングを許可する場合にのみ行われる。アタッチポイントのフリッピングによって交差リンクが修正されないとき、リンクがノードと交差するポイントでリンクが切捨てられてもよい。
【0008】
アタッチポイントのフリッピングが許されなければ、リンクのルート変更が起こる。リンクのルート変更において、リンクは固定ノード及び移動ノードのアウトラインに沿ってそのアウトラインが元の交差リンクの固定された部分によって接続される場所に接続される。
【0009】
最後に、交差リンクはユーザがノードのアタッチポイントを選択してノード上の新しい非交差位置に手動で移動させることによって修正されてもよい。
【0010】
【課題を解決するための手段】
本発明の第一の態様は、ノードリンクダイヤグラムにおけるノードの移動に応じて任意形状のリンクを曲線変換するための方法であって、前記ノードリンクダイヤグラムはリンクを介して第二ノードにリンクされた第一ノードを有し、前記リンクは前記第一ノードに第一アタッチポイントで接触し及び前記第二ノードに第二アタッチポイントに接触し、前記方法が、a)リンクセグメント情報を含むリンク形状情報を格納するステップを含み、b)前記第二ノードが移動したことを検出するステップを含み、c)前記移動した第二ノードの目的地で前記第二ノードのための第三アタッチポイントを識別するステップを含み、前記第三アタッチポイントは前記第二ノード上の前記第二アタッチポイントと同じ位置にあり、d)前記格納されたリンク形状情報に基づいて前記リンクのためのリンクの置き換えデータを生成するステップを含み、e)前記リンクの各セグメントを変換して前記リンクを曲線変換するステップを含み、各セグメントの前記変換が、e1)前記セグメントのためのアークの長さを決定するサブステップを含み、e2)前記セグメントの長さ及び前記セグメントの前記アークの長さも基づいて変換ファクタを決定するサブステップを含み、e3)前記変換ファクタ、リンク置き換えデータ及び元のセグメントの終点位置に基づいて変換されたセグメントの位置及び長さを決定するサブステップを含み、及び、e4)前記変換されたセグメントの終点位置と先に変換されたセグメントの終点との間の前記変換されたセグメントをディスプレイするサブステップを含む。
【0011】
本発明の第二の態様は、ノードが移動するときにノードリンクダイヤグラムのトポロジを維持するための方法であって、前記ノードリンクダイヤグラムがリンクを介して第二ノードにリンクされる第一ノードを有し、前記リンクが第一アタッチポイントで前記第一ノードに接触し及び第二アタッチポイントで前記第二ノードと接触し、前記方法は、a)ユーザが前記ノードリンクダヤグラムにおいて前記第二ノードを移動したことを検出するステップを含み、b)前記第一アタッチポイントを前記リンクを再整形するための座標系の原点として定めるステップを含み、c)前記移動した第二ノードに基づいて第三アタッチポイントを決定するステップを含み、d)前記第二アタッチポイント及び前記第三アタッチポイントのための象限を決定するためのステップを含み、e)前記第二アタッチポイント及び前記第三アタッチポイントのための象限が同じである場合、元のリンクの形状特性に基づいて前記第二ノードを移動するのに応じて前記リンクを曲線変換するステップを含み、f)前記第二アタッチポイント及び前記第三アタッチポイントのための象限が異なる場合、前記リンクを再整形するステップを含み、前記再整形ステップが、f1)前記リンクを前記第三アタッチポイントの前記象限にフリップするサブステップを含み、f2)前記フリップされたリンクの形状特性に基づいて前記リンクを曲線変換するステップを含む。
【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及びA2308で表されている。
【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に移動した場合、結果はA31009である。フリッピングは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)
- プロセッサと、メモリと、ディスプレイと、インプット装置を含むディスプレイ制御システムにおいて、ノードリンクダイヤグラムにおけるノードの移動に応じて任意形状のリンクを曲線変換するための方法であって、前記ノードリンクダイヤグラムはリンクを介して第二ノードにリンクされた第一ノードを有し、前記リンクは前記第一ノードに第一アタッチポイントで接触し及び前記第二ノードに第二アタッチポイントで接触し、前記方法が、
a)前記プロセッサがリンクセグメント情報を含むリンク形状情報を前記メモリに格納するステップを含み、
b)前記プロセッサが前記インプット装置による前記第二ノードの移動を検出するステップを含み、
c)前記プロセッサが前記移動した第二ノードの目的地で前記第二ノードのための第三アタッチポイントを識別するステップを含み、前記第三アタッチポイントは前記第二ノード上の前記第二アタッチポイントと同じ位置にあり、
d)前記プロセッサが前記格納されたリンク形状情報に基づいて前記リンクのためのリンクの置き換えデータを生成するステップを含み、
e)前記プロセッサが前記リンクの各セグメントを変換して前記リンクを曲線変換するステップを含み、各セグメントの前記変換が、
e1)前記セグメントのためのアークの長さを決定するサブステップを含み、
e2)前記セグメントの長さ及び前記セグメントの前記アークの長さに基づいて変換ファクタを決定するサブステップを含み、
e3)前記変換ファクタ、リンク置き換えデータ及び元のセグメントの終点位置に基づいて変換されたセグメントの位置及び長さを決定するサブステップを含み、及び、
e4)前記変換されたセグメントの終点位置と先に変換されたセグメントの終点との間の前記変換されたセグメントをディスプレイするサブステップを含む、
任意形状のリンクの曲線変換方法 - プロセッサと、メモリと、ディスプレイと、インプット装置を含むディスプレイ制御システムにおいて、ノードが移動するときにノードリンクダイヤグラムのトポロジを維持するための方法であって、前記ノードリンクダイヤグラムがリンクを介して第二ノードにリンクされる第一ノードを有し、前記リンクが第一アタッチポイントで前記第一ノードに接触し及び第二アタッチポイントで前記第二ノードと接触し、前記方法が、
a)前記プロセッサが前記インプット装置によってユーザが前記ノードリンクダヤグラムにおいて前記第二ノードを移動したことを検出するステップを含み、
b)前記プロセッサが前記リンクを再整形するための座標系の原点として前記第一アタッチポイントを定めるステップを含み、
c)前記プロセッサが前記移動した第二ノードに基づいて第三アタッチポイントを決定するステップを含み、
d)前記プロセッサが前記第二アタッチポイント及び前記第三アタッチポイントのための象限を決定するためのステップを含み、
e)前記第二アタッチポイント及び前記第三アタッチポイントのための象限が同じである場合、前記プロセッサが元のリンクの形状特性に基づいて前記第二ノードを移動するのに応じて前記リンクを曲線変換するステップを含み、
f)前記第二アタッチポイント及び前記第三アタッチポイントのための象限が異なる場合、前記プロセッサが前記リンクを再整形するステップを含み、前記再整形ステップが、
f1)前記リンクを前記第三アタッチポイントの前記象限に反転するサブステップを含み、
f2)前記反転されたリンクの形状特性に基づいて前記リンクを曲線変換するステップを含む、
ノードリンクダイヤグラムのトポロジを維持するための方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US698741 | 1996-08-15 | ||
US08/698,741 US5798769A (en) | 1996-08-15 | 1996-08-15 | Method and apparatus for maintaining links between graphic objects in a free-form graphics display system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10105728A JPH10105728A (ja) | 1998-04-24 |
JP4028031B2 true JP4028031B2 (ja) | 2007-12-26 |
Family
ID=24806479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21277197A Expired - Lifetime JP4028031B2 (ja) | 1996-08-15 | 1997-08-07 | 任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5798769A (ja) |
EP (1) | EP0825559B1 (ja) |
JP (1) | JP4028031B2 (ja) |
DE (1) | DE69731434T2 (ja) |
Families Citing this family (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067094A (en) * | 1998-04-07 | 2000-05-23 | Adobe Systems Incorporated | Brushstroke envelopes |
GB2340006A (en) * | 1998-07-20 | 2000-02-09 | Sony Uk Ltd | Digital image processing |
US6377259B2 (en) | 1998-07-29 | 2002-04-23 | Inxight Software, Inc. | Presenting node-link structures with modification |
US8232995B2 (en) | 1998-07-29 | 2012-07-31 | SAP America, Inc. | Local relative layout of node-link structures in space with negative curvature |
EP0977151B1 (en) * | 1998-07-31 | 2007-11-07 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and storage medium |
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 |
US7158675B2 (en) * | 2002-05-14 | 2007-01-02 | Microsoft Corporation | Interfacing with ink |
US20040001113A1 (en) * | 2002-06-28 | 2004-01-01 | John Zipperer | Method and apparatus for spline-based trajectory classification, gesture detection and localization |
JP4213052B2 (ja) * | 2004-01-28 | 2009-01-21 | 任天堂株式会社 | タッチパネル入力を用いたゲームシステム |
JP4159491B2 (ja) * | 2004-02-23 | 2008-10-01 | 任天堂株式会社 | ゲームプログラムおよびゲーム装置 |
JP2005346467A (ja) * | 2004-06-03 | 2005-12-15 | Nintendo Co Ltd | 図形認識プログラム |
JP4717489B2 (ja) * | 2005-04-07 | 2011-07-06 | 任天堂株式会社 | ゲームプログラム |
US8930331B2 (en) | 2007-02-21 | 2015-01-06 | Palantir Technologies | Providing unique views of data based on changes or rules |
US7907141B2 (en) * | 2007-03-23 | 2011-03-15 | Palo Alto Research Center Incorporated | Methods and processes for recognition of electronic ink strokes |
US8014607B2 (en) * | 2007-03-23 | 2011-09-06 | Palo Alto Research Center Incorporated | Method and apparatus for creating and editing node-link diagrams in pen computing systems |
US8984390B2 (en) | 2008-09-15 | 2015-03-17 | Palantir Technologies, Inc. | One-click sharing for screenshots and related documents |
US8477103B2 (en) | 2008-10-26 | 2013-07-02 | Microsoft Corporation | Multi-touch object inertia simulation |
US8466879B2 (en) * | 2008-10-26 | 2013-06-18 | Microsoft Corporation | Multi-touch manipulation of application objects |
US8423916B2 (en) * | 2008-11-20 | 2013-04-16 | Canon Kabushiki Kaisha | Information processing apparatus, processing method thereof, and computer-readable storage medium |
US8190710B2 (en) | 2009-06-23 | 2012-05-29 | Oracle International Corporation | System and method for providing user context support in a native transaction platform |
US8326913B2 (en) * | 2009-06-25 | 2012-12-04 | Oracle International Corporation | Method and system for service contract discovery |
US8161413B2 (en) * | 2009-09-01 | 2012-04-17 | Oracle International Corporation | Method and system for providing user interface representing organization hierarchy |
US8863029B2 (en) | 2009-09-01 | 2014-10-14 | Oracle International Corporation | Method and system for providing graphical user interface having filtering capability |
US8806379B2 (en) | 2009-09-01 | 2014-08-12 | Oracle International Corporation | Method and system for displaying group relationships in a graphical user interface |
US9552661B2 (en) | 2010-08-09 | 2017-01-24 | International Business Machines Corporation | Distinguishing superimposed links to a node by spreading connection points of links to node according to coordinates of bend point or opposite end point of links |
US9092482B2 (en) | 2013-03-14 | 2015-07-28 | Palantir Technologies, Inc. | Fair scheduling for mixed-query loads |
US9547693B1 (en) | 2011-06-23 | 2017-01-17 | Palantir Technologies Inc. | Periodic database search manager for multiple data sources |
US8799240B2 (en) | 2011-06-23 | 2014-08-05 | Palantir Technologies, Inc. | System and method for investigating large amounts of data |
US8732574B2 (en) | 2011-08-25 | 2014-05-20 | Palantir Technologies, Inc. | System and method for parameterizing documents for automatic workflow generation |
US8504542B2 (en) | 2011-09-02 | 2013-08-06 | Palantir Technologies, Inc. | Multi-row transactions |
US9396410B1 (en) * | 2011-09-28 | 2016-07-19 | Palantir Technologies Inc. | Preserving angles of graph elbows |
US9367201B2 (en) | 2011-11-30 | 2016-06-14 | Microsoft Technology Licensing, Llc | Graphic flow having unlimited number of connections between shapes |
US8832582B2 (en) | 2012-03-15 | 2014-09-09 | Microsoft Corporation | Interactive control of the curvature of links |
US9348677B2 (en) | 2012-10-22 | 2016-05-24 | Palantir Technologies Inc. | System and method for batch evaluation programs |
US9380431B1 (en) | 2013-01-31 | 2016-06-28 | Palantir Technologies, Inc. | Use of teams in a mobile application |
US20140223382A1 (en) * | 2013-02-01 | 2014-08-07 | Barnesandnoble.Com Llc | Z-shaped gesture for touch sensitive ui undo, delete, and clear functions |
US10037314B2 (en) | 2013-03-14 | 2018-07-31 | Palantir Technologies, Inc. | Mobile reports |
US8868486B2 (en) | 2013-03-15 | 2014-10-21 | Palantir Technologies Inc. | Time-sensitive cube |
US8937619B2 (en) | 2013-03-15 | 2015-01-20 | Palantir Technologies Inc. | Generating an object time series from data objects |
US8788405B1 (en) | 2013-03-15 | 2014-07-22 | Palantir Technologies, Inc. | Generating data clusters with customizable analysis strategies |
US8909656B2 (en) | 2013-03-15 | 2014-12-09 | Palantir Technologies Inc. | Filter chains with associated multipath views for exploring large data sets |
US9965937B2 (en) | 2013-03-15 | 2018-05-08 | Palantir Technologies Inc. | External malware data item clustering and analysis |
US10275778B1 (en) | 2013-03-15 | 2019-04-30 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures |
US8917274B2 (en) | 2013-03-15 | 2014-12-23 | Palantir Technologies Inc. | Event matrix based on integrated data |
US8799799B1 (en) | 2013-05-07 | 2014-08-05 | Palantir Technologies Inc. | Interactive geospatial map |
US9223773B2 (en) | 2013-08-08 | 2015-12-29 | Palatir Technologies Inc. | Template system for custom document generation |
US8713467B1 (en) | 2013-08-09 | 2014-04-29 | Palantir Technologies, Inc. | Context-sensitive views |
US8938686B1 (en) | 2013-10-03 | 2015-01-20 | Palantir Technologies Inc. | Systems and methods for analyzing performance of an entity |
US8924872B1 (en) | 2013-10-18 | 2014-12-30 | Palantir Technologies Inc. | Overview user interface of emergency call data of a law enforcement agency |
US9116975B2 (en) | 2013-10-18 | 2015-08-25 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores |
US9021384B1 (en) | 2013-11-04 | 2015-04-28 | Palantir Technologies Inc. | Interactive vehicle information map |
US8868537B1 (en) | 2013-11-11 | 2014-10-21 | Palantir Technologies, Inc. | Simple web search |
US9105000B1 (en) | 2013-12-10 | 2015-08-11 | Palantir Technologies Inc. | Aggregating data from a plurality of data sources |
US9727622B2 (en) | 2013-12-16 | 2017-08-08 | Palantir Technologies, Inc. | Methods and systems for analyzing entity performance |
US9552615B2 (en) | 2013-12-20 | 2017-01-24 | Palantir Technologies Inc. | Automated database analysis to detect malfeasance |
US10356032B2 (en) | 2013-12-26 | 2019-07-16 | Palantir Technologies Inc. | System and method for detecting confidential information emails |
US9043696B1 (en) | 2014-01-03 | 2015-05-26 | Palantir Technologies Inc. | Systems and methods for visual definition of data associations |
US8832832B1 (en) | 2014-01-03 | 2014-09-09 | Palantir Technologies Inc. | IP reputation |
US9483162B2 (en) | 2014-02-20 | 2016-11-01 | Palantir Technologies Inc. | Relationship visualizations |
US9727376B1 (en) | 2014-03-04 | 2017-08-08 | Palantir Technologies, Inc. | Mobile tasks |
US8935201B1 (en) | 2014-03-18 | 2015-01-13 | Palantir Technologies Inc. | Determining and extracting changed data from a data source |
US9857958B2 (en) | 2014-04-28 | 2018-01-02 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases |
US9535974B1 (en) | 2014-06-30 | 2017-01-03 | Palantir Technologies Inc. | Systems and methods for identifying key phrase clusters within documents |
US9619557B2 (en) | 2014-06-30 | 2017-04-11 | Palantir Technologies, Inc. | Systems and methods for key phrase characterization of documents |
US9256664B2 (en) | 2014-07-03 | 2016-02-09 | Palantir Technologies Inc. | System and method for news events detection and visualization |
US9202249B1 (en) | 2014-07-03 | 2015-12-01 | Palantir Technologies Inc. | Data item clustering and analysis |
US9454281B2 (en) | 2014-09-03 | 2016-09-27 | Palantir Technologies Inc. | System for providing dynamic linked panels in user interface |
US9767172B2 (en) | 2014-10-03 | 2017-09-19 | Palantir Technologies Inc. | Data aggregation and analysis system |
US9501851B2 (en) | 2014-10-03 | 2016-11-22 | Palantir Technologies Inc. | Time-series analysis system |
US9984133B2 (en) | 2014-10-16 | 2018-05-29 | Palantir Technologies Inc. | Schematic and database linking system |
US9229952B1 (en) | 2014-11-05 | 2016-01-05 | Palantir Technologies, Inc. | History preserving data pipeline system and method |
US9043894B1 (en) | 2014-11-06 | 2015-05-26 | Palantir Technologies Inc. | Malicious software detection in a computing system |
US10362133B1 (en) | 2014-12-22 | 2019-07-23 | Palantir Technologies Inc. | Communication data processing architecture |
US9348920B1 (en) | 2014-12-22 | 2016-05-24 | Palantir Technologies Inc. | Concept indexing among database of documents using machine learning techniques |
US9367872B1 (en) | 2014-12-22 | 2016-06-14 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures |
US10552994B2 (en) | 2014-12-22 | 2020-02-04 | Palantir Technologies Inc. | Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items |
US9335911B1 (en) | 2014-12-29 | 2016-05-10 | Palantir Technologies Inc. | Interactive user interface for dynamic data analysis exploration and query processing |
US9817563B1 (en) | 2014-12-29 | 2017-11-14 | Palantir Technologies Inc. | System and method of generating data points from one or more data stores of data items for chart creation and manipulation |
US9870205B1 (en) | 2014-12-29 | 2018-01-16 | Palantir Technologies Inc. | Storing logical units of program code generated using a dynamic programming notebook user interface |
US10372879B2 (en) | 2014-12-31 | 2019-08-06 | Palantir Technologies Inc. | Medical claims lead summary report generation |
US9727560B2 (en) | 2015-02-25 | 2017-08-08 | Palantir Technologies Inc. | Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags |
US9891808B2 (en) | 2015-03-16 | 2018-02-13 | Palantir Technologies Inc. | Interactive user interfaces for location-based data analysis |
US9886467B2 (en) | 2015-03-19 | 2018-02-06 | Plantir Technologies Inc. | System and method for comparing and visualizing data entities and data entity series |
US9454785B1 (en) | 2015-07-30 | 2016-09-27 | Palantir Technologies Inc. | Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data |
US9996595B2 (en) | 2015-08-03 | 2018-06-12 | Palantir Technologies, Inc. | Providing full data provenance visualization for versioned datasets |
US9456000B1 (en) | 2015-08-06 | 2016-09-27 | Palantir Technologies Inc. | Systems, methods, user interfaces, and computer-readable media for investigating potential malicious communications |
US9600146B2 (en) | 2015-08-17 | 2017-03-21 | Palantir Technologies Inc. | Interactive geospatial map |
US10489391B1 (en) | 2015-08-17 | 2019-11-26 | Palantir Technologies Inc. | Systems and methods for grouping and enriching data items accessed from one or more databases for presentation in a user interface |
US10853378B1 (en) | 2015-08-25 | 2020-12-01 | Palantir Technologies Inc. | Electronic note management via a connected entity graph |
US11150917B2 (en) | 2015-08-26 | 2021-10-19 | Palantir Technologies Inc. | System for data aggregation and analysis of data from a plurality of data sources |
US10176148B2 (en) * | 2015-08-27 | 2019-01-08 | Microsoft Technology Licensing, Llc | Smart flip operation for grouped objects |
US9485265B1 (en) | 2015-08-28 | 2016-11-01 | Palantir Technologies Inc. | Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces |
US10706434B1 (en) | 2015-09-01 | 2020-07-07 | Palantir Technologies Inc. | Methods and systems for determining location information |
US9576015B1 (en) | 2015-09-09 | 2017-02-21 | Palantir Technologies, Inc. | Domain-specific language for dataset transformations |
US10296617B1 (en) | 2015-10-05 | 2019-05-21 | Palantir Technologies Inc. | Searches of highly structured data |
US9542446B1 (en) | 2015-12-17 | 2017-01-10 | Palantir Technologies, Inc. | Automatic generation of composite datasets based on hierarchical fields |
US9823818B1 (en) | 2015-12-29 | 2017-11-21 | Palantir Technologies Inc. | Systems and interactive user interfaces for automatic generation of temporal representation of data objects |
US9612723B1 (en) | 2015-12-30 | 2017-04-04 | Palantir Technologies Inc. | Composite graphical interface with shareable data-objects |
US10713304B2 (en) * | 2016-01-26 | 2020-07-14 | International Business Machines Corporation | Entity arrangement by shape input |
US10698938B2 (en) | 2016-03-18 | 2020-06-30 | Palantir Technologies Inc. | Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags |
US10719188B2 (en) | 2016-07-21 | 2020-07-21 | Palantir Technologies Inc. | Cached database and synchronization system for providing dynamic linked panels in user interface |
US10324609B2 (en) | 2016-07-21 | 2019-06-18 | Palantir Technologies Inc. | System for providing dynamic linked panels in user interface |
US10437840B1 (en) | 2016-08-19 | 2019-10-08 | Palantir Technologies Inc. | Focused probabilistic entity resolution from multiple data sources |
US10318630B1 (en) | 2016-11-21 | 2019-06-11 | Palantir Technologies Inc. | Analysis of large bodies of textual data |
US10460602B1 (en) | 2016-12-28 | 2019-10-29 | Palantir Technologies Inc. | Interactive vehicle information mapping system |
US10956406B2 (en) | 2017-06-12 | 2021-03-23 | Palantir Technologies Inc. | Propagated deletion of database records and derived data |
US10403011B1 (en) | 2017-07-18 | 2019-09-03 | Palantir Technologies Inc. | Passing system with an interactive user interface |
US11599369B1 (en) | 2018-03-08 | 2023-03-07 | Palantir Technologies Inc. | Graphical user interface configuration system |
US10754822B1 (en) | 2018-04-18 | 2020-08-25 | Palantir Technologies Inc. | Systems and methods for ontology migration |
US10885021B1 (en) | 2018-05-02 | 2021-01-05 | Palantir Technologies Inc. | Interactive interpreter and graphical user interface |
US11119630B1 (en) | 2018-06-19 | 2021-09-14 | Palantir Technologies Inc. | Artificial intelligence assisted evaluations and user interface for same |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8618665D0 (en) * | 1986-07-31 | 1986-09-10 | British Telecomm | Graphical workstation |
FR2646256A1 (fr) * | 1989-04-24 | 1990-10-26 | Digital Equipment Int | Procede pour realiser des dessins a l'aide d'un ordinateur |
US4953106A (en) * | 1989-05-23 | 1990-08-28 | At&T Bell Laboratories | Technique for drawing directed graphs |
US5617578A (en) * | 1990-06-26 | 1997-04-01 | Spss Corp. | Computer-based workstation for generation of logic diagrams from natural language text structured by the insertion of script symbols |
US5555357A (en) * | 1994-06-03 | 1996-09-10 | Claris Corporation | Computer system and method for generating and manipulating charts and diagrams |
US5680530A (en) * | 1994-09-19 | 1997-10-21 | Lucent Technologies Inc. | Graphical environment for interactively specifying a target system |
US5588108A (en) * | 1994-09-27 | 1996-12-24 | Micrografx, Inc. | System and method for generating graphics charts |
US5704028A (en) * | 1994-12-21 | 1997-12-30 | Micrografx, Inc. | Graphics systems and method having data fields and shape placement control |
-
1996
- 1996-08-15 US US08/698,741 patent/US5798769A/en not_active Expired - Lifetime
-
1997
- 1997-08-07 JP JP21277197A patent/JP4028031B2/ja not_active Expired - Lifetime
- 1997-08-13 DE DE69731434T patent/DE69731434T2/de not_active Expired - Lifetime
- 1997-08-13 EP EP97306168A patent/EP0825559B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5798769A (en) | 1998-08-25 |
EP0825559A3 (en) | 1999-08-25 |
EP0825559A2 (en) | 1998-02-25 |
DE69731434D1 (de) | 2004-12-09 |
JPH10105728A (ja) | 1998-04-24 |
EP0825559B1 (en) | 2004-11-03 |
DE69731434T2 (de) | 2005-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4028031B2 (ja) | 任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法 | |
JP4602487B2 (ja) | グラフィックオブジェクトのグループを作成し操作するための方法及びコンピュータ制御グラフィックディスプレイシステム | |
JP3973263B2 (ja) | グラフィックオブジェクトのグループの表現方法及びコンピュータ制御グラフィックディスプレイシステム | |
JP4111897B2 (ja) | ウインドウの制御方法 | |
US20120256960A1 (en) | Defining motion in a computer system with a graphical user interface | |
US6781597B1 (en) | Edit modes for three dimensional modeling systems | |
Wu et al. | ViSizer: a visualization resizing framework | |
JP5400578B2 (ja) | 表示制御装置、及びその制御方法 | |
CN108228026B (zh) | 三维场景中对象的快速操纵 | |
JPH0696174A (ja) | 束縛点式図形編集装置および処理方法 | |
CN111984151B (zh) | 一种提高处理效率的白板画布大小、位置漫游控制方法 | |
JPH06131436A (ja) | 描画処理装置及び方法 | |
JP4094706B2 (ja) | コンピュータ制御デイスプレイシステム | |
JP2003250039A (ja) | 画像処理装置,画像処理方法および記録媒体 | |
JP3357760B2 (ja) | 文字図形入力編集装置 | |
JP6526851B2 (ja) | 図形処理装置および図形処理プログラム | |
JPH07105395A (ja) | 情報処理装置 | |
KR102392675B1 (ko) | 3차원 스케치를 위한 인터페이싱 방법 및 장치 | |
JP2935336B2 (ja) | 図形入出力装置 | |
JPH08106542A (ja) | 図形の拡大表示方法 | |
US20220335676A1 (en) | Interfacing method and apparatus for 3d sketch | |
Song et al. | Cursor caging: enhancing focus targeting in interactive fisheye views | |
JP4618746B2 (ja) | 図形オブジェクトの割付装置 | |
JP3142191B2 (ja) | 図形処理装置 | |
JP2018190469A (ja) | 画像形成装置、コンピュータプログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070525 |
|
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: 20070911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071011 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 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: 20111019 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131019 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |