(57)【要約】【課題】手描き線の延長及び少なくとも一部の消去をより直感的且つ簡便に実行する。【解決手段】描画装置が、入力部と、第１ベクトル算出部と、第２ベクトル算出部と、表示制御部と、を備える。入力部はユーザ入力を受け付ける。第１ベクトル算出部は、ユーザ入力に基づいて、表示部に表示された手描き線の一方の端点を始点とする第１ベクトルを算出する。第２ベクトル算出部は、一方の端点近傍における手描き線の形状に基づいて、一方の端点を始点とする第２ベクトルを算出する。表示制御部は、第１及び第２ベクトルに基づいて、一方の端点を始点として手描き線を延長するか少なくとも一部を消去するかを判定するとともに、ユーザ入力に基づいて手描き線の延長又は少なくとも一部の消去を行う。【選択図】図３
2014203351.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ入力を受け付ける入力部と、
前記ユーザ入力に基づいて、表示部に表示された手描き線の一方の端点を始点とする第１ベクトルを算出する第１ベクトル算出部と、
前記一方の端点近傍における前記手描き線の形状に基づいて、前記一方の端点を前記始点とする第２ベクトルを算出する第２ベクトル算出部と、
第１及び第２ベクトルに基づいて、前記一方の端点を始点として前記手描き線を延長するか少なくとも一部を消去するかを判定するとともに、前記ユーザ入力に基づいて前記手描き線の延長又は少なくとも一部の消去を行う表示制御部と、
を備えることを特徴とする描画装置。
【請求項２】
前記表示制御部は、
第１及び第２ベクトルが成す角度が予め定められた閾値より大きいと、前記手描き線を延長し、
第１及び第２ベクトルが成す前記角度が前記閾値以下であると、前記手描き線の少なくとも一部を消去することを特徴とする請求項１に記載の描画装置。
【請求項３】
前記一方の端点を始点として前記手描き線の延長又は少なくとも一部の消去を行うためのベクトル方向を示す補助表示を前記表示部に表示させる補助表示制御部をさらに備えることを特徴とする請求項１または請求項２に記載の描画装置。
【請求項４】
ユーザ入力に基づいて、表示部に表示された手描き線の一方の端点を始点とする第１ベクトルを算出するステップと、
前記一方の端点近傍における前記手描き線の形状に基づいて、前記一方の端点を前記始点とする第２ベクトルを算出するステップと、
第１及び第２ベクトルに基づいて、前記一方の端点を始点として前記手描き線を延長するか少なくとも一部を消去するかを判定するステップと、
前記ユーザ入力に基づいて前記手描き線の延長又は少なくとも一部の消去を行うステップと、
を備えることを特徴とする描画方法。
【請求項５】
ユーザ入力に基づいて、表示部に表示された手描き線の一方の端点を始点とする第１ベクトルを算出するステップと、
前記一方の端点近傍における前記手描き線の形状に基づいて、前記一方の端点を前記始点とする第２ベクトルを算出するステップと、
第１及び第２ベクトルに基づいて、前記一方の端点を始点として前記手描き線を延長するか少なくとも一部を消去するかを判定するステップと、
前記ユーザ入力に基づいて前記手描き線の延長又は少なくとも一部の消去を行うステップと、
をコンピュータに実行させることを特徴とする描画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画装置、描画方法、及び描画プログラムに関する。
【背景技術】
【０００２】
従来、ＣＡＤ等の図形の描画及び編集が可能な図形描画システムが知られている。この図形描画システムでは、ベジェ曲線などの近似曲線を用いて、フリーハンド（手描き）線を描画することができる。また、描画したフリーハンド線を編集する際には、ベジェ曲線の各制御点を操作して既存のフリーハンド線を変形させる方法が知られている。たとえば、フリーハンド線をさらに延長させたい場合、特許文献１では、マウスのシングルクリックにより入力した各制御点間をベジェ曲線で連結している。
【０００３】
このほか、描画したフリーハンド線を編集する際に、フリーハンド線自体を一旦消去して、書き直す方法も知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１８７７３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の描画システムでは、フリーハンド線を延長又は部分消去する際、フリーハンド線を延長するモードとフリーハンド線を消去するモードとを別途選択する必要がある。そのため、フリーハンド線の編集に手間がかかるという問題があった。このような問題に対し、特許文献１は何ら言及していない。
【０００６】
本発明は、このような状況を鑑みてなされたものであり、手描き線の延長及び少なくとも一部の消去をより直感的且つ簡便に実行することができる描画装置、描画方法、および描画プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の一の局面による描画装置は、ユーザ入力を受け付ける入力部と、ユーザ入力に基づいて、表示部に表示された手描き線の一方の端点を始点とする第１ベクトルを算出する第１ベクトル算出部と、一方の端点近傍における手描き線の形状に基づいて、一方の端点を始点とする第２ベクトルを算出する第２ベクトル算出部と、第１及び第２ベクトルに基づいて、一方の端点を始点として手描き線を延長するか少なくとも一部を消去するかを判定するとともに、ユーザ入力に基づいて手描き線の延長又は少なくとも一部の消去を行う表示制御部と、を備える。
【０００８】
上記構成によれば、ユーザ入力に基づく第１ベクトル、及び、一方の端点近傍における手描き線の形状に基づく第２ベクトルに基づいて、手描き線の一方の端点を始点として手描き線を延長するか少なくとも一部を消去するかを判定する。また、第１ベクトルを算出する際のユーザ入力に基づいて手描き線の延長又は少なくとも一部の消去を行う。そのため、手描き線の延長又は少なくとも一部の消去を行う際、両者のうちの一方を選択するために新たなユーザ入力をする必要がない。従って、たとえば手描き線の描画中に線の途切れやはねなどの書き損じがあった場合でも、手描き線の延長及び少なくとも一部の消去をより直感的且つ簡便に実行することができる。
【０００９】
上記構成の描画装置において、表示制御部は、第１及び第２ベクトルが成す角度が予め定められた閾値より大きいと、手描き線を延長し、第１及び第２ベクトルが成す角度が閾値以下であると、手描き線の少なくとも一部を消去してもよい。
【００１０】
この構成によれば、第１ベクトルの方向が第２ベクトルの方向と予め定められた閾値よりも大きく異なっていれば、手描き線を延長することができる。一方、第１ベクトルの方向が閾値以内の誤差で第２ベクトルの方向と同じであれば、手描き線の少なくとも一部を消去することができる。
【００１１】
また、上記構成の描画装置において、一方の端点を始点として手描き線の延長又は少なくとも一部の消去を行うためのベクトル方向を示す補助表示を表示部に表示させる補助表示制御部をさらに備えていてもよい。
【００１２】
この構成によれば、手描き線の延長又は少なくとも一部の消去を行うためのベクトル方向をユーザに視覚的に提示することができる。
【００１３】
また、上記目的を達成するために、本発明の一の局面による描画方法は、ユーザ入力に基づいて、表示部に表示された手描き線の一方の端点を始点とする第１ベクトルを算出するステップと、一方の端点近傍における手描き線の形状に基づいて、一方の端点を始点とする第２ベクトルを算出するステップと、第１及び第２ベクトルに基づいて、一方の端点を始点として手描き線を延長するか少なくとも一部を消去するかを判定するステップと、ユーザ入力に基づいて手描き線の延長又は少なくとも一部の消去を行うステップと、を備える。
【００１４】
上記構成によれば、ユーザ入力に基づく第１ベクトル、及び、一方の端点近傍における手描き線の形状に基づく第２ベクトルに基づいて、手描き線の一方の端点を始点として手描き線を延長するか少なくとも一部を消去するかを判定する。また、第１ベクトルを算出する際のユーザ入力に基づいて手描き線の延長又は少なくとも一部の消去を行う。そのため、手描き線の延長又は少なくとも一部の消去を行う際、両者のうちの一方を選択するために新たなユーザ入力をする必要がない。従って、たとえば手描き線の描画中に線の途切れやはねなどの書き損じがあった場合でも、手描き線の延長及び少なくとも一部の消去をより直感的且つ簡便に実行することができる。
【００１５】
また、上記目的を達成するために、本発明の一の局面による描画プログラムは、ユーザ入力に基づいて、表示部に表示された手描き線の一方の端点を始点とする第１ベクトルを算出するステップと、一方の端点近傍における手描き線の形状に基づいて、一方の端点を始点とする第２ベクトルを算出するステップと、第１及び第２ベクトルに基づいて、一方の端点を始点として手描き線を延長するか少なくとも一部を消去するかを判定するステップと、ユーザ入力に基づいて手描き線の延長又は少なくとも一部の消去を行うステップと、をコンピュータに実行させる。
【００１６】
上記構成によれば、ユーザ入力に基づく第１ベクトル、及び、一方の端点近傍における手描き線の形状に基づく第２ベクトルに基づいて、手描き線の一方の端点を始点として手描き線を延長するか少なくとも一部を消去するかを判定する。また、第１ベクトルを算出する際のユーザ入力に基づいて手描き線の延長又は少なくとも一部の消去を行う。そのため、手描き線の延長又は少なくとも一部の消去を行う際、両者のうちの一方を選択するために新たなユーザ入力をする必要がない。従って、たとえば手描き線の描画中に線の途切れやはねなどの書き損じがあった場合でも、手描き線の延長及び少なくとも一部の消去をより直感的且つ簡便に実行することができる。
【発明の効果】
【００１７】
本発明によれば、手描き線の延長及び少なくとも一部の消去をより直感的且つ簡便に実行することができる描画装置、描画方法、および描画プログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】タブレット端末の外観斜視図である。
【図２】第１実施形態に係るタブレット端末の内部構成を示すブロック図である。
【図３】フリーハンド線を延長又は部分消去する方法を説明するためのフローチャートである。
【図４Ａ】描画されたフリーハンド線の表示画面である。
【図４Ｂ】第１実施形態においてフリーハンド線が選択される際の表示画面である。
【図４Ｃ】第１実施形態においてインジケータが選択される際の表示画面である。
【図４Ｄ】フリーハンド線が部分消去される際の表示画面である。
【図４Ｅ】フリーハンド線が延長される際の表示画面である。
【図５】フリーハンド線の始点近傍における線ベクトルを求める方法の一例を説明するための図である。
【図６Ａ】複雑に描画されたフリーハンド線の一例を示す図である。
【図６Ｂ】第２実施形態においてフリーハンド線が選択される際の表示画面である。
【図７】第２実施形態に係るタブレット端末の内部構成を示すブロック図である。
【図８】第３実施形態においてインジケータが選択される際の表示画面である。
【図９】インジケータの他の表示例を示す図である。
【図１０】ガイド表示の他の表示例を示す図である。
【発明を実施するための形態】
【００１９】
以下に、図面を参照して、本発明の実施形態について、タブレット端末を例に挙げて説明する。
＜第１実施形態＞
【００２０】
図１は、タブレット端末の外観斜視図である。図２は、タブレット端末の内部構成を示すブロック図である。図１及び図２に示すように、タブレット端末１は、タッチパネル１０と、メモリ１１と、ＣＰＵ１２と、を備える。このほか、タブレット端末１は、ＣＰＵ１２から出力される音声出力信号などに基づく音声を出力するスピーカなどの音声出力部を備えていてもよい。
【００２１】
タッチパネル１０は、ユーザが指又はタッチペンなどの物体Ｕで表示画面１００に触れることにより、タッチ入力を行うことができる表示入力部である。このタッチパネル１０は、液晶ディスプレイ１０ａと、入力検知部１０ｂと、を含んで構成されている。液晶ディスプレイ１０ａは、ＣＰＵ１２から出力される制御信号及び映像信号などに基づく表示を行う表示部である。入力検知部１０ｂは、タッチパネル１０の表示画面１００に触れた物体Ｕ（たとえばユーザの指又はタッチペンなど）の挙動に基づくタッチ入力による入力操作を検知する入力部である。このタッチ入力はユーザ入力の一例である。たとえば、ユーザの指Ｕがタッチパネル１０の表示画面１００に触れると、入力検知部１０ｂは、表示画面１００上における指Ｕの接触位置を検知する。さらに、ユーザの指Ｕが表示画面１００に触れたまま表示画面１００上を動く（なぞる）とき、入力検知部１０ｂは、指Ｕがなぞった軌跡を示す表示画面１００上の接触位置を検知する。
【００２２】
メモリ１１は、不揮発性の記憶媒体であり、タッチパネル１０の表示情報、及び、タブレット端末１が備える各部（たとえばＣＰＵ１２など）で用いられるプログラム及び制御情報などを格納している。このプログラムには、フリーハンド線Ｌ（手描き線）を延長及び部分消去する後述の処理を実行するための描画プログラムを含んでいる。また、制御情報は、後述する第１及び第２閾値Ｗ１及びＷ２を示す情報、第１及び第２角度閾値θａ及びθｂを示す情報などを含んでいる。
【００２３】
ＣＰＵ１２は、タブレット端末１の各部を制御する制御部である。ＣＰＵ１２は、メモリ１１に格納されているプログラム及び制御情報などを用いて、様々な機能を発揮する。たとえば、ＣＰＵ１２の機能部は、図形選択部１２１、始点設定部１２２、ユーザベクトル算出部１２３、線ベクトル算出部１２４、モード選択部１２５、及び表示制御部１２６を含んで構成されている。
【００２４】
図形選択部１２１は、タッチパネル１０の表示画面１００に表示されている図形のうちから、タッチ入力により特定される図形を選択する。たとえば、タッチパネル１０に表示されているフリーハンド線Ｌがタッチ入力により特定されると、図形選択部１２１はそのフリーハンド線Ｌを図形の編集を実行する対象として選択する。
【００２５】
始点設定部１２２は、フリーハンド線Ｌの一方の端点ＥＰ１又はＥＰ２を特定するタッチ入力に基づいて、その一方の端点ＥＰ１又はＥＰ２を編集（延長、少なくとも一部の消去）の始点Ｐ０に設定する。
【００２６】
ユーザベクトル算出部１２３は、タッチパネル１０をなぞるタッチ入力の軌跡に基づいて、ユーザベクトルを算出する第１ベクトル算出部である。このユーザベクトルは、タッチ入力により特定されるフリーハンド線Ｌの一方の端点ＥＰ１又はＥＰ２を始点Ｐ０とする第１ベクトルであり、タッチ入力の動き方向を示している。
【００２７】
線ベクトル算出部１２４は、各端点ＥＰ１、ＥＰ２近傍におけるフリーハンド線Ｌの形状に基づいて、線ベクトルを算出する第２ベクトル算出部である。この線ベクトルは、タッチ入力により特定されるフリーハンド線Ｌの各端点ＥＰ１、ＥＰ２を始点Ｐ０とする第２ベクトルであり、各端点ＥＰ１、ＥＰ２近傍におけるフリーハンド線Ｌの描画方向を示している。
【００２８】
モード選択部１２５は、たとえばユーザベクトル及び線ベクトルなどに基づいて、延長モード及び部分消去モードのうちのいずれかを選択して、フリーハンド線Ｌの編集モードに設定する。延長モードは、タッチ入力の軌跡に基づいて、フリーハンド線Ｌを始点Ｐ０から延長するための編集モードである。延長モードでは、タッチパネル１０をなぞるタッチ入力の軌跡に応じた形状及び長さの線が、始点Ｐ０（すなわちフリーハンド線Ｌの一方の端点ＥＰ１又はＥＰ２）から延長して表示される。また、部分消去モードは、タッチ入力の軌跡に基づいて、フリーハンド線Ｌの少なくとも一部の表示を消去するための編集モードである。部分消去モードでは、始点Ｐ０からフリーハンド線Ｌに沿って、タッチパネル１０をなぞるタッチ入力の軌跡に応じた長さまでの部分の表示が消去される。なお、部分消去モードにおいて、タッチパネル１０をなぞるタッチ入力の軌跡の長さがフリーハンド線Ｌの全長に対応する場合には、フリーハンド線Ｌが全て消去される。
【００２９】
表示制御部１２６は、タッチパネル１０（特に液晶ディスプレイ１０ａの表示）を制御している。特に、表示制御部１２６は、タッチパネル１０の入力検知部１０ｂが検知するタッチ入力に基づく表示を液晶ディスプレイ１０ａに行わせる。たとえば、表示制御部１２６は、ユーザベクトル及び線ベクトルに基づいて、一方の端点ＥＰ１又はＥＰ２を始点Ｐ０としてフリーハンド線Ｌを延長するか少なくとも一部を消去するかを判定する。さらに、表示制御部１２６は、タッチパネル１０をなぞるタッチ入力の軌跡に基づいてフリーハンド線Ｌの延長又は少なくとも一部の消去を行う。
【００３０】
次に、タブレット端末１におけるフリーハンド線Ｌの編集方法（描画方法）の一例について詳細に説明する。なお、以下では、ユーザがタッチパネル１０の表示画面１００上に触れたりなぞったりなどするタッチ入力により、入力操作（ユーザ入力）が行われる。図３は、フリーハンド線を延長又は部分消去する方法を説明するためのフローチャートである。また、図４Ａ〜図４Ｅは、フリーハンド線Ｌの編集過程における各表示画面１００を示す。図４Ａは、描画されたフリーハンド線の表示画面である。図４Ｂは、第１実施形態においてフリーハンド線が選択される際の表示画面である。図４Ｃは、第１実施形態においてインジケータが選択される際の表示画面である。図４Ｄは、フリーハンド線の部分消去される際の表示画面である。図４Ｅは、フリーハンド線が延長される際の表示画面である。
【００３１】
まず、タッチ入力によりたとえば描画用アイコン（不図示）などが選択されると、描画アプリケーション（描画プログラム）が起動される（ステップＳ１０１）。そして、ユーザの指Ｕのタッチ入力によってタッチパネル１０がなぞられると、フリーハンド線Ｌが描画される（ステップＳ１０２）。このタッチ入力により、図４Ａに示すように、ユーザの指Ｕが離れるまでなぞられた軌跡に対応する形状のフリーハンド線Ｌが表示画面１００に表示される。
【００３２】
次に、ユーザの指Ｕのタッチ入力により既に表示されているフリーハンド線Ｌの表示位置が触れられると、そのフリーハンド線Ｌが図形編集の対象として選択される（ステップＳ１０３）。そして、図４Ｂに示すように、選択されたフリーハンド線Ｌの両端ＥＰ１、ＥＰ２（図４Ａ参照）の各表示位置上にインジケータｉ１、ｉ２が表示される（ステップＳ１０４）。
【００３３】
図４Ｃのように、タッチ入力により一方のインジケータｉ２が選択されると（ステップＳ１０５でＹＥＳ）、そのインジケータｉ２に対応する一方の端点ＥＰ２がフリーハンド線Ｌの延長又は部分消去する部分の始点Ｐ０として設定される（ステップＳ１０６）。
【００３４】
次に、フリーハンド線Ｌが点であるか否かが判定される（ステップＳ１０７）。点であると判定されると（ステップＳ１０７でＹＥＳ）、モード選択部１２５はフリーハンド線Ｌの少なくとも一部を消去するための部分消去モードの選択及び設定ができなくなる。そして、タッチパネル１０をなぞるタッチ入力の軌跡の長さが第１閾値Ｗ１以上であるか否かが判定される（ステップＳ１０８）。第１閾値Ｗ１未満であると判定されると（ステップ１０８でＮＯ）、タッチ入力が終了したか否か（たとえば、ユーザの指Ｕがタッチパネル１０から離れたか否か）が判定される（ステップＳ１０９）。タッチ入力が終了していないと判断されると（ステップＳ１０９でＮＯ）、ユーザのタッチ入力は継続していると判断して、処理はステップＳ１０８に戻される。タッチ入力が終了していると判断されると（ステップＳ１０９でＹＥＳ）、フリーハンド線Ｌの編集が終了したと判断され、処理が終了する。
【００３５】
第１閾値Ｗ１以上であると判定されると（ステップ１０８でＹＥＳ）、フリーハンド線Ｌを始点Ｐ０（ステップＳ１０６で設定された一方の端点ＥＰ２）から延長するための延長モードが設定される（ステップＳ１１０）。そして、ユーザのタッチ入力の軌跡の形状及び長さに応じて、フリーハンド線Ｌが始点Ｐ０から延長される（ステップＳ１１１）。そして、タッチ入力が終了したか否か（たとえば、ユーザの指Ｕがタッチパネル１０から離れたか否か）が判定される（ステップＳ１１２）。タッチ入力が終了していないと判断されると（ステップＳ１１２でＮＯ）、ユーザのタッチ入力は継続していると判断して、処理はステップＳ１１１に戻される。タッチ入力が終了していると判断されると（ステップＳ１１１でＹＥＳ）、フリーハンド線Ｌの延長を確定する。言い換えると、延長モード処理後のフリーハンド線Ｌは、始点Ｐ０（ステップＳ１０６にて選択された一方の端点ＥＰ２）から新たに延長された部分を結合し、新たな１つのフリーハンド線とされる。そして、処理が終了する。
【００３６】
また、ステップＳ１０７において、フリーハンド線Ｌが点ではないと判定されると（ステップＳ１０７でＮＯ）、始点Ｐ０近傍におけるフリーハンド線Ｌの線ベクトル（特にその方向）が求められる。なお、線ベクトルの算出方法については、後に図５を参照して詳述する。まず、表示画面１００上において、形状に沿ったフリーハンド線Ｌの長さが予め定められた第２閾値Ｗ２（たとえば５．０ｍｍ）以上であるか否かが判定される（ステップＳ１１３）。
【００３７】
第２閾値Ｗ２未満であると判定されると（ステップＳ１１３でＮＯ）、フリーハンド線Ｌの両端点ＥＰ１、ＥＰ２間における線ベクトルが算出される（ステップＳ１１４）。すなわち、フリーハンド線Ｌ全体が始点Ｐ０近傍の部分となる。そして、処理はステップＳ１１８に進む。
【００３８】
一方、第２閾値Ｗ２以上であると判定されると（ステップＳ１１３でＹＥＳ）、始点Ｐ０からフリーハンド線Ｌに沿って第２閾値Ｗ２以内の部分において、フリーハンド線Ｌに急激な方向の変化があるか否かが判定される（ステップＳ１１５）。たとえば、後述するように、第２閾値Ｗ２以内の部分を複数の区間に区切り、各区間での部分ベクトルが、基準ベクトルＢＶに対して、予め定められた第１角度閾値θａ（たとえば±１５°）よりも大きい急激な変化をするか否かが判定される（後述の図５参照）。
【００３９】
第１角度閾値θａよりも大きい急激な変化をすると判定されると（ステップＳ１１５でＹＥＳ）、始点Ｐ０から急激な変化が生じていない点までの部分における線ベクトルが算出される（ステップＳ１１６）。たとえば、基準ベクトルＢＶと、部分ベクトルの変化が第１角度閾値θａを越えない区間までの部分ベクトルとに基づいて、ベクトル平均が算出される。そして、算出されたベクトル平均が始点Ｐ０近傍におけるフリーハンド線Ｌの線ベクトルとして設定される（後述の図５参照）。そして、処理はステップＳ１１８に進む。
【００４０】
一方、第１角度閾値θａよりも大きい急激な変化をしないと判定されると（ステップＳ１１５でＮＯ）、始点Ｐ０からフリーハンド線Ｌに沿って第２閾値Ｗ２以内の部分における線ベクトルが算出される（ステップＳ１１７）。たとえば、基準ベクトルＢＶ及び各区間の部分ベクトルに基づいて、ベクトル平均が算出される。算出されたベクトル平均が始点Ｐ０近傍におけるフリーハンド線Ｌの線ベクトルとして設定される。そして、処理はステップＳ１１８に進む。
【００４１】
次に、ステップＳ１１８では、タッチパネル１０をなぞるタッチ入力の軌跡の長さが第１閾値Ｗ１以上であるか否かが判定される。第１閾値Ｗ１未満であると判定されると（ステップ１１８でＮＯ）、タッチ入力が終了したか否か（たとえば、ユーザの指Ｕがタッチパネル１０から離れたか否か）が判定される（ステップＳ１１９）。タッチ入力が終了していないと判断されると（ステップＳ１１９でＮＯ）、ユーザのタッチ入力は継続していると判断して、処理はステップＳ１１８に戻される。タッチ入力が終了していると判断されると（ステップＳ１１９でＹＥＳ）、フリーハンド線Ｌの編集が終了したと判断され、処理が終了する。
【００４２】
一方、第１閾値Ｗ１以上の距離を動いたと判定されると（ステップ１１８でＹＥＳ）、タッチ入力がなぞった軌跡のユーザベクトル（動き方向）が算出される（ステップＳ１２０）。なお、軌跡のユーザベクトルは、たとえばステップＳ１１４〜Ｓ１１７（及び後述する図５）と同様にして、算出することができる。そして、タッチ入力の軌跡のユーザベクトルが、フリーハンド線Ｌの始点Ｐ０近傍における線ベクトルと第２角度閾値θｂ（たとえば±１５°）よりも大きく異なっているか否かが判定される。（ステップＳ１２１）。
【００４３】
第２角度閾値θｂよりも大きく異なっていないと判定されると（ステップＳ１２１でＮＯ）、部分消去モードが設定される（ステップＳ１２２）。そして、図４Ｄに示すように、始点Ｐ０から、ユーザの指Ｕのタッチ入力の軌跡の長さに応じた部分（破線の部分）が消去される（ステップＳ１２３）。次に、タッチ入力が終了したか否か（たとえば、ユーザの指Ｕがタッチパネル１０から離れたか否か）が判定される（ステップＳ１２４）。タッチ入力が終了していない場合（ステップＳ１２４でＮＯ）、タッチ入力によるフリーハンド線Ｌの部分消去は継続していると判断して、処理はステップＳ１２３に戻される。タッチ入力が終了している場合（ステップＳ１２４でＹＥＳ）、フリーハンド線Ｌの消去を確定する。言い換えると、部分消去モード処理後のフリーハンド線Ｌは、始点Ｐ０からフリーハンド線Ｌの形状に沿ってタッチ入力の軌跡の長さに対応する部分（図４Ｄの破線の部分）が消去されたフリーハンド線Ｌとされる。そして、処理が終了する。
【００４４】
また、第２角度閾値θｂよりも大きく異なっていると判定されると（ステップＳ１２１でＹＥＳ）、延長モードが設定される（ステップＳ１２５）。そして、図４Ｅに示すように、ユーザの指Ｕのタッチ入力の軌跡の形状及び長さに応じた新たなフリーハンド線が、始点Ｐ０から延長される（ステップＳ１２６）。次に、タッチ入力が終了したか否か（たとえば、ユーザの指Ｕがタッチパネル１０から離れたか否か）が判定される（ステップＳ１２７）。タッチ入力が終了していない場合（ステップＳ１２７でＮＯ）、タッチ入力によるフリーハンド線Ｌの延長は継続していると判断して、処理はステップＳ１２６に戻される。タッチ入力が終了している場合（ステップＳ１２７でＹＥＳ）、フリーハンド線Ｌの延長を確定する。言い換えると、延長モード処理後のフリーハンド線Ｌは、始点Ｐ０（ステップＳ１０６にて選択された一方の端点ＥＰ２）から新たに延長された部分を結合し、新たな１つのフリーハンド線とされる。そして、処理が終了する。
【００４５】
次に、線ベクトル及びユーザベクトルを算出する方法について、フリーハンド線Ｌの始点Ｐ０近傍における線ベクトルの算出方法を例として説明する。なお、前述のように、この算出方法は、タッチパネル１０をなぞるタッチ入力の軌道のユーザベクトルを算出する際にも用いることができる。図５は、フリーハンド線の始点近傍における線ベクトルを求める方法の一例を説明するための図である。なお、図５では、フリーハンド線Ｌの右側の端点ＥＰ２（図４Ａ参照）が始点Ｐ０として設定されている。
【００４６】
図５に示すように、フリーハンド線Ｌ上には、始点Ｐ０からフリーハンド線Ｌの形状に沿って第２閾値Ｗ２と同じ長さ離れた位置にある閾点ＳＰまでの部分において、所定の間隔毎に並ぶ複数の制御点Ｐ１〜Ｐ４がフリーハンド線Ｌ上に設定される。なお、図５では、４つの制御点Ｐ１〜Ｐ４を設定しているが、フリーハンド線Ｌの線ベクトルを求めるための制御点は、始点Ｐ０及び閾点ＳＰを含めて２つ以上設定されていればよい。また、図５では、始点Ｐ０、各制御点Ｐ１〜Ｐ４、及び閾点ＳＰをフリーハンド線Ｌに沿って等間隔に設定しているが、各間隔は異なっていてもよい。
【００４７】
次に、各区間における基準ベクトルＢＶ及び第１〜第４部分ベクトルＶ１〜Ｖ４が求められる。基準ベクトルＢＶは、始点Ｐ０からその隣に並ぶ制御点Ｐ１に向かうベクトルである。また、第１〜第４部分ベクトルＶ１〜Ｖ４は、各区間において、始点Ｐ０に近い側の点から遠い側の点に向かうベクトルである。たとえば、第１部分ベクトルＶ１は制御点Ｐ１から制御点Ｐ２に向かっており、第２部分ベクトルＶ２は制御点Ｐ２から制御点Ｐ３に向かっており、第３部分ベクトルＶ３は制御点Ｐ３から制御点Ｐ４に向かっている。また、第４部分ベクトルＶ４は制御点Ｐ４から閾点ＳＰに向かっている。
【００４８】
第１〜第４部分ベクトルＶ１〜Ｖ４の方向は、第１部分ベクトルＶ１から順に、基準ベクトルＢＶの方向と比較される。さらに、第１部分ベクトルＶ１から、基準ベクトルＢＶに対する方向の角度変化が第１角度閾値θａ未満である部分ベクトルまでのベクトル平均が求められる。そして、ベクトル平均が始点Ｐ０近傍におけるフリーハンド線Ｌの線ベクトルとされる。たとえば、図５では、基準ベクトルＢＶに対して、第１〜第３部分ベクトルＶ１〜Ｖ３の方向（角度）変化量θ１〜θ３は第１角度閾値θａ未満であるが、第４部分ベクトルの方向（角度）変化量θ４は第１角度閾値θａよりも大きくなっている。そのため、基準ベクトルＢＶ及び第１〜第３部分ベクトルＶ１〜Ｖ３から求めたベクトル平均が、始点Ｐ０近傍におけるフリーハンド線Ｌの線ベクトルとして設定される。なお、図５とは異なり、第１〜第４部分ベクトルＶ１〜Ｖ４の方向（角度）変化量θ１〜θ４が第１角度閾値θａ未満であれば、ベクトル平均は基準ベクトルＢＶ及び第１〜第４部分ベクトルＶ１〜Ｖ４から求められる。
【００４９】
以上、第１実施形態を説明した。第１実施形態のタブレット端末１は、入力検知部１０ｂと、ユーザベクトル算出部１２３と、線ベクトル算出部１２４と、表示制御部１２６と、を備える。入力検知部１０ｂはタッチ入力を受け付ける。ユーザベクトル算出部１２３は、タッチ入力に基づいて、タッチパネル１０の液晶ディスプレイ１０ａに表示されたフリーハンド線Ｌの一方の端点ＥＰ１又はＥＰ２を始点Ｐ０とするユーザベクトルを算出する。線ベクトル算出部１２４は、一方の端点ＥＰ１又はＥＰ２近傍におけるフリーハンド線Ｌの形状に基づいて、一方の端点ＥＰ１又はＥＰ２を始点Ｐ０とする線ベクトルを算出する。表示制御部１２６は、ユーザベクトル及び線ベクトルに基づいて、一方の端点ＥＰ１又はＥＰ２を始点Ｐ０としてフリーハンド線Ｌを延長するか少なくとも一部を消去するかを判定する。さらに、表示制御部１２６は、タッチ入力（の軌跡）に基づいてフリーハンド線Ｌの延長又は少なくとも一部の消去を行う。
【００５０】
また、第１実施形態のタブレット端末１が用いる描画方法は、ユーザベクトルを算出するステップと、線ベクトルを算出するステップと、判定するステップと、延長又は部分消去を行うステップと、を備える。ユーザベクトルを算出するステップでは、タッチ入力に基づいて、タッチパネル１０の液晶ディスプレイ１０ａに表示されたフリーハンド線Ｌの一方の端点ＥＰ１又はＥＰ２を始点Ｐ０とするユーザベクトルを算出する。線ベクトルを算出するステップでは、一方の端点ＥＰ１又はＥＰ２近傍におけるフリーハンド線Ｌの形状に基づいて、一方の端点ＥＰ１又はＥＰ２を始点Ｐ０とする線ベクトルを算出する。判定するステップでは、ユーザベクトル及び線ベクトルに基づいて、一方の端点ＥＰ１又はＥＰ２を始点Ｐ０としてフリーハンド線Ｌを延長するか少なくとも一部を消去するかを判定する。延長又は部分消去を行うステップでは、タッチ入力（の軌跡）に基づいて、フリーハンド線Ｌの延長又は少なくとも一部の消去を行う。
【００５１】
また、第１実施形態のタブレット端末１で実行される描画プログラムは、ユーザベクトルを算出するステップと、判定するステップと、延長又は部分消去を行うステップと、をＣＰＵ１２に実行させる。ユーザベクトルを算出するステップでは、タッチ入力に基づいて、タッチパネル１０の液晶ディスプレイ１０ａに表示されたフリーハンド線Ｌの一方の端点ＥＰ１又はＥＰ２を始点Ｐ０とするユーザベクトルを算出する。線ベクトルを算出するステップでは、一方の端点ＥＰ１又はＥＰ２近傍におけるフリーハンド線Ｌの形状に基づいて、一方の端点ＥＰ１又はＥＰ２を始点Ｐ０とする線ベクトルを算出する。判定するステップでは、ユーザベクトル及び線ベクトルに基づいて、一方の端点ＥＰ１又はＥＰ２を始点Ｐ０としてフリーハンド線Ｌを延長するか少なくとも一部を消去するかを判定する。延長又は部分消去を行うステップでは、タッチ入力（の軌跡）に基づいて、フリーハンド線Ｌの延長又は少なくとも一部の消去を行う。
【００５２】
これらによれば、タッチ入力に基づくユーザベクトル、及び、一方の端点ＥＰ１又はＥＰ２近傍におけるフリーハンド線Ｌの形状に基づく線ベクトルにより、フリーハンド線Ｌの一方の端点ＥＰ１又はＥＰ２を始点Ｐ０としてフリーハンド線Ｌを延長するか少なくとも一部を消去するかを判定する。また、ユーザベクトルを算出する際のタッチ入力（の軌跡）に基づいてフリーハンド線Ｌの延長及び少なくとも一部の消去のうちの一方を行う。そのため、フリーハンド線Ｌの延長又は少なくとも一部の消去を行う際、両者のうちの一方を選択するために新たなタッチ入力をする必要がない。従って、たとえばフリーハンド線Ｌの描画中に線の途切れやはねなどの書き損じがあった場合でも、フリーハンド線Ｌの延長及び少なくとも一部の消去をより直感的且つ簡便に実行することができる。
【００５３】
また、第１実施形態のタブレット端末１において、表示制御部１２６は、ユーザベクトル及び線ベクトルが成す角度が予め定められた第２角度閾値θｂより大きいであると、フリーハンド線Ｌを延長する。さらに、表示制御部１２６は、ユーザベクトル及び線ベクトルが成す角度が第２角度閾値θｂ以下であると、フリーハンド線Ｌの少なくとも一部を消去する。
【００５４】
こうすれば、ユーザベクトルの方向が線ベクトルの方向と第２角度閾値θｂよりも大きく異なっていれば、フリーハンド線Ｌを延長することができる。一方、ユーザベクトルの方向が第２角度閾値θｂ以内の誤差で線ベクトルの方向と同じであれば、フリーハンド線Ｌの少なくとも一部を消去することができる。
＜第２実施形態＞
【００５５】
次に、本発明の第２実施形態について説明する。図６Ａは、複雑に描画されたフリーハンド線の一例を示す図である。図６Ｂは、第２実施形態におけるフリーハンド線が選択される際の表示画面である。
【００５６】
図６Ａのように、描画されたフリーハンド線Ｌａが非常に複雑な形状であると、両端点ＥＰ１、ＥＰ２だけではなく、各端点ＥＰ１、ＥＰ２近傍における描画方向（たとえば線ベクトル）も分りづらくなる。このようなフリーハンド線Ｌａをユーザが編集（部分消去又は延長）しようとする際、選択したインジケータｉ１又はｉ２をどの方向に動かせば、所望の編集ができるのかが非常に分りづらい。たとえば、ユーザがフリーハンド線Ｌａを部分消去しようとする際、タッチ入力の軌跡のユーザベクトルが、一方の端点ＥＰ１又はＥＰ２近傍における線ベクトルと第２角度閾値θｂよりも大きく異なっていると、ユーザの意図に反してフリーハンド線Ｌａは延長される。
【００５７】
このような意図に反する編集を防ぐため、第２実施形態では、図６Ｂに示すように、編集するフリーハンド線Ｌａが選択されると、両端点ＥＰ１、ＥＰ２上のインジケータｉ１、ｉ２に加えて、ガイド表示Ａ１、Ａ２が表示される。これ以外は、第１実施形態と同様である。なお、以下では、第１実施形態と異なる事項について説明する。また、第１実施形態と同じ構成部には同じ符合を付し、その説明を省略することがある。
【００５８】
図７は、第２実施形態に係るタブレット端末１の内部構成を示すブロック図である。図７に示すように、タブレット端末１のＣＰＵ１２の機能部は、ガイド表示Ａ１、Ａ２をタッチパネル１０に表示させる補助表示制御部１２７をさらに含んで構成されている。このガイド表示Ａ１、Ａ２は、一方の端点ＥＰ１又はＥＰ２を始点Ｐ０としてフリーハンド線Ｌａの少なくとも一部の消去を実行するためのベクトル方向を示す補助表示である。ユーザベクトルの方向がガイド表示内であれば部分追加モードが設定される。図６Ｂに示すようなガイド表示Ａ１、Ａ２により、ユーザは、どの方向にタッチ入力を動かせば部分消去モードに設定できるのかを視覚的に認識することができる。このガイド表示Ａ１、Ａ２は、各端点ＥＰ１、ＥＰ２を始点Ｐ０として表示され、２つの境界ベクトルＡｖと、１つの領域表示Ａｒと、を含んで構成されている。
【００５９】
各境界ベクトルＡｖは、同一の端点ＥＰ１又はＥＰ２を始点Ｐ０とし、始点Ｐ０近傍における線ベクトルに対して互いに異なる向き（たとえば時計回り及び反時計回り）に第２角度閾値θｂずつ異なる方向に向かうベクトルである。また、領域表示Ａｒは、２つの境界ベクトルＡｖ間の領域に表示されている。
【００６０】
なお、各境界ベクトルＡｖ及び領域表示Ａｒの表示（大きさ、線の種類、表示色など）は、ユーザの視認し易さに応じて適宜設定されていればよく、特に限定されない。たとえば、境界ベクトルＡｖ及び領域表示Ａｒの大きさは、予め定められていてもよいし、フリーハンド線Ｌａの大きさに応じて決定されてもよい。また、境界ベクトルＡｖを示す線の種類は実線でもよいし、破線でもよい。また、境界ベクトルＡｖ及び領域表示Ａｒの表示色は、フリーハンド線Ｌａと同色であってもよいが、異なる色であることが望ましく、透過色で表示されていてもよい。こうすれば、境界ベクトルＡｖ及び領域表示Ａｒの表示をユーザに視認させ易くすることができる。
【００６１】
このように、フリーハンド線Ｌａの両端点ＥＰ１、ＥＰ２にガイド表示Ａ１、Ａ２が表示されると、ユーザは、どの方向になぞってタッチ入力すれば、所望する編集モード（すなわち延長モード、部分消去モード）でフリーハンド線Ｌａを編集できるのかを視覚的に認識することができる。従って、ユーザはより快適且つ容易にフリーハンド線Ｌａを編集することができる。
【００６２】
以上、第２実施形態について説明した。第２実施形態のタブレット端末１は補助表示制御部１２７をさらに備えている。この補助表示制御部１２７は、両端点ＥＰ１、ＥＰ２を始点Ｐ０としてフリーハンド線Ｌａの延長又は少なくとも一部の消去を行うためのベクトル方向を示すガイド表示Ａ１、Ａ２をタッチパネル１０の液晶ディスプレイ１０ａに表示させる。こうすれば、フリーハンド線Ｌａの延長又は少なくとも一部の消去を行うためのベクトル方向をユーザに視覚的に提示することができる。
＜第３実施形態＞
【００６３】
次に、本発明の第３実施形態について説明する。第３実施形態では、インジケータｉ１又はｉ２が選択される際（たとえば図３のステップＳ１０５及びＳ１０６参照）、ガイド表示Ａ１、Ａ２は、一方の端点ＥＰ１又はＥＰ２のみに表示される。これ以外は、第２実施形態と同様である。なお、以下では、第２実施形態と異なる事項について説明する。また、第２実施形態と同じ構成部には同じ符合を付し、その説明を省略することがある。
【００６４】
図８は、第３実施形態においてインジケータが選択される際の表示画面である。たとえば、図８に示すように、タッチ入力によりインジケータｉ２が選択されると、選択されたインジケータｉ２に対応する一方の端点ＥＰ２のみにおいて、ガイド表示Ａ２が表示される。こうすれば、延長又は部分消去の始点Ｐ０となる一方の端点ＥＰ２にのみガイド表示Ａ２が表示されるので、フリーハンド線Ｌを良好に視認しつつ、フリーハンド線Ｌを編集することができる。
【００６５】
以上、本発明の第１〜第３実施形態について説明した。なお、上述の第１〜第３実施形態は例示であり、その各構成要素や各処理の組み合わせに色々な変形が可能であり、本発明の範囲にあることは当業者に理解されるところである。
【００６６】
たとえば、上述の第１〜第３実施形態では、図形選択部１２１、始点設定部１２２、ユーザベクトル算出部１２３、線ベクトル算出部１２４、モード選択部１２５、表示制御部１２６、及び補助表示制御部１２７はＣＰＵ１２（コンピュータの一例）の機能部で実現されているが、本発明の適用範囲はこの例に限定されない。これらは、ＣＰＵ１２とは異なる物理的な構成部（たとえば電気回路など）で実現されていてもよい。さらに、それらのうちの少なくとも１つは独立した構成部であってもよい。
【００６７】
また、上述の第１〜第３実施形態では、フリーハンド線Ｌの編集（延長、少なくとも一部の消去）をしているが、本発明は直線の編集をする際にも適用可能である。
【００６８】
また、上述の第１〜第３実施形態では、タッチ入力が終了したと判定されると、フリーハンド線Ｌの形状が確定され、その編集（部分消去又は延長）処理が終了する（たとえば図３のステップＳ１１２、Ｓ１１９、Ｓ１２４、及びＳ１２７参照）。タブレット端末１は、この編集処理が終了した後、編集後のフリーハンド線Ｌを編集前の状態に戻す取消機能（所謂アンドゥ機能）を備えていてもよい。このような機能は、たとえば、タッチパネル１０の表示画面１００に取消機能を実行するためのシンボル（所謂アンドゥアイコン）を表示しておくことなどにより実現できる。こうすれば、たとえば、ユーザの操作ミス、或いはユーザベクトル及び線ベクトルの方向の判定誤りなどにより、フリーハンド線Ｌの編集がユーザの意図に反する結果になったとしても、取消機能により、フリーハンド線Ｌを編集前の状態に戻すことができる。従って、フリーハンド線Ｌの再編集が可能となる。
【００６９】
また、上述の第１〜第３実施形態では、フリーハンド線Ｌの両端点ＥＰ１、ＥＰ２上に表示されるインジケータｉ１、ｉ２は同じ仕様であるが、異なる仕様であってもよい。図９は、インジケータの他の表示例を示す図である。図９に示すように、各端点ＥＰ１、ＥＰ２上に表示されるインジケータｉａ１、ｉａ２の形状は互いに異なっていてもよい。さらに、その形状の種類も限定されない。たとえば、三角形、四角形、及び六角形などを含む多角形状、正円及び楕円を含む円形状、十字形状、星形などであってもよい。また、各端点ＥＰ１、ＥＰ２上に表示されるインジケータｉａ１、ｉａ２の表示色、大きさなども互いに異なっていてもよい。
【００７０】
また、上述の第１〜第３実施形態では、各端点ＥＰ１、ＥＰ２において、始点Ｐ０から閾点ＳＰに向かう方向の線ベクトル（図５参照）を求めているが、逆に、線ベクトルの方向は閾点ＳＰから始点Ｐ０に向かっていてもよい。その場合には、たとえば図３のステップＳ１２１において、ユーザベクトルが、線ベクトルと第２角度閾値θｂ（たとえば±１５°）以上異なっていると判定されると部分消去モードを設定すればよい。また、第２角度閾値θｂ以上異なっていないと判定されると延長モードを設定すればよい。
【００７１】
また、上述の第２及び第３実施形態では、ガイド表示Ａ１、Ａ２は部分消去モードが設定できる範囲（図６Ｂ及び図８参照）を示しているが、逆に、延長モードが設定できる範囲を示していてもよい。このようにすれば、ユーザは、容易に、どの方向にタッチ入力を動かせば延長モードに設定できるのかを視覚的に認識することができる。
【００７２】
また、上述の第２及び第３実施形態において、ガイド表示Ａ１、Ａ２は、２つの境界ベクトルＡｖ、及び１つの領域表示Ａｒの両方を含んでいるが、本発明の適用範囲はこの例に限定されない。ガイド表示Ａは、２つの境界ベクトルＡｖ、及び領域表示Ａｒのうちのいずれか一方のみを含んで構成されてもよい。こうすれば、ガイド表示Ａ１、Ａ２が表示される際、ユーザにフリーハンド線Ｌａをより視認させ易くすることができる。
【００７３】
或いは、ガイド表示Ａ１、Ａ２は、図６Ｂ及び図８とは異なる構成であってもよい。図１０は、ガイド表示の他の表示例を示す図である。図１０に示すように、ガイド表示Ａ１、Ａ２として、両端点ＥＰ１、ＥＰ２において、両端点ＥＰ１、ＥＰ２近傍における線ベクトルＶａ１、Ｖａ２が表示されてもよい。こうすれば、ガイド表示Ａ１、Ａ２をさらに簡易に表示することができる。さらに、タッチ入力により選択された一方のインジケータｉ１又はｉ２に対応する一方の端点ＥＰ１又はＥＰ２のみにおいて、一方の端点ＥＰ１、ＥＰ２近傍における線ベクトルＶａ１又はＶａ２が表示されてもよい。こうすれば、ガイド表示Ａ１、Ａ２をさらに簡易に表示することができる。
【００７４】
また、上述の第１〜第３実施形態では、タッチパネル１０を備えるタブレット端末１を例として説明したが、本発明の適用範囲はこの例に限定されない。本発明は、たとえばスマートフォン、パーソナルコンピュータ、ＰＤＡなどの描画アプリケーションを有する電子機器にも広く適用可能である。また、タッチパネル１０に代えて、液晶ディスプレイなどの表示装置と、キーボードやマウスなどの入力装置とが具備又は接続された情報処理装置にも適用可能である。
【符号の説明】
【００７５】
１      タブレット端末
１０      タッチパネル
１０ａ      液晶ディスプレイ
１００        表示画面
１０ｂ      入力検知部
１１      メモリ
１２      ＣＰＵ
１２１      図形選択部
１２２      始点設定部
１２３      ユーザベクトル算出部
１２４      線ベクトル算出部
１２５      モード選択部
１２６      表示制御部
１２７      補助表示制御部
Ｌ、Ｌａ            フリーハンド線
ＥＰ１、ＥＰ２      端点
ｉ１、ｉ２、ｉａ１、ｉａ２          インジケータ
Ｐ０                始点
Ｐ１〜Ｐ４          制御点
ＳＰ                閾点
Ｕ                  物体（ユーザの指など）
Ａ１、Ａ２          ガイド表示
Ａｖ                  境界ベクトル
Ａｒ                  領域表示
ＢＶ                基準ベクトル
Ｖ１〜Ｖ４          第１〜第４部分ベクトル
Ｖａ１、Ｖａ２      端点近傍における線ベクトル
【図１】
2014203351.tif 000003
【図２】
2014203351.tif 000004
【図３】
2014203351.tif 000005
【図６Ａ】
2014203351.tif 000006
【図７】
2014203351.tif 000007
【図４Ａ】
2014203351.tif 000008
【図４Ｂ】
2014203351.tif 000009
【図４Ｃ】
2014203351.tif 000010
【図４Ｄ】
2014203351.tif 000011
【図４Ｅ】
2014203351.tif 000012
【図５】
2014203351.tif 000013
【図６Ｂ】
2014203351.tif 000014
【図８】
2014203351.tif 000015
【図９】
2014203351.tif 000016
【図１０】
2014203351.tif 000017