JPH10105728A - 任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法 - Google Patents

任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法

Info

Publication number
JPH10105728A
JPH10105728A JP9212771A JP21277197A JPH10105728A JP H10105728 A JPH10105728 A JP H10105728A JP 9212771 A JP9212771 A JP 9212771A JP 21277197 A JP21277197 A JP 21277197A JP H10105728 A JPH10105728 A JP H10105728A
Authority
JP
Japan
Prior art keywords
link
node
point
segment
attach
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9212771A
Other languages
English (en)
Other versions
JP4028031B2 (ja
Inventor
Patrick Chiu
チウ パトリック
Thomas P Moran
ピー.モラン トーマス
William J Vanmelle
ジェイ.ヴァンメル ウィリアム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of JPH10105728A publication Critical patent/JPH10105728A/ja
Application granted granted Critical
Publication of JP4028031B2 publication Critical patent/JP4028031B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing 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)

Abstract

(57)【要約】 【課題】 ノードが移動するときにノードリンク構造の
トポロジを維持するための様々な方法を提供する。 【解決手段】 ノードリンクダイヤグラムにおけるノー
ドの移動に応じて任意形状のリンクを曲線変換するため
の方法であって、前記ノードリンクダイヤグラムはリン
クを介して第二ノードにリンクされた第一ノードを有
し、前記リンクは前記第一ノードに第一アタッチポイン
トで接触し及び前記第二ノードに第二アタッチポイント
に接触し、前記方法が、リンクセグメント情報を含むリ
ンク形状情報を格納し、前記第二ノードが移動したこと
を検出し、前記移動した第二ノードの目的地で前記第二
ノードのための第三アタッチポイントを識別し、前記格
納されたリンク形状情報に基づいて前記リンクのための
リンクの置き換えデータを生成し、前記リンクの各セグ
メントを変換して前記リンクを曲線変換するステップを
含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はグラフィックベース
のコンピュータシステムにおけるオペレーティング分野
に関し、更に詳細にはノードが移動するときのノードリ
ンク構造のトポロジを維持することに関する。
【0002】
【従来の技術】ペンベースのシステム及び”電子ホワイ
トボード”(例えばゼロックス社の部門LiveWorks から
入手可能なLiveBoard (商標名))等のコンピュータベ
ースのシステムは、ペン、スタイラス、又はカーソル制
御装置などの入力装置の使用に基づいてグラフィカルユ
ーザインターフェースを提供する。このようなシステム
において、”ディスプレイ”はデータを表す手段として
及び入力媒体としての両方の機能を果たす。グラフィッ
クオブジェクトは入力装置を用いて生成されたペンスト
ロークを介してディスプレイ上に描かれる。グラフィッ
クオブジェクトは単語、図、又はディスプレイされ得る
あらゆるものを表すことができる。従って、ジェスチュ
アとして公知である入力技術を用いてグラフィックオブ
ジェクト上に様々な操作を行うことができる。ジェスチ
ュアそれ自体は単なるペンストローク(pen stroke)で
あり、これがインストラクションとして解釈される。し
ばしば、このようなシステムはペンストロークが持続
(persistent)グラフィックオブジェクトを生成すると
き又はペンストロークがジェスチュアとして扱われると
きを区別するために、描画モード及びジェスチュアモー
ドを有する。
【0003】システムの使用の1つは、ノードリンクダ
イヤグラムの生成及び操作である。例えば、様々なプロ
ジェクトマネージメント、フローチャート作成及び描画
プログラムは、ノードが移動するときにノードリンク構
造のトポロジ(位相)の維持を可能にする。公知のプロ
グラムは一般的に、公知の事前表示(pre-declared)タ
イプのノード及びリンクを用いて動作する。しかし、ダ
イヤグラムが自由形状、即ちノード及びリンクが任意の
形を有するときに問題が生じる。
【0004】自由形状ノードリンク構造のこのような操
作はEP0667567A2(題名”Apparatus and Me
thod For Supporting the Implicit Structure Of Free
formLists, Outlines, Text, and Diagrams In A Gestu
re-Based Input System andEditing 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及び内部メモリ1
03は本明細書中に記載される様々な処理機能を実行す
るための回路を含む。また、バス101には外部格納装
置107も結合している。外部格納装置107は一般的
には磁気若しくは光学ディスク格納装置等の高容量格納
媒体である。
【0015】また、バス101にはディスプレイ104
及びポインティング装置105も接続されている。この
好適な実施の形態において、ポインティング装置105
はペンタッチ感知パネルであり、これはディスプレイ1
04にタッチスクリーン画面として統合されている。こ
のようなタッチスクリーン画面は当技術においてはよく
知られており、ペンペースのシステム等のこのようなシ
ステムにおいてや、電子ホワイトボードシステムで使用
される。しかし、ポインティング装置105がスタイラ
ス、マウス、トラックボール又は他のカーソル制御装置
であってもよいように、ポインティング装置105とデ
ィスプレイ104は統合される必要はない。。
【0016】図2は、本発明に使用されるようなグラフ
ィックユーザインターフェースの特定の実施を表してい
る。図2を参照すると、グラフィックユーザインターフ
ェースはディスプレイ104上にディスプレイされ、タ
ッチパネル105を介して情報交換される。グラフィッ
クユーザインターフェースは作業表面を使用し、及び図
に示されたような複数のアクセス可能機能201を用い
てもよい。作業表面202はユーザが様々な曲線を描い
たり他のグラフィックオブジェクトがディスプレイされ
たりする場所である。アクセス可能機能201はディス
プレイの底部領域203に位置する。この機能201は
グラフィクオブジェクトを編集(作成、削除、移動、収
縮等)したり、タッチパネル103の操作モードを変え
たり(描画及びジェスチュアモードからの切り換え等)
するための操作を含んでもよい。
【0017】または、これらの機能はウィンドウズ(Wi
ndows )仕様のアプリケーションに一般的にみられるプ
ルダウンメニューによってアクセスされてもよい。しか
しこれらの機能は指定においてオプショナルであり、こ
れらの主な目的は該システムの操作に本質的な操作を決
定することである。これらの機能はジェスチュアによっ
て起こる機能と同じ機能を果たす。
【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 3
07及びA2308で表されている。
【0026】図4は、本発明のこの好適な実施の形態に
おいて実行されるリンクの再整形を概説するフローチャ
ートを表す。図4を参照すると、先ずユーザはノードリ
ンクダイヤグラムの中のノードを移動する(ステップ4
01)。これは単にドラッグ及びドロップ操作によっ
て、又は見えないグラフィックユーザインターフェース
によってサポートされたあらゆる操作によって実行する
ことができる。ノードの再整形における第一ステップ
は、ステップ402の目的地象限を識別することであ
る。目的地象限が同じかどうかが決定される(ステップ
403)。目的地象限の決定は、元のリンクのフリッピ
ングが必要かどうかを示す。目的地象限が同じであれ
ば、元のリンクに対してリンクは曲線変換する(ステッ
プ404)。目的地象限が同じでない場合、元のリンク
はそれぞれの軸を横切って目的地象限へフリップする。
次にフリップしたリンクに対してリンクの曲線変換が実
行される(ステップ406)。
【0027】リンクを再整形したあと、再整形したリン
クがいずれかのノードに交差するかどうかが決定される
(ステップ407)。ノードに交差するリンクが無けれ
ば、リンクの再整形は完了する(ステップ413)。リ
ンクがノードに交差する場合、ノードのアタッチポイン
トが移動してよいかどうかが決定される(ステップ40
8)。移動できなければ、リンクのルート変更が行われ
る(ステップ410)。そうでない場合は、ノードへの
アタッチポイントのフリップが行われる(ステップ40
9)。次に、交差が未だ存在するかどうかがチェックさ
れる(ステップ411)。アタッチポイントがフリップ
した後にノードが交差されていなければ、リンクの再整
形は完了する(ステップ413)。ノードにリンクが交
差したままである場合、リンクはノードに交差するポイ
ントで切り捨てられる(ステップ412)。切捨てが完
了すると、リンクの再整形は完了する(ステップ41
3)。
【0028】この好適な実施の形態において、アタッチ
ポイントはユーザが選択し及び移動してもよいことに注
意されたい。これはユーザがノード間の関係を変更した
いと欲することもあるため、必要である。更に、ユーザ
が自動リンク変更の結果に不満であるときに変更を行い
たいと欲することもある。
【0029】先に述べたように、リンクは曲線のインス
タンスである。曲線変換は、概念的にはリンクがその形
状特性を維持するようなリンクの拡張又は収縮と考えら
れることができる。曲線変換では、リンクは図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の形状特性が維持さ
れるように曲線の残りを変換することである。
【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の曲線のアークの長さ(arcl
ength )が演算される(ステップ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から象限10
02に移動した場合、結果はA4 1007になる。フ
リッピングはy軸1006の周りで起こる。A1が象限
1001から象限1003に移動した場合、結果はA5
1008である。フリッピングはy軸1006及びx
軸1005の周りで起こる。最後に、A1が象限100
4に移動した場合、結果はA31009である。フリッ
ピングはx軸1005の周りで起こる。
【0043】一般に、象限の移動が起こるとき、最初に
起こるのは目的地象限へのリンクのフリッピングであ
る。リンク形状のフリッピングは、所望の象限への単純
な幾何学変換によって行われる。これに続いて、フリッ
プされたリンクに対して上記のようなリンクの再整形が
行われる。
【0044】リンクの形状を変換したあと、図3に表さ
れた簡単なケースにおいて行われる必要のあるのはこれ
だけである。しかし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の両方に交差する。これは
明らかにユーザが欲するものではない。従って、満足で
きる結果を得るようにアタッチポイントを調節するテク
ニックが必要である。
【0045】ノードの交差を修正する第一ステップは、
リンクのアタッチポイントを単にフリップすることであ
る。フリッピングには2つのケースがある。即ちノード
を横切る場合とエッジに沿った場合である。ノードを横
切るアタッチポイントをフリッピングする際、ノードの
反対側へのフリッピングが起こる。図11及び図12の
例にこのテクニックを適用した結果は図13に図示され
ており、図12のアタッチポイントA及びA2はA’A
1301及びA2’1302に移動している。トポグラ
フィ(topography)及び視覚的な結果を維持する点に関
して言えば、これは非常に満足のいく結果を提供する。
しかし幾つかの例において、ノードの形状はリンクが接
触している場所によってノード間の関係が異なって解釈
されるような意味を有することが分かっている。例え
ば、片側のアタッチメントは入力を示し、その反対側の
アタッチメントは出力を示す。従って、内部ノード表示
は幾つかの標識(例えばフラッグやノードタイプ)を含
み、この標識はアタッチポイントのフリッピングが許さ
れるかどうかを示すために使用される。
【0046】アタッチポイントのフリッピングは、ノー
ドの形状がフリップ軸の周りでほぼ対称である場合には
直線的である。従って非対称の場合について考察する。
垂直軸の周りを左右にフリップする場合のみを考察する
(それ以外の場合は類似している)。非対称ケースは図
14に表されている。図14を参照すると、非対称形ノ
ード1405が図示されている。ポイントA1 140
1を右から左へ水平方向にフリップするためにA1’1
403でノードと交差するまでA1 1401からノー
ド1405の反対側へとひっぱり、ここが新しいアタッ
チポイントとなる。非対称ケースにおいて、フリップさ
れたポイントは完全に異なり得ることに注意されたい。
例えば、A1 1401及びA2 1402は両方とも
ノードのかなり右側にあり、フリップしたポイントA
2’1404はノード1405のかなり左側にあるが、
フリップしたポイントA1’1403はノード1405
の真ん中にある。
【0047】考察する他のケースは、水平ラインが3ヵ
所以上でノードの囲いに交差する場合である。従ってフ
リップする対応ポイントを拾うことが重要である。この
ケースは図15に表されている。図15を参照すると、
ポイントA1 1501及びA1’1502はフリップ
ポイントとして対応し、ポイントA2 1503及びA
2’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及び1
601を横切ってそれぞれアタッチポイント1606’
及び1607’にフリップして移動している。一方、ア
タッチポイント1605及び1608はこれらの各ノー
ド1601及び1602のエッジを横切ってアタッチポ
イント1605’及び1608’にフリップしている。
リンク1603及び1604はリンク1603’及び1
604’に再整形され、且つその基本的形状特性を保持
している。
【0049】エッジに沿ったアタッチポイントのフリッ
プは、エッジの中心点を見つけ、この中心点とアタッチ
ポイントとの間の距離Xを見つけ、及びこのアタッチポ
イントを中心点の反対側の距離Xの位置にフリップする
ことによって行われる。
【0050】これらのテクニックが駆使されてもなお、
リンクがノードを交差することがある。これは図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によって表されている)。従って、更なる”
交差の解除”テクニックが必要となる。
【0051】ノードからリンクを打切るためには、リン
クがノードと交差する場所を見つけてそのアタッチポイ
ントを作ればよい。リンクが打ち切られたとき、この打
ち切られた部分は切捨てられるので、リンクの全体的な
形は変わる。この好適な実施の形態において、リンク1
803’は交差ポイント1901で打ち切られ、交差ポ
イント1901からアタッチポイント1805までのリ
ンクのセグメントを削除する。この結果は図20に表さ
れており、ここで再整形されたリンクはリンク2001
で表されている。
【0052】ノード上にリンクの複数の交差ポイントが
ある場合、固定ノードのアタッチポイントに一番近い交
差ポイントが選択されることに注意されたい。更に、リ
ンクを打ち切る代わりに、そのリンクがノードに交差す
るポイントでリンクを曲線変換してもよいことに注意さ
れたい。
【0053】リンクのルート変更は、アタッチポイント
が移動(フリップ)されずにノードの交差が起こるとき
に行われる。リンクのルート変更の例は、図21に表さ
れている。図21は図12のノードの交差リンクを修正
するために使用されることができるリンクのルート変更
を表す。図21を参照すると、ルート変更されたリンク
2101は、ノードと交差するのを避けるためにルート
変更されている。点線2102は、リンクが再整形後に
元にあったところを示す。ルート変更されたリンク21
01はアタッチポイント1106からポイント2103
までノード1105の形状に沿い、このポイント210
3でこのリンク2101は交差リンク2102にぶつか
る。次にルート変更はリンク2102の形状に沿ってノ
ード1104に交差するところ(すなわちポイント21
04)まで続く。ここからこのルートはノード1103
の形状に沿ってアタッチポイント1104まで続く。
【0054】図22はリンクをルート変更するための簡
単なテクニックのステップを表すフローチャートであ
る。交差リンクが生成されたと仮定する。先ず、ノード
のそれぞれのアウトラインが生成される(ステップ22
01)。ノードのアウトラインが生成される方法は、図
27〜図30に則して以下に記載される。いずれにせ
よ、これは図23に表されており、ノード1103及び
1105それぞれのアウトライン2301及び2302
が図示されている。また、図23には交差リンク230
3も表されている。
【0055】次に、固定ノードのアタッチポイントから
始まって、アウトラインに沿った且つ交差リンクに一番
近いルートが選ばれる(ステップ2202)。これは図
24に表されている。アウトライン2302及び交差リ
ンク2303の使用された部分は切捨てられていること
に注意されたい。
【0056】次にこのルートは移動したノードのアウト
ラインが交差するポイントに達するまで交差リンクをた
どり、交差リンクの残りは切り捨てられる(ステップ2
203)。これは図25に図示されており、ノード11
03に交差するリンク2303の部分は切捨てられる。
【0057】このポイントで、ルートは移動したノード
のアタッチポイントが一番近い距離に達するような方向
に、この移動したノードの形をたどる(ステップ220
4)。これは図26に表されており、アウトライン23
01の使用されていない部分は切捨てられる。
【0058】任意形状のノードの境界のアウトラインを
見つけることは容易なことではない。境界を表す任意の
形状の閉鎖曲線の場合、ポイントが曲線の内側にあるか
外側にあるかを決定するのは難しい。アウトラインを見
つけだすためのテクニックは、図27のフローチャート
によって記載される。図27を参照すると、第一アウト
ラインは境界の片側上の開始ポイントから始まり、第二
アウトラインは境界の反対側上の開始地点から始まる
(ステップ2701)。曲線がどこから始まるのかが簡
単には分からないので”内側”のアウトラインなのか”
外側”のアウトラインなのかがハッキリしないため、境
界の両側にアウトラインを引くことが必要である。いず
れにせよ、アウトラインのそれぞれは境界から同じ所定
距離のところに引かれる。これは図28に図示されてお
り、外側のアウトライン2801及び内側のアウトライ
ン2802が表されている。実際にはノード境界の内側
及び外側上にアウトラインが引かれることに注意された
い。
【0059】次に、各アウトラインは簡単な閉鎖曲線に
変換される(ステップ2702)。これは、結果的な曲
線の端部で小片をトリミングすることによって各アウト
ライン毎に行われる。このような小さな曲線は図28
に、アウトライン2801の曲線2803及びアウトラ
イン2802の曲線2804によって描かれている。こ
れらの曲線はアウトライン処理から生じる。これらの小
さな曲線の切捨ては図29にアウトライン2801’及
び2802’で表されている。
【0060】最後に、アウトラインの長い方がノードの
ためのアウトラインとして選択される(ステップ270
3)。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 ノード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 トーマス ピー.モラン アメリカ合衆国 94301 カリフォルニア 州 パロ アルト グリーンウッド アベ ニュー 1037 (72)発明者 ウィリアム ジェイ.ヴァンメル アメリカ合衆国 94022 カリフォルニア 州 ロス アルトス ディステル ドライ ブ 651

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ノードリンクダイヤグラムにおけるノー
    ドの移動に応じて任意形状のリンクを曲線変換するため
    の方法であって、前記ノードリンクダイヤグラムはリン
    クを介して第二ノードにリンクされた第一ノードを有
    し、前記リンクは前記第一ノードに第一アタッチポイン
    トで接触し及び前記第二ノードに第二アタッチポイント
    に接触し、前記方法が、 a)リンクセグメント情報を含むリンク形状情報を格納
    するステップを含み、 b)前記第二ノードが移動したことを検出するステップ
    を含み、 c)前記移動した第二ノードの目的地で前記第二ノード
    のための第三アタッチポイントを識別するステップを含
    み、前記第三アタッチポイントは前記第二ノード上の前
    記第二アタッチポイントと同じ位置にあり、 d)前記格納されたリンク形状情報に基づいて前記リン
    クのためのリンクの置き換えデータを生成するステップ
    を含み、 e)前記リンクの各セグメントを変換して前記リンクを
    曲線変換するステップを含み、各セグメントの前記変換
    が、 e1)前記セグメントのためのアークの長さを決定する
    サブステップを含み、 e2)前記セグメントの長さ及び前記セグメントの前記
    アークの長さも基づいて変換ファクタを決定するサブス
    テップを含み、 e3)前記変換ファクタ、リンク置き換えデータ及び元
    のセグメントの終点位置に基づいて変換されたセグメン
    トの位置及び長さを決定するサブステップを含み、及
    び、 e4)前記変換されたセグメントの終点位置と先に変換
    されたセグメントの終点との間の前記変換されたセグメ
    ントをディスプレイするサブステップを含む、 任意形状のリンクの曲線変換方法
  2. 【請求項2】 ノードが移動するときにノードリンクダ
    イヤグラムのトポロジを維持するための方法であって、
    前記ノードリンクダイヤグラムがリンクを介して第二ノ
    ードにリンクされる第一ノードを有し、前記リンクが第
    一アタッチポイントで前記第一ノードに接触し及び第二
    アタッチポイントで前記第二ノードと接触し、前記方法
    が、 a)ユーザが前記ノードリンクダヤグラムにおいて前記
    第二ノードを移動したことを検出するステップを含み、 b)前記第一アタッチポイントを前記リンクを再整形す
    るための座標系の原点として定めるステップを含み、 c)前記移動した第二ノードに基づいて第三アタッチポ
    イントを決定するステップを含み、 d)前記第二アタッチポイント及び前記第三アタッチポ
    イントのための象限を決定するためのステップを含み、 e)前記第二アタッチポイント及び前記第三アタッチポ
    イントのための象限が同じである場合、元のリンクの形
    状特性に基づいて前記第二ノードを移動するのに応じて
    前記リンクを曲線変換するステップを含み、 f)前記第二アタッチポイント及び前記第三アタッチポ
    イントのための象限が異なる場合、前記リンクを再整形
    するステップを含み、前記再整形ステップが、 f1)前記リンクを前記第三アタッチポイントの前記象
    限にフリップするサブステップを含み、 f2)前記フリップされたリンクの形状特性に基づいて
    前記リンクを曲線変換するステップを含む、 ノードリンクダイヤグラムのトポロジを維持するための
    方法。
