JP4143370B2 - Link generator - Google Patents

Link generator Download PDF

Info

Publication number
JP4143370B2
JP4143370B2 JP2002274078A JP2002274078A JP4143370B2 JP 4143370 B2 JP4143370 B2 JP 4143370B2 JP 2002274078 A JP2002274078 A JP 2002274078A JP 2002274078 A JP2002274078 A JP 2002274078A JP 4143370 B2 JP4143370 B2 JP 4143370B2
Authority
JP
Japan
Prior art keywords
link
obj
line segment
stroke
max
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002274078A
Other languages
Japanese (ja)
Other versions
JP2004110584A (en
Inventor
聡一郎 伊賀
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002274078A priority Critical patent/JP4143370B2/en
Publication of JP2004110584A publication Critical patent/JP2004110584A/en
Application granted granted Critical
Publication of JP4143370B2 publication Critical patent/JP4143370B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、計算用のコンピュータのグラフィカルユーザインタフェース(GUI)に関し、詳細には、コンピュータのグラフィックオブジェクト間のリンク情報を編集するユーザインタフェース装置で用いて好適なリンク生成装置に関する。
【0002】
【従来の技術】
マウス、スタイラスペン、タッチパネルなどの入力装置と、ビットマップディスプレイなどの表示装置を用いた計算機用のグラフィカルユーザインタフェースの発達により、視覚的に表現されたグラフィカルオブジェクト(以下オブジェクト)を操作するアプリケーションソフトウェアが数多く開発されている。これらのアプリケーションソフトウェアでは、表示装置に表示されたオブジェクトからマウスなどの入力装置でクリックしたオブジェクトを選択状態として、さまざまな編集操作を行う。
【0003】
上述のような編集操作のひとつに、少なくとも2つ以上のオブジェクトの間を線分(あるいは線分群)や矢印付の線分(あるいは線分群)で結び、オブジェクト間に何らかの関係性がある状態を持たせる「リンク」の編集がある。
リンク編集操作では、ユーザは複数のオブジェクトを選択状態にする操作と、さらにリンクの編集する操作を行う必要があるため、グラフィカルユーザインタフェースとしての操作性の向上が望まれている。
【0004】
グラフィカルユーザインタフェースの操作性向上を目的とする従来技術としては、ストローク形状を検出してストロークが交差したオブジェクトを選択状態とする方法が提案されている(例えば、特許文献1)。
【0005】
【特許文献1】
特開平10−49700号公報
【0006】
【発明が解決しようとする課題】
しかし、上記従来技術では、複数のオブジェクトを選択したり、選択状態を変更することはできるが、選択したオブジェクト間のリンク情報を生成したり編集したりするには、ユーザはさらに別途リンク情報の編集操作を加える必要があり、操作性が非常に悪くなる恐れがある。
また、リンク情報には、リンクの始点と終点を示す情報が必要であるが、従来技術では、オブジェクトの始点や終点といった概念抜きに選択状態にしてしまうため、選択後のリンク編集が非常に困難である。
さらに、リンクは線分や矢印付き線分といった様々な視覚的属性を持つため、従来技術では上述の操作に加えて、さらにリンクの線分の線種を選択するなどの操作が必要になってしまう。
【0007】
本発明の目的は上記従来の問題点に鑑み、オブジェクト間のリンク情報を生成したり編集したりする際の操作性の向上を目的とするリンク生成装置、方法、プログラム及び記録媒体を提供することにある。
【0008】
【課題を解決するための手段】
上記の目的を達成するために本発明によるリンク生成装置は、筆記手段と、オブジェクトを表示する入力面と、を備えるリンク生成装置であって、前記筆記手段が、前記入力面に接地した始点から離れる終点までの前記入力面上での移動軌跡(以下、ストローク)の各座標点列を記憶する入力手段と、前記入力手段から得られた前記ストロークの始点から終点までの座標点列につき、当該座標点列の連続する 2 点間を結ぶ線分が、他の連続する 2 点間を結ぶ線分と交差する回数(以下、自己交差回数)を検出する検出手段と、前記入力手段から得られた前記ストロークの始点から終点までの座標点列につき、当該座標点列の連続する 2 点間を結ぶ線分と交差するオブジェクトを前記ストロークの始点から順に検出し、かつ、前記検出されたオブジェクトの前記順を保持するオブジェクト検出手段と、前記オブジェクト検出手段で検出された前記順が連続するオブジェクト間に、前記自己交差回数に基づいて決定される線種でリンクを生成するリンク生成手段と、を備えることを特徴とするものである。
【0011】
すなわち、請求項1記載の発明は、筆記手段と、オブジェクトを表示する入力面と、を備えるリンク生成装置であって、前記筆記手段が、前記入力面に接地した始点から離れる終点までの前記入力面上での移動軌跡(以下、ストローク)の各座標点列を記憶する入力手段と、前記入力手段から得られた前記ストロークの始点から終点までの座標点列につき、当該座標点列の連続する 2 点間を結ぶ線分が、他の連続する 2 点間を結ぶ線分と交差する回数(以下、自己交差回数)を検出する検出手段と、前記入力手段から得られた前記ストロークの始点から終点までの座標点列につき、当該座標点列の連続する 2 点間を結ぶ線分と交差するオブジェクトを前記ストロークの始点から順に検出し、かつ、前記検出されたオブジェクトの前記順を保持するオブジェクト検出手段と、前記オブジェクト検出手段で検出された前記順が連続するオブジェクト間に、前記自己交差回数に基づいて決定される線種でリンクを生成するリンク生成手段と、を備えることを特徴とするリンク生成装置である。
【0012】
請求項2記載の発明は、請求項1記載の発明において、前記リンク生成手段はさらに、前記オブジェクト検出手段で検出された前記線分と交差するオブジェクトのうち、前記ストロークの始点に最も近いオブジェクトと前記ストロークの終点に最も近いオブジェクトとの間にリンクを生成することを特徴とするリンク生成装置である。
【0013】
請求項3記載の発明は、請求項1又は2記載の発明において、前記リンク生成手段は、前記自己交差回数に基づいて、リンクの始点又は終点の表示状態を変更することを特徴とするリンク生成装置である。
【0014】
請求項4記載の発明は、請求項1から3のいずれか1項記載の発明において、計算システム用のユーザインタフェース装置で用いられることを特徴とするリンク生成装置である。
【0026】
【発明の実施の形態】
以下、本発明の実施の形態を図面と共に説明する。
まず、図2について本実施の形態で用いるリンクの概念を説明する。
図2(a)では、表示装置上に四角1、丸2、三角3の三つのオブジェクトが配置されており、四角1と三角3は線分4、四角1と丸2は矢印付き線分5によって結ばれている。
【0027】
このように表示装置上に表示されるオブジェクト間に線分4や矢印付き線分5を描画することで、オブジェクト間に何らかの関係付けが成されていることを視覚的にユーザに伝えるものをリンクと定義する。
リンクは、例えば図表用アプリケーションソフトウェアやプレゼンテーションソフトウェアなどに多く見られる機能である。
【0028】
図2(b)はリンクの他のバリエーションを示している。リンクは「四角1→丸2→五角形6」のように2つ以上のオブジェクトが連なる場合もある。この場合、四角1と丸2は線分7で結ばれているが、丸2と五角形6をつなぐ部分は線分ではなく曲線8である。このように、視覚的にオブジェクト間に関係があることを示すことが分かるものもリンクとして扱うことができる。
【0029】
また、四角1と三角3の間は点線の線分9で結ばれている。このように、視覚的な属性は単純な実線だけでなく、色属性、線種、線幅など様々な視覚効果属性を持つものもリンクとして扱うことができる。
本実施の形態は、上述のようなリンクを生成したり編集する際の操作性を向上する方法を提供するものである。
【0030】
図1は本発明の実施の形態によるユーザインタフェース装置に搭載されるリンク生成装置の構成を示すブロック図である。
図1において、入力部100は、マウス、スタイラスペン、タッチパネルなどからの座標点列(以下ストローク)を取得する。ストロークとは、入力部100のボタンやペンなどの筆記手段が入力部100の入力面に接地した状態から離れる状態までの(x,y) の座標点を所定の時間間隔でサンプリングした座標点の列である。ストロークの詳細については後述する。
【0031】
形状検出部101は、入力部100で取得したストロークのうちの座標点列から、この座標点列が形成した1つ以上の特定形状を検出する。オブジェクト検出部102は、形状検出部101で検出した形状を形成するストローク座標点列の連続する2点間を結ぶ線分がオブジェクトに内包されるか交差する場合に、そのオブジェクトを選択状態とする。リンク生成部103は、オブジェクト検出部102で検出したオブジェクト間に形状検出部101で検出したストロークの形状に従ってリンク状態を生成する。
【0032】
次に、図3を参照してストロークの概念を説明する。
ストロークは手、ペン、ボタンなどの筆記手段が入力面に接地した点から移動した後、筆記手段が接面から離れるまでの0番目からn番目までの座標点列をサンプリングしたものである。例えばi番目の座標点は、水平方向をx、垂直方向をyとすると(x[i],y[i] )のように表すことができる。
【0033】
以下説明を簡単にするために、コンピュータ言語であるC言語の構造体形式の書式を用いて説明する。
オブジェクトのデータ構造を表す構造体OBJECTは以下のように定義できる。
typedef struct [
int x[NMAX];
int y[NMAX];
int n;
bool isLink;
int larray[LINKMAX];
int ln;
] OBJECT;
OBJECT obj[OBJMAX];
int max;
【0034】
ここで、x[],y[] は、ストロークを構成する水平方向、垂直方向の座標点であり、NMAXは配列の最大数を示す所定の定数である。nはストロークの座標点数である。
isLinkは、真偽値(真True,偽False )を持つ変数であり、Trueの場合はそのオブジェクトがリンクオブジェクトであることを示し、False の場合はリンク以外のオブジェクトであることを示している。
【0035】
larray[]は、オブジェクトがリンクオブジェクトの場合、そのリンクオブジェクトがリンクするオブジェクトobj[] のインデックス番号を順次保持する配列であり、LINKMAX はその配列の最大数を示す所定の定数である。
1nはオブジェクトがリンクオブジェクトの場合に、そのリンクオブジェクトがリンクするオブジェクトの個数を保持するための変数である。
obj[] はOBJECT型の構造体を持つ配列であり、OBJMAXはobj[] 配列の最大数を保持する所定の定数である。max は現時点でのオブジェクトの個数を保持する変数である。
【0036】
図4は入力部100の処理を示すフローチャートである。
ユーザはまずリンクオブジェクトを生成するのか、通常オブジェクトを生成するのかを選択する(ステップS1、以下ステップ略)。通常オブジェクトとは、リンクオブジェクト以外のストローク描画物などのことである。次に、筆記手段が入力部100の入力面の (x,y ) の位置に接地すると(S2)、まずobj[] 配列のオブジェクトの個数を保持するmax を1インクリメントする(S3)。次に、obj[max].nを0に初期化する(S4)。
【0037】
次に、ユーザが筆記手段を入力面上で(x',y' )の位置に移動させたとすると(S5)、筆記手段が入力面から離れたかどうかを判断する(S6)。筆記手段が接地したままの場合(S6、NO)、obj[max].x[obj[max].n]にx'を、obj[max].y[obj[max].n]にy'を代入した後(S7)、obj[max].nを1インクリメントして(S8)、次の筆記手段の移動を検出し(S6)、以後、筆記手段が入力面から離れるまで処理を繰り返す。
筆記手段が入力面から離れたら(S6、yes)、そのオブジェクトがリンクオブジェクトか否かを調べ(S9)、リンクオブジェクトの場合はobj[max].isLink をTrueに(S10)、それ以外の場合はobj[max].isLink をFalse にして(S11)、処理を終了する。
【0038】
次に、形状検出部101の処理について説明する。
形状検出部101では、obj[k]を構成するストロークの自己交差数を検出する(k は0からmax の値をとる任意の変数)。ここで自己交差とは、obj[k]のストロークを構成する座標点を順に結んだ線分同士が交差することを指す。
線分の交差判定処理については、例えば、
http://www.wombat.or.jp/tomoyashuttle/shtml/algorithm/Intersection.htm
に示されている公知の技術を用いるため、詳細な構成説明は省略するが以下に概略を示す。
【0039】
図5に自己交差の例を示す。
まず、通常の線分交差判定処理について説明する。座標点A,B,C,D がある場合、線分ABと線分CDが交差するということは、点A,B を通る直線が線分CDと交差し、かつ、点C,D を通る直線が線分ABと交差していることと考えられる。そこで、直線を境界線として、線分を構成する2つの点が直線に対して両側に存在するとき、即ち、y=dx+eという直線を考えた場合にy-dx-eに対して2つの点の座標値を代入して符号が異なるときに、直線と線分は交差すると考えられる。この処理を直線ABと点C,D 、直線CDと点A,B に対して計算した結果、双方が交差すると判定された場合、線分ABと線分CDが交差すると判定される。
【0040】
このような線分交差判定処理を、obj[k]自身を構成する座標点を結んだ線分間に適用することで、自己交差数scを計算できる。
例えば、i とj が互いに独立に0からobj[k]のストロークの頂点数であるobj[k].nまでの値を取る変数であるとすると、座標点A(obj[k].x[i],obj[k].y[i])、B(obj[k].x[i+1],obj[k].y[i+1])、C(obj[k].x[j],obj[k].y[j])、D(obj[k].x[j+1],obj[k].y[j+1])によって構成される線分AB,CD のうち、i=j 、i=j+1 、j=i+1 の条件を除くすべての場合について、線分の交差を検出する。このとき検出された交差の和を自己交差数とする。
【0041】
図6はオブジェクト検出部102の処理を示すフローチャートである。
オブジェクト検出部102では、リンクオブジェクトとして入力したオブジェクトと、他のオブジェクトとが交差するかどうかを検出し(交差の概念は図7を参照)、交差を検出した場合は、その交差したオブジェクト間にリンク関係があるもの検出する。
図7においては、ストローク10が四角1、三角3、丸2と交差し、五角形6とは交差していない場合を示す。
【0042】
入力部100においてリンクオブジェクト、即ち、obj[max].isLink=Trueとなった場合に図6の処理が行われる。
まず、テンポラリ変数k を0, 真偽値を保持する変数cFlag をFalse,obj[max]のリンクするオブジェクト数obj[max].ln を0にそれぞれ初期化する(S21)。次に、テンポラリ変数iを0に、一時的に交差を検出したオブジェクトの配列のインデックス番号を保持するsrc を-1に初期化した後(S22)、テンポラリ変数jを0に初期化する(S23)。
【0043】
次に順次、テンポラリ変数I,j,k を更新しながら、線分(obj[max].x[i],obj[max].y[i]) - (obj[max].x[i+1],obj[max].y[i+1]) と線分(obj[k].x[j],obj[k].y[j]) - (obj[k].x[j+1],obj[k].y[j+1]) が交差しないかどうかを判断する(S24、S25、S26、S33、S35)。
交差を検出した場合は、cFlag をTrueとして、src にそのときに交差したk の値を代入しておく(S27)。線分交差判定処理については前述の通りであり、ここでは説明を省略する。
【0044】
次に、cFlag=False かどうかを判断し(S28)、Trueの場合にはsrc が−1でないことを判断し(S29)、src が−1でない場合、src が過去に検出されていないかどうかを判断する(S30)。Src が過去に検出されていないかどうかを知るには、既に過去に検出したオブジェクトのインデックス番号を保持するobj[max].larray[] 配列中にsrc の値があるかどうかを照合すればよい。
【0045】
src が過去に検出されていないと判断された場合には、obj[max].larray[obj[max].ln]にsrc の値を代入して、さらに、obj[max].larray[] 配列のインデックス値であるobj[max].ln を1インクリメントする(S31)。
このようにして、obj[k]に関してk を0からmax-1 番目まで探索して、obj[max]のストロークに交差するobj[max]以外のすべてのオブジェクトを検出する(S32、S33)。尚、S28でcFlag=False でない場合は、S34、S35でi=obj[max]. n-1になるまで処理を繰り返す。
【0046】
図8はリンク生成部103の処理を示すフローチャートである。
まず、オブジェクト検出部102において、obj[max].ln が2以上であるかを判断し、2より小さい場合にはただちに処理を終了する(S41)。
obj[max].ln が2以上の場合には、次にテンポラリ変数iを0に初期化する(S42)。次に、s1=obj[max].larray[i] とs2=obj[max].larray[i+1] として、obj[max].larray[] 配列内の検出したオブジェクトの連続したインデックス番号を取得する(S43)。
【0047】
次に、形状検出部101で検出したobj[max]のストロークにおける自己交差数scの数に従って生成するリンクオブジェクトの線種Ltype を決定する(S44)。sc=0の場合は「線分」、sc=1の場合は「矢印(片端)」、sc=2の場合は「矢印(両端)」、その他の場合は「線分」としてLtype を決定する(S45からS50)。次に、線種をLtypに指定する(S51)。
【0048】
次に(obj[s1].x[0],obj[s1].y[0])-(obj[s2].x[0],obj[s2].y[0]) 間にLtypeに指定した線種で線分を描画する(S52)。線種が「線分」の場合は、ob j[s1] とobj[s2] の間に通常の線分を描画する。線種が「矢印(片端)」の場 合は、obj[s1] とobj[s2] の間にobj[s2] 側に矢印のついた線分を描画する。 線種が「矢印(両端)」の場合は、obj[s1] とobj[s2] の間にobj[s1] 側とob j[s2] 側の両端に矢印のついた線分を描画する。
【0049】
次にiがobj[max].ln-1 かどうかを判断し(S53)、iがobj[max].ln-1 でない場合にはiを1インクリメントする(S54)。
以上の処理をiがobj[max].ln-1 になるまで繰り返し行う。
【0050】
図9はリンク生成部103の他の処理を示すフローチャートである。
図9においては、リンクオブジェクトが交差したオブジェクトのうち、始点側に最も近いオブジェクトと、終点側に最も近いオブジェクトとの間にリンク線分を描画する。
【0051】
まずobj[max].ln>=2かどうかを判断して(S61)、obj[max].ln が2より小さい場合には直ちに処理を終了する。それ以外の場合は、次にs1=obj[max].larray[0] ,s2=obj[max].larray[obj[max].ln-1] として(S62)、オブジェクト検出部102において、最初に検出したオブジェクト、即ち、obj[max]の始点(obj[max].x[0],obj[max].y[0])側に最も近傍のオブジェクトのインデックス番号と、最後に検出したオブジェクト、即ち、obj[max]の終点(obj[max].x[obj[max].n] ,obj[max].y[obj[max].n]) 側に最も近傍のオブジェクトのインデックス番号を取得する。
その後の処理は図8のS44からS52と同様であるため詳細な説明は割愛するが、obj[s1] とobj[s2] 間にリンク線分を描画する。
【0052】
図10はリンク生成部103が形状検出部101において検出したリンクオブジェクトの自己交差数に従って線種を変更してリンク線分を描画している様子を示す。
図10(a1)のようにリンクオブジェクトのストロークに自己交差数がない場合は、リンク生成部103は、図10(a2)のようなリンク線分を生成する。
図10(b1)のようにリンクオブジェクトのストロークに自己交差数が一つある場合は、リンク生成部103は、図10(b2)のように片端に矢印を持つようなリンク線分を生成する。
図10(c1)のようにリンクオブジェクトのストロークに自己交差数が二つある場合は、リンク生成部103は、図10(c2)のように両端に矢印を持つようなリンク線分を生成する。
【0053】
図11は図8に示したリンク生成部103の処理と、図9に示したリンク生成部103の他の処理との違いを示す。
図11(a)のようなリンクオブジェクトのストロークを描画すると、図8の処理の場合は、図11(b1)のようにリンクオブジェクトのストロークが交差する各オブジェクト間にリンク線分が生成される。また、図9の処理の場合には、図11(b2)のようにリンクオブジェクトのストロークの始点近傍のオブジェクトと終点近傍のオブジェクトの間にリンク線分が生成される。
【0054】
次に図12を参照して、上述した一連の処理を実行するプログラムをコンピュータにインストールして実行可能な状態とするために用いられる本発明の実施の形態によるプログラム、及びこのプログラムを記録した記録媒体について説明する。
プログラムは、前述した各フローチャートの処理を実行するものである。
【0055】
このプログラムは、例えば図12(a)に示すように、本発明によるリンク生成装置を搭載したユーザインタフェース装置を接続したコンピュータに内蔵されている記録媒体としてのハードディスクに予めインストールした状態で提供できる。
また、プログラムは、図12(b)に示すように、記録媒体に一時的あるいは永続的に格納し、本発明によるリンク生成装置を搭載したユーザインタフェース装置を接続したコンピュータにユニットとして組み込んだり、あるいは着脱式の記録媒体として利用することで、パッケージソフトウェアとして提供できる。
【0056】
上記プログラムを格納する記録媒体としては、図12(c)に示すように、例えばフロッピー(登録商標)ディスク、CD-ROM(Compact Disc Read Only Memory )、MO(Magneto optical )ディスク、DVD (Digital Versatile Disc)、磁気ディスク、半導体メモリなどを利用できる。
また、プログラムは、図12(d)に示すように、ダウンロードサイトから、LAN (Local Area Network)やインターネットといったネットワークを介して、有線または無線により、本発明によるリンク生成装置を搭載したユーザインタフェース装置を接続したコンピュータに転送し、そのコンピュータが内蔵するハードディスクなどにダウンロードさせるようにすることができる。
【0057】
【発明の効果】
以上説明した発明は以下のような効果を奏する。
従来技術では、オブジェクト間にリンク操作を行う場合には、オブジェクトを選択状態にしておいてリンク編集を行うか、あるいは2つのオブジェクトを意図的に選択してリンク操作を行う必要があったが、本発明によれば、リンクオブジェクトのストロークをオブジェクトに交差するように描画してリンクするオブジェクトを検出し、その交差した順にリンク線分を生成できるようになるため、GUI 操作におけるリンク編集操作が簡単になる。
【0058】
また、リンクは線分や矢印付き線分といった様々な視覚的属性を持つため、従来技術では、リンクの線分の線種を別途選択するなどの操作が必要になってしまうが、本発明によれば、リンクオブジェクトのストロークに含まれる自己交差数を検出して、その自己交差数の違いによってリンク線分の線種を同時に指定できるため、線種を別途選択する手間を軽減できるようになる。
【図面の簡単な説明】
【図1】本発明の実施の形態によるリンク生成装置を示すブロック図である。
【図2】リンクの概念を説明するための構成図である。
【図3】ストロークの概念を説明するための構成図である。
【図4】入力部の処理を示すフローチャートである。
【図5】ストロークの自己交差の例を示す構成図である。
【図6】オブジェクト検出部の処理を示すフローチャートである。
【図7】交差の概念を説明するための構成図である。
【図8】リンク生成部の処理を示すフローチャートである。
【図9】リンク生成部の他の処理を示すフローチャートである。
【図10】リンク生成部が自己交差数に応じて色々な線種でリンク線分を描画する様子を示す構成図である。
【図11】リンク生成部の処理の違いによるリンク線分を示す構成図である。
【図12】本発明によるプログラム及び記録媒体を説明するための構成図である。
【符号の説明】
1、7 四角のオブジェクト
2 丸のオブジェクト
3 三角のオブジェクト
4 線分
5 矢印付き線分
6 五角形のオブジェクト
8 曲線の線分
9 点線の線分
10 ストローク
100 入力部
101 形状検出部
102 オブジェクト検出部
103 リンク生成部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a computer graphical user interface (GUI) for calculation, and more particularly to a link generation device suitable for use in a user interface device for editing link information between graphic objects of a computer.
[0002]
[Prior art]
Application software for manipulating graphical objects (hereinafter referred to as objects) visually expressed by the development of graphical user interfaces for computers using input devices such as mice, stylus pens, touch panels, and display devices such as bitmap displays Many have been developed. In these application software, various editing operations are performed by selecting an object clicked with an input device such as a mouse from objects displayed on the display device.
[0003]
In one of the editing operations described above, at least two or more objects are connected by a line segment (or line segment group) or a line segment (or line segment group) with an arrow, and there is some relationship between the objects. There is a "link" edit that you have.
In the link editing operation, since the user needs to perform an operation for selecting a plurality of objects and an operation for further editing the link, improvement in operability as a graphical user interface is desired.
[0004]
As a conventional technique aiming at improving the operability of a graphical user interface, a method has been proposed in which a stroke shape is detected and an object whose stroke intersects is selected (for example, Patent Document 1).
[0005]
[Patent Document 1]
JP-A-10-49700 [0006]
[Problems to be solved by the invention]
However, in the above prior art, a plurality of objects can be selected and the selection state can be changed. However, in order to generate or edit link information between the selected objects, the user needs to add link information separately. Editing operations need to be added, and the operability may become very poor.
In addition, the link information requires information indicating the start point and end point of the link. However, in the conventional technology, since the selection state is excluded without the concept of the start point and end point of the object, it is very difficult to edit the link after selection. It is.
Furthermore, since links have various visual attributes such as line segments and line segments with arrows, the conventional technology requires operations such as selecting the line type of the link line segment in addition to the operations described above. End up.
[0007]
In view of the above-described conventional problems, an object of the present invention is to provide a link generation device, method, program, and recording medium for improving operability when generating or editing link information between objects. It is in.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, a link generation apparatus according to the present invention is a link generation apparatus comprising writing means and an input surface for displaying an object, wherein the writing means is a starting point grounded to the input surface. moving locus on the input surface to the end point away from (hereinafter, stroke) input means for storing each coordinate point sequence of, per coordinate point sequence from the start point of the stroke obtained from said input means to the end point, A detection means for detecting the number of times a line segment connecting two consecutive points in the coordinate point sequence intersects a line segment connecting two consecutive points (hereinafter referred to as the number of self-intersections); was per coordinate point sequence from the start point to the end point of the stroke, and detecting an object that intersects the line segment connecting between two consecutive points of the coordinate point sequence from the start point of the stroke order, and was the detected Obuji And object detecting means for holding the order of extract, between objects detected the order in the object detecting means is continuous, and link generation means for generating a link with line types that are determined based on the self-intersection number Are provided.
[0011]
That is, the invention according to claim 1 is a link generation device comprising writing means and an input surface for displaying an object, wherein the writing means is connected to the input surface and reaches the end point away from the starting point. An input unit that stores each coordinate point sequence of a movement trajectory (hereinafter referred to as a stroke) on the input surface, and a sequence of coordinate point sequences from the start point to the end point of the stroke obtained from the input unit. line segment connecting the two points, the number of times that intersects the line connecting the other two successive points (hereinafter, self-crossing frequency) detection means for detecting the start point of the stroke obtained from said input means from every sequence of coordinate points to the end point, and detects the object that intersects the line segment connecting between two consecutive points of the coordinate point sequence from the start point of the stroke order, and to hold the order of the detected object And object detecting means, and wherein between the object detected the sequence is continuous with the object detecting means, and a link generation means for generating a link with line types that are determined based on the self-intersection number This is a link generation device.
[0012]
According to a second aspect of the present invention, in the first aspect of the invention, the link generation unit further includes an object closest to a start point of the stroke among objects intersecting with the line segment detected by the object detection unit. A link generation device that generates a link with an object closest to an end point of the stroke .
[0013]
According to a third aspect of the present invention, in the first or second aspect of the invention, the link generation means changes a display state of a start point or an end point of the link based on the number of times of self-intersection. Device.
[0014]
The invention according to claim 4 is the link generation device according to any one of claims 1 to 3, wherein the link generation device is used in a user interface device for a computing system .
[0026]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
First, the concept of a link used in this embodiment will be described with reference to FIG.
In FIG. 2A, three objects of a square 1, a circle 2, and a triangle 3 are arranged on the display device. The square 1 and the triangle 3 are a line segment 4, and the square 1 and the circle 2 are a line segment 5 with an arrow. Is tied by
[0027]
By drawing the line segment 4 and the line segment 5 with the arrow between the objects displayed on the display device in this way, a link that visually tells the user that there is some relationship between the objects is linked. It is defined as
A link is a function often found in, for example, chart application software and presentation software.
[0028]
FIG. 2B shows another variation of the link. A link may be a combination of two or more objects such as “square 1 → circle 2 → pentagon 6”. In this case, the square 1 and the circle 2 are connected by the line segment 7, but the portion connecting the circle 2 and the pentagon 6 is not the line segment but the curve 8. In this way, what is visually known to indicate that there is a relationship between objects can also be handled as a link.
[0029]
The square 1 and the triangle 3 are connected by a dotted line segment 9. In this way, not only a simple solid line but also a visual attribute having various visual effect attributes such as a color attribute, a line type, and a line width can be handled as a link.
The present embodiment provides a method for improving operability when generating or editing a link as described above.
[0030]
FIG. 1 is a block diagram showing a configuration of a link generation device mounted on a user interface device according to an embodiment of the present invention.
In FIG. 1, an input unit 100 acquires a coordinate point sequence (hereinafter referred to as a stroke) from a mouse, a stylus pen, a touch panel, or the like. The stroke is a coordinate point obtained by sampling (x, y) coordinate points at a predetermined time interval until a writing means such as a button or a pen of the input unit 100 leaves the state where the input unit 100 is grounded. Is a column. Details of the stroke will be described later.
[0031]
The shape detection unit 101 detects one or more specific shapes formed by the coordinate point sequence from the coordinate point sequence in the stroke acquired by the input unit 100. The object detection unit 102 selects an object when a line segment connecting two consecutive points of the stroke coordinate point sequence forming the shape detected by the shape detection unit 101 is included in or intersects with the object. . The link generation unit 103 generates a link state according to the shape of the stroke detected by the shape detection unit 101 between the objects detected by the object detection unit 102.
[0032]
Next, the concept of stroke will be described with reference to FIG.
The stroke is obtained by sampling a sequence of coordinate points from the 0th to the nth until the writing means moves away from the contact surface after the writing means such as a hand, a pen, or a button has moved from the point where it touches the input surface. For example, the i-th coordinate point can be expressed as (x [i], y [i]) where x is the horizontal direction and y is the vertical direction.
[0033]
For the sake of simplicity, the following description will be made using a structure format format of a C language that is a computer language.
The structure OBJECT representing the data structure of the object can be defined as follows.
typedef struct [
int x [NMAX];
int y [NMAX];
int n;
bool isLink;
int larray [LINKMAX];
int ln;
] OBJECT;
OBJECT obj [OBJMAX];
int max;
[0034]
Here, x [], y [] are horizontal and vertical coordinate points constituting the stroke, and NMAX is a predetermined constant indicating the maximum number of arrays. n is the number of coordinate points of the stroke.
isLink is a variable having a boolean value (true True, false False). If True, the object is a link object, and False indicates an object other than a link.
[0035]
When the object is a link object, larray [] is an array that sequentially holds the index numbers of objects obj [] to which the link object is linked, and LINKMAX is a predetermined constant indicating the maximum number of the array.
1n is a variable for holding the number of objects linked by the link object when the object is a link object.
obj [] is an array having an OBJECT type structure, and OBJMAX is a predetermined constant that holds the maximum number of obj [] arrays. max is a variable that holds the current number of objects.
[0036]
FIG. 4 is a flowchart showing processing of the input unit 100.
The user first selects whether to generate a link object or a normal object (step S1, step abbreviated below). The normal object is a stroke drawing object other than the link object. Next, when the writing means contacts the position (x, y) on the input surface of the input unit 100 (S2), first, max that holds the number of objects in the obj [] array is incremented by 1 (S3). Next, obj [max] .n is initialized to 0 (S4).
[0037]
Next, if the user moves the writing means to the position (x ′, y ′) on the input surface (S5), it is determined whether or not the writing means is separated from the input surface (S6). When the writing means remains grounded (S6, NO), x 'is set to obj [max] .x [obj [max] .n] and y' is set to obj [max] .y [obj [max] .n]. (S7), obj [max] .n is incremented by 1 (S8), the next movement of the writing means is detected (S6), and thereafter the process is repeated until the writing means leaves the input surface.
When the writing means moves away from the input surface (S6, yes), it is checked whether the object is a link object (S9). If it is a link object, obj [max] .isLink is set to True (S10), otherwise Sets obj [max] .isLink to False (S11), and ends the process.
[0038]
Next, processing of the shape detection unit 101 will be described.
The shape detection unit 101 detects the number of self-intersections of strokes constituting obj [k] (k is an arbitrary variable that takes a value from 0 to max). Here, the self-intersection means that the line segments connecting the coordinate points constituting the stroke of obj [k] sequentially intersect.
For the intersection determination processing of line segments, for example,
http://www.wombat.or.jp/tomoyashuttle/shtml/algorithm/Intersection.htm
In order to use the well-known technique shown in Fig. 1, a detailed description of the configuration is omitted, but an outline is given below.
[0039]
FIG. 5 shows an example of self-intersection.
First, normal line segment intersection determination processing will be described. When there are coordinate points A, B, C, and D, the line segment AB and the line segment CD intersect. This means that the straight line passing through the points A and B intersects the line segment CD and passes through the points C and D. It is thought that the straight line intersects with the line segment AB. Therefore, when two points constituting the line segment exist on both sides of the straight line with the straight line as the boundary line, that is, when considering a straight line y = dx + e, it is 2 for y-dx-e. A straight line and a line segment are considered to intersect when the coordinates of two points are substituted and the signs are different. As a result of calculating this process with respect to the straight line AB and the points C and D and the straight line CD and the points A and B, it is determined that the line segment AB and the line segment CD intersect.
[0040]
By applying such line segment intersection determination processing to a line segment connecting coordinate points constituting obj [k] itself, the self-intersection number sc can be calculated.
For example, if i and j are variables that take values from 0 to obj [k] .n, which is the number of vertices of the stroke of obj [k], independently of each other, coordinate point A (obj [k] .x [ i], obj [k] .y [i]), B (obj [k] .x [i + 1], obj [k] .y [i + 1]), C (obj [k] .x [ j], obj [k] .y [j]), D (obj [k] .x [j + 1], obj [k] .y [j + 1]) Among them, the intersection of line segments is detected in all cases except for the conditions i = j, i = j + 1, and j = i + 1. The sum of the intersections detected at this time is taken as the number of self-intersections.
[0041]
FIG. 6 is a flowchart showing the processing of the object detection unit 102.
The object detection unit 102 detects whether or not an object input as a link object and another object intersect (see FIG. 7 for the concept of the intersection), and when an intersection is detected, between the intersected objects Detect links.
FIG. 7 shows a case where the stroke 10 intersects the square 1, the triangle 3, and the circle 2 and does not intersect the pentagon 6.
[0042]
When the input unit 100 is a link object, that is, obj [max] .isLink = True, the process of FIG. 6 is performed.
First, the temporary variable k is initialized to 0, the variable cFlag holding the true / false value is initialized to False, and the number of objects obj [max] .ln linked to obj [max] is initialized to 0 (S21). Next, after initializing the temporary variable i to 0 and src holding the index number of the array of the object that temporarily detected the intersection to −1 (S22), the temporary variable j is initialized to 0 (S23). ).
[0043]
Next, while updating the temporary variables I, j, k sequentially, the line segment (obj [max] .x [i], obj [max] .y [i])-(obj [max] .x [i + 1], obj [max] .y [i + 1]) and line segment (obj [k] .x [j], obj [k] .y [j])-(obj [k] .x [j + 1], obj [k] .y [j + 1]) is judged whether or not they intersect (S24, S25, S26, S33, S35).
When an intersection is detected, cFlag is set to True, and the value of k intersected at that time is substituted for src (S27). The line segment intersection determination process is as described above, and a description thereof is omitted here.
[0044]
Next, it is determined whether cFlag = False (S28). If True, it is determined that src is not -1 (S29). If src is not -1, whether src has not been detected in the past. Is determined (S30). To find out if Src has not been detected in the past, you can check whether there is a value for src in the obj [max] .larray [] array that holds the index numbers of objects that have already been detected in the past. .
[0045]
If it is determined that src has not been detected in the past, assign the value of src to obj [max] .larray [obj [max] .ln], and then add the obj [max] .larray [] array The index value of obj [max] .ln is incremented by 1 (S31).
In this way, k is searched from 0 to max-1 for obj [k], and all objects other than obj [max] that intersect the stroke of obj [max] are detected (S32, S33). If cFlag = False is not satisfied in S28, the process is repeated until i = obj [max] .n-1 in S34 and S35.
[0046]
FIG. 8 is a flowchart showing the processing of the link generation unit 103.
First, the object detection unit 102 determines whether obj [max] .ln is 2 or more. If it is smaller than 2, the processing is immediately terminated (S41).
If obj [max] .ln is 2 or more, then the temporary variable i is initialized to 0 (S42). Next, as s1 = obj [max] .larray [i] and s2 = obj [max] .larray [i + 1], the consecutive index numbers of the detected objects in the obj [max] .larray [] array are Obtain (S43).
[0047]
Next, the line type Ltype of the link object to be generated is determined according to the number of self-intersections sc in the stroke of obj [max] detected by the shape detection unit 101 (S44). Ltype is determined as “line segment” when sc = 0, “arrow (one end)” when sc = 1, “arrow (both ends)” when sc = 2, and “line segment” otherwise. (S45 to S50). Next, the line type is designated as Ltyp (S51).
[0048]
Next, specify Ltype between (obj [s1] .x [0], obj [s1] .y [0])-(obj [s2] .x [0], obj [s2] .y [0]) A line segment is drawn with the line type thus created (S52). When the line type is “line segment”, a normal line segment is drawn between ob j [s1] and obj [s2]. When the line type is “arrow (one end)”, a line segment with an arrow on obj [s2] is drawn between obj [s1] and obj [s2]. When the line type is “arrow (both ends)”, a line segment with arrows on both ends of obj [s1] and ob j [s2] is drawn between obj [s1] and obj [s2].
[0049]
Next, it is determined whether i is obj [max] .ln−1 (S53). If i is not obj [max] .ln−1, i is incremented by 1 (S54).
The above processing is repeated until i becomes obj [max] .ln-1.
[0050]
FIG. 9 is a flowchart showing another process of the link generation unit 103.
In FIG. 9, a link line segment is drawn between an object closest to the start point side and an object closest to the end point side among the objects intersected by the link objects.
[0051]
First, it is determined whether obj [max] .ln> = 2 (S61). If obj [max] .ln is smaller than 2, the process is immediately terminated. In other cases, s1 = obj [max] .larray [0] and s2 = obj [max] .larray [obj [max] .ln-1] are then set (S62). That is, the index number of the object closest to the start point (obj [max] .x [0], obj [max] .y [0]) of obj [max] and the object detected last That is, the index number of the nearest object on the end point of obj [max] (obj [max] .x [obj [max] .n], obj [max] .y [obj [max] .n]) get.
Since the subsequent processing is the same as S44 to S52 in FIG. 8, a detailed description is omitted, but a link line segment is drawn between obj [s1] and obj [s2].
[0052]
FIG. 10 shows a state in which the link generation unit 103 draws the link line segment by changing the line type according to the number of self-intersections of the link object detected by the shape detection unit 101.
When there is no self-intersection number in the stroke of the link object as shown in FIG. 10 (a1), the link generation unit 103 generates a link line segment as shown in FIG. 10 (a2).
When there is one self-intersection number in the stroke of the link object as shown in FIG. 10 (b1), the link generation unit 103 generates a link line segment having an arrow at one end as shown in FIG. 10 (b2). .
When there are two self-intersections in the stroke of the link object as shown in FIG. 10 (c1), the link generation unit 103 generates a link line segment having arrows at both ends as shown in FIG. 10 (c2). .
[0053]
FIG. 11 shows the difference between the processing of the link generation unit 103 shown in FIG. 8 and the other processing of the link generation unit 103 shown in FIG.
When the stroke of the link object as shown in FIG. 11A is drawn, in the case of the process of FIG. 8, a link line segment is generated between each object where the stroke of the link object intersects as shown in FIG. 11B1. . In the case of the process of FIG. 9, a link line segment is generated between an object near the start point and an object near the end point of the stroke of the link object as shown in FIG. 11 (b2).
[0054]
Next, referring to FIG. 12, the program according to the embodiment of the present invention used for installing the program for executing the above-described series of processes in the computer and making it executable, and the recording in which the program is recorded The medium will be described.
The program executes the processing of each flowchart described above.
[0055]
For example, as shown in FIG. 12 (a), this program can be provided in a state of being installed in advance on a hard disk as a recording medium built in a computer connected to a user interface device equipped with a link generation device according to the present invention.
Further, as shown in FIG. 12B, the program is temporarily or permanently stored in a recording medium and incorporated as a unit in a computer connected with a user interface device equipped with a link generation device according to the present invention, or By using it as a detachable recording medium, it can be provided as package software.
[0056]
As the recording medium for storing the program, as shown in FIG. 12C, for example, a floppy (registered trademark) disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical) disk, a DVD (Digital Versatile). Disc), magnetic disk, semiconductor memory, etc. can be used.
Also, as shown in FIG. 12D, the program is a user interface device equipped with a link generation device according to the present invention from a download site via a network such as a LAN (Local Area Network) or the Internet, in a wired or wireless manner. Can be transferred to a connected computer and downloaded to a hard disk or the like built in the computer.
[0057]
【The invention's effect】
The invention described above has the following effects.
In the prior art, when performing a link operation between objects, it is necessary to edit the link while keeping the object in a selected state, or to intentionally select two objects and perform the link operation. According to the present invention, it is possible to detect a linked object by drawing the stroke of the linked object so as to intersect with the object, and to generate a link line segment in the intersected order, so that the link editing operation in the GUI operation is easy. become.
[0058]
In addition, since the link has various visual attributes such as a line segment and a line segment with an arrow, the conventional technique requires an operation such as selecting a line type of the link segment separately. According to this, the number of self-intersections included in the stroke of the link object can be detected, and the line type of the link line segment can be specified at the same time depending on the difference in the number of self-intersections. .
[Brief description of the drawings]
FIG. 1 is a block diagram showing a link generation apparatus according to an embodiment of the present invention.
FIG. 2 is a configuration diagram for explaining a concept of a link.
FIG. 3 is a configuration diagram for explaining a concept of a stroke.
FIG. 4 is a flowchart showing processing of an input unit.
FIG. 5 is a configuration diagram illustrating an example of a self-intersection of strokes.
FIG. 6 is a flowchart showing processing of an object detection unit.
FIG. 7 is a configuration diagram for explaining a concept of intersection.
FIG. 8 is a flowchart showing processing of a link generation unit.
FIG. 9 is a flowchart showing another process of the link generation unit.
FIG. 10 is a configuration diagram illustrating how a link generation unit draws a link line segment with various line types according to the number of self-intersections;
FIG. 11 is a configuration diagram showing a link line segment due to a difference in processing of a link generation unit.
FIG. 12 is a configuration diagram for explaining a program and a recording medium according to the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1, 7 Square object 2 Round object 3 Triangular object 4 Line segment 5 Line segment with arrow 6 Pentagram object 8 Curve line segment 9 Dotted line segment 10 Stroke 100 Input unit 101 Shape detection unit 102 Object detection unit 103 Link generator

Claims (4)

筆記手段と、オブジェクトを表示する入力面と、を備えるリンク生成装置であって、
前記筆記手段が、前記入力面に接地した始点から離れる終点までの前記入力面上での移動軌跡(以下、ストローク)の各座標点列を記憶する入力手段と、
前記入力手段から得られた前記ストロークの始点から終点までの座標点列につき、当該座標点列の連続する 2 点間を結ぶ線分が、他の連続する 2 点間を結ぶ線分と交差する回数(以下、自己交差回数)を検出する検出手段と、
前記入力手段から得られた前記ストロークの始点から終点までの座標点列につき、当該座標点列の連続する 2 点間を結ぶ線分と交差するオブジェクトを前記ストロークの始点から順に検出し、かつ、前記検出されたオブジェクトの前記順を保持するオブジェクト検出手段と、
前記オブジェクト検出手段で検出された前記順が連続するオブジェクト間に、前記自己交差回数に基づいて決定される線種でリンクを生成するリンク生成手段と、
を備えることを特徴とするリンク生成装置。
A link generation device comprising writing means and an input surface for displaying an object,
Input means for storing each coordinate point sequence of a movement trajectory (hereinafter referred to as a stroke) on the input surface from the start point grounded to the input surface to an end point separated from the input surface;
For a coordinate point sequence from the start point to the end point of the stroke obtained from the input means, a line segment connecting two consecutive points of the coordinate point sequence intersects a line segment connecting two other consecutive points. Detecting means for detecting the number of times (hereinafter referred to as the number of self-intersections);
For the coordinate point sequence from the start point to the end point of the stroke obtained from the input means, an object intersecting with a line segment connecting two consecutive points of the coordinate point sequence is detected in order from the start point of the stroke, and Object detection means for maintaining the order of the detected objects;
Link generating means for generating a link with a line type determined based on the number of self-intersections between objects detected in the order detected by the object detecting means;
A link generation device comprising:
前記リンク生成手段はさらに、前記オブジェクト検出手段で検出された前記線分と交差するオブジェクトのうち、前記ストロークの始点に最も近いオブジェクトと前記ストロークの終点に最も近いオブジェクトとの間にリンクを生成することを特徴とする請求項1記載のリンク生成装置。  The link generation means further generates a link between the object closest to the start point of the stroke and the object closest to the end point of the stroke among the objects intersecting with the line segment detected by the object detection means. The link generation device according to claim 1. 前記リンク生成手段は、前記自己交差回数に基づいて、リンクの始点又は終点の表示状態を変更することを特徴とする請求項1又は2記載のリンク生成装置。It said link generating means, on the basis of the self-crossing frequency, according to claim 1 or 2, wherein the link generation device and changes the display state of the start point or end point of the link. 計算システム用のユーザインタフェース装置で用いられることを特徴とする請求項1からのいずれか1項に記載のリンク生成装置。The link generation device according to any one of claims 1 to 3 , wherein the link generation device is used in a user interface device for a computing system.
JP2002274078A 2002-09-19 2002-09-19 Link generator Expired - Fee Related JP4143370B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002274078A JP4143370B2 (en) 2002-09-19 2002-09-19 Link generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002274078A JP4143370B2 (en) 2002-09-19 2002-09-19 Link generator