JP21277197A 1996-08-15 1997-08-07 任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法 Expired - Lifetime JP4028031B2 (ja)

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 true JPH10105728A (ja) 1998-04-24
JP4028031B2 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)

* Cited by examiner, † Cited by third party
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
US8232995B2 (en) 1998-07-29 2012-07-31 SAP America, Inc. Local relative layout of node-link structures in space with negative curvature
US6377259B2 (en) 1998-07-29 2002-04-23 Inxight Software, Inc. Presenting node-link structures with modification
DE69937476T2 (de) * 1998-07-31 2008-08-28 Canon K.K. Bildverarbeitungsvorrichtung und -Verfahren und Speichermedium
US7158675B2 (en) * 2002-05-14 2007-01-02 Microsoft Corporation Interfacing with ink
US20030214553A1 (en) * 2002-05-14 2003-11-20 Microsoft Corporation Ink regions in an overlay control
US7925987B2 (en) * 2002-05-14 2011-04-12 Microsoft Corporation Entry and editing of electronic 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
US10747952B2 (en) 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts
US8466879B2 (en) * 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
US8477103B2 (en) 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
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
US8806379B2 (en) 2009-09-01 2014-08-12 Oracle International Corporation Method and system for displaying group relationships in a graphical user interface
US8205171B2 (en) * 2009-09-01 2012-06-19 Oracle International Corporation System and method for providing graphical user interface displaying multiple views
US8863029B2 (en) 2009-09-01 2014-10-14 Oracle International Corporation Method and system for providing graphical user interface having filtering capability
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
US8799240B2 (en) 2011-06-23 2014-08-05 Palantir Technologies, Inc. System and method for investigating large amounts of data
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
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
US9965937B2 (en) 2013-03-15 2018-05-08 Palantir Technologies Inc. External malware data item clustering and analysis
US8917274B2 (en) 2013-03-15 2014-12-23 Palantir Technologies Inc. Event matrix based on integrated data
US8788405B1 (en) 2013-03-15 2014-07-22 Palantir Technologies, Inc. Generating data clusters with customizable analysis strategies
US8937619B2 (en) 2013-03-15 2015-01-20 Palantir Technologies Inc. Generating an object time series from data objects
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
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
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
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
US8924872B1 (en) 2013-10-18 2014-12-30 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
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
US8924429B1 (en) 2014-03-18 2014-12-30 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
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and 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
US9348920B1 (en) 2014-12-22 2016-05-24 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
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
US10362133B1 (en) 2014-12-22 2019-07-23 Palantir Technologies Inc. Communication data processing architecture
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
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
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
US9335911B1 (en) 2014-12-29 2016-05-10 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP4028031B2 (ja) 2007-12-26
DE69731434T2 (de) 2005-03-24
DE69731434D1 (de) 2004-12-09
US5798769A (en) 1998-08-25
EP0825559A3 (en) 1999-08-25
EP0825559A2 (en) 1998-02-25
EP0825559B1 (en) 2004-11-03

Similar Documents

Publication Publication Date Title
JP4028031B2 (ja) 任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法
JP4111897B2 (ja) ウインドウの制御方法
JP4602487B2 (ja) グラフィックオブジェクトのグループを作成し操作するための方法及びコンピュータ制御グラフィックディスプレイシステム
JP3973263B2 (ja) グラフィックオブジェクトのグループの表現方法及びコンピュータ制御グラフィックディスプレイシステム
US20120256960A1 (en) Defining motion in a computer system with a graphical user interface
Wu et al. ViSizer: a visualization resizing framework
JPS61290525A (ja) グラフイツク・オブジエクト選択容易化方法
JP5195641B2 (ja) ハーネス検証装置およびハーネス検証プログラム
JPH0696174A (ja) 束縛点式図形編集装置および処理方法
JPH09231393A (ja) 命令入力装置
JP2904673B2 (ja) 画像作成装置
JPH05108786A (ja) 図形の変形方法及び装置
JP4094706B2 (ja) コンピュータ制御デイスプレイシステム
JP3357760B2 (ja) 文字図形入力編集装置
KR102392675B1 (ko) 3차원 스케치를 위한 인터페이싱 방법 및 장치
JP6286591B2 (ja) 配筋検証支援装置及びそのプログラム
JP5909953B2 (ja) 設計支援システム、設計支援方法およびプログラム
JP3781923B2 (ja) 線描画装置および線描画方法、ならびに線描画プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2022133117A (ja) 情報処理装置とその制御方法及びプログラム
JP3142191B2 (ja) 図形処理装置
JPH0816805A (ja) 図形作成装置
JP3703814B2 (ja) 円の創成方法
JP2007122102A (ja) 作図処理プログラム、作図処理プログラムを記録した記録媒体、作図処理方法及び作図処理システム
JPH07110869A (ja) 図形編集装置
JPH0778243A (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