Publications (2)

Publication Number Publication Date
JP2004110584A JP2004110584A (en) 2004-04-08
JP4143370B2 true JP4143370B2 (en) 2008-09-03

Family

ID=32270651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002274078A Expired - Fee Related JP4143370B2 (en) 2002-09-19 2002-09-19 Link generator

Country Status (1)

Country Link
JP (1) JP4143370B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7543248B2 (en) * 2005-05-31 2009-06-02 Fuji Xerox Co., Ltd. User-machine interface
KR100758288B1 (en) * 2006-02-10 2007-09-13 한국과학기술연구원 Apparatus, system and method for inputting and outputting data based on hand operation
JP5316841B2 (en) * 2008-06-02 2013-10-16 株式会社セガ GAME CONTROL PROGRAM, GAME DEVICE, AND RECORDING MEDIUM
JP5295092B2 (en) * 2009-12-24 2013-09-18 三菱電機株式会社 Touch panel input device
JP7006198B2 (en) * 2017-12-01 2022-01-24 富士フイルムビジネスイノベーション株式会社 Information processing equipment, information processing systems and programs

Also Published As

Publication number Publication date
JP2004110584A (en) 2004-04-08

Similar Documents

Publication Publication Date Title
JP4028031B2 (en) Method for transforming curve of arbitrary shape link and method for maintaining topology of node link diagram
CN108399010B (en) Enhanced camera-based input
US20190114054A1 (en) Creating a display pattern for multiple data-bound graphic objects
US20120281016A1 (en) Information processing apparatus and method
US20140109044A1 (en) Multi-Touch Editing in a Graphical Programming Language
JP2014516445A (en) Compact control menu for touch-enabled command execution
JPWO2003015032A1 (en) Graphics image generating apparatus, method and program thereof
JP2011257923A (en) Display controller, display control method, display control program and recording medium recorded with the display control program
US10613725B2 (en) Fixing spaced relationships between graphic objects
US10475223B2 (en) Generating multiple data-bound graphic objects
JP3186241B2 (en) Figure editing device
JP4143370B2 (en) Link generator
JP3007232B2 (en) Drawing processing apparatus and method
JP2904673B2 (en) Image creation device
JP2024025829A (en) Information processing apparatus, information processing method, and program
KR20140136446A (en) Interactive control of the curvature of links
JP3357760B2 (en) Character / graphic input editing device
US11132821B1 (en) Providing graphical user interface tools for efficiently selecting handles in vector artwork on touch-based devices
KR20070113017A (en) Touch screen apparatus and selecting method of file
JP2001209816A5 (en)
US11023110B2 (en) Creating an axis for data-bound objects
JP4094706B2 (en) Computer controlled display system
JP4774911B2 (en) Drawing processing program, recording medium recording the drawing processing program, drawing processing method, and drawing processing system
KR20180037155A (en) Method and apparatus of controlling display using control pad, and server that distributes computer program for executing the method
JP2972560B2 (en) Display control method for tabular data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080421

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080501

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080616

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4143370

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees