説明

情報処理装置、プログラム及び情報処理方法

【課題】ユーザによる操作を自動的に判別して操作に応じて図形データに関する処理を行うことを可能とする。
【解決手段】図形データを取得する図形取得部と、ユーザによる操作を取得する操作取得部と、前記操作取得部により取得された前記操作を判定する判定部と、前記判定部による判定に基づいて前記図形データに対する処理を行う処理部と、を備える、情報処理装置が提供される。例えば、前記処理部は、前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1または複数の端点の一部を選択する操作であると判定された場合に、新たな図形を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、プログラム及び情報処理方法に関する。
【背景技術】
【0002】
近年、図形データを容易に作成する技術として様々な技術が開示されている。例えば、図形データの一例としての線分を容易に描く技術が開示されている(例えば、特許文献1参照。)。このような技術によれば、特定の図形データである線分を容易に描くことができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−63586号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特定の図形データを作成するという制約がある場合には、簡易に図形データを作成することができるが、図形データに関する様々な処理を行う場合には、図形データに関する処理を選択するための操作が必要になる。図形データに関する処理には、例えば、線分を選択する処理、線分を描く処理等がある。このため、ユーザによる操作が煩雑になってしまう。特に、例えば、リアルタイム性が問われる授業やプレゼンテーションなどに図形データの作成が使用される場合には、操作が簡易に行われるとユーザに対する利便性が向上する。
【0005】
したがって、ユーザによる操作を自動的に判別して操作に応じて図形データに関する処理を行うことが可能な手法が提供されることが望ましい。
【課題を解決するための手段】
【0006】
本開示によれば、図形データを取得する図形取得部と、ユーザによる操作を取得する操作取得部と、前記操作取得部により取得された前記操作を判定する判定部と、前記判定部による判定に基づいて前記図形データに対する処理を行う処理部と、を備える、情報処理装置が提供される。
【0007】
また、本開示によれば、コンピュータを、図形データを取得する図形取得部と、ユーザによる操作を取得する操作取得部と、前記操作取得部により取得された前記操作を判定する判定部と、前記判定部による判定に基づいて前記図形データに対する処理を行う処理部と、を備える、情報処理装置として機能させるためのプログラムが提供される。
【0008】
また、本開示によれば、図形データを取得することと、ユーザによる操作を取得することと、取得された前記操作を判定することと、判定に基づいて前記図形データに対する処理を行うことと、を含む、情報処理方法が提供される。
【発明の効果】
【0009】
以上説明したように、本開示によれば、ユーザによる操作を自動的に判別して操作に応じて図形データに関する処理を行うことができる。
【図面の簡単な説明】
【0010】
【図1】本開示の実施形態に係る情報処理装置の概要を説明するための図である。
【図2】情報処理装置のハードウェア構成を示す図である。
【図3】情報処理装置の機能構成を示す図である。
【図4】情報処理装置が有する機能の例(図形データ生成)を説明するための図である。
【図5】情報処理装置が有する機能の例(既存図形の一部として頂点が存在する場合)を説明するための図である。
【図6】情報処理装置が有する機能の例(既存図形の一部として交点が存在する場合)を説明するための図である。
【図7】情報処理装置が有する機能の例(2つの図形要素を接続する場合)を説明するための図である。
【図8】情報処理装置が有する機能の例(2つの図形要素を結合する場合)を説明するための図である。
【図9】情報処理装置が有する機能の例(2つの図形要素を接続する場合)を説明するための図である。
【図10】情報処理装置が有する機能の例(2つの図形要素が交わる場合)を説明するための図である。
【図11】情報処理装置が有する機能の例(2つの図形要素を平行にする場合)を説明するための図である。
【図12】情報処理装置が有する機能の例(2つの図形要素を等辺にする場合及び重複する2つの図形要素のうちのいずれかを選択する場合)を説明するための図である。
【図13】情報処理装置が有する機能の例(2つの線分の関係を直角にする場合)を説明するための図である。
【図14】情報処理装置が有する機能の例(2つの図形要素を等角にする場合及び重複する2つの図形要素のうちのいずれかを選択する場合)を説明するための図である。
【図15】情報処理装置が有する機能の例(図形要素に対してオブジェクトを接触する場合)を説明するための図である。
【図16】情報処理装置が有する機能の例(図形要素に対してオブジェクトを接触する場合)を説明するための図である。
【図17】情報処理装置の動作の流れの一例を示すフローチャートである。
【図18】情報処理装置の基本動作(線分群の生成及び選択)を説明するための図である。
【図19】情報処理装置の基本動作(円の生成及び選択)を説明するための図である。
【図20】情報処理装置の基本動作(図形要素に対する制約)を説明するための図である。
【図21】情報処理装置の基本動作(図形要素に対する制約)を説明するための図である。
【図22】情報処理装置の基本動作(図形要素に対する制約)を説明するための図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0012】
また、以下の順序で説明を行う。
1.実施形態
1−1.情報処理装置の概要
1−2.情報処理装置の構成例
1−3.情報処理装置の動作の流れ
1−4.情報処理装置の基本動作
2.まとめ
【0013】
<1.実施形態>
[1−1.情報処理装置の概要]
まず、本開示の実施形態に係る情報処理装置について説明する。図1は、本開示の実施形態に係る情報処理装置の概要を説明するための図である。図1に示すように、本開示の実施形態に係る情報処理装置100は、表示装置140に線分を表示させることができる。図1には、表示装置140に表示される線分の例として、線分A及び線分Bが示されているが、表示装置140に表示される線分の本数は特に限定されない。また、線分以外の図形(例えば、円など)が表示されてもよい。
【0014】
また、情報処理装置100は、入力装置150により移動操作の入力を受け付けた場合には、その移動操作に応じて線分を移動させることができる。例えば、図1に示すように、線分を移動させるためのコントロールポイントCPが線分の両端に表示されている場合には、このコントロールポイントCPを移動させる操作が移動操作として入力され得る。また、このように入力された移動操作に基づいて、コントロールポイントCPを端とする線分を移動させることができる。
【0015】
本開示の実施形態では、入力装置150としてタッチパネルを使用する場合を想定する。この場合、ユーザが操作体(指、タッチペンなど)により移動対象を移動元から移動先までドラッグすることにより移動操作が供される。しかしながら、入力装置150は、タッチパネルに限定されない。例えば、入力装置150としては、マウス、キーボード、ジェスチャ認識による入力インタフェースなどを使用することもできる。
【0016】
本開示の実施形態に係る情報処理装置100は、例えば、スマートフォン、PC(Personal Computer)などの任意の種類の装置であってよい。また、本開示の実施形態に係る情報処理装置100は、上述した装置に搭載される情報処理モジュールであってもよい。
【0017】
[1−2.情報処理装置の構成例]
続いて、情報処理装置100の構成例について説明する。図2は、情報処理装置100のハードウェア構成を示す図である。図2に示すように、情報処理装置100は、例えば、CPU110、RAM120、不揮発性メモリ130、表示装置140、入力装置150を備える。
【0018】
不揮発性メモリ130は、情報処理装置100の記憶部の一例として構成されたデータ格納用の装置であり、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。不揮発性メモリ130は、CPU110により実行されるプログラムやその実行において使用される各種データを格納する。
【0019】
RAM120は、CPU110により実行されるプログラムや、その実行において使用されるパラメータ等を記憶する。
【0020】
CPU110は、演算処理装置および制御装置として機能し、不揮発性メモリ130、RAM120に記録された各種プログラムにしたがって、情報処理装置100内の動作全般またはその一部を制御する。CPU110は、情報処理装置100の制御部の一例として構成される。
【0021】
表示装置140は、例えば、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)ディスプレイ装置等、情報をユーザに対して視覚的に通知することが可能な装置により構成される。表示装置140は、例えば、情報処理装置100により行われた各種処理により得られた結果を出力する。具体的には、表示装置140は、情報処理装置100により行われた各種処理により得られた結果を、テキストまたはイメージで表示する。
【0022】
入力装置150は、ユーザから取得した操作をCPU110に信号として出力する。情報処理装置100のユーザは、入力装置150を操作することにより、情報処理装置100に対して各種のデータを入力したり処理動作を指示したりすることができる。入力装置150は、例えば、タッチパネルにより構成されるが、入力装置150の種類は特に限定されない。例えば、入力装置150は、マウス、キーボード、ジェスチャ認識による入力インタフェースなどといった装置により構成されてもよい。
【0023】
図3は、情報処理装置100の機能構成を示す図である。図3に示すように、情報処理装置100は、制御部160を含み、制御部160は、図形取得部161、表示制御部162、操作取得部163、判定部164及び処理部165を備える。図3に示すように、不揮発性メモリ130、入力装置150及び表示装置140は、情報処理装置100により備えられてもよいが、情報処理装置100の外部に備えられてもよい。
【0024】
図形取得部161は、図形データを取得する。図形データは、典型的には1または複数の線分により構成されるが、線分に加えて曲線により構成されてもよい。あるいは線分の代わりに、曲線により構成されてもよい。曲線は、例えば、円や楕円、これらの一部であってもよい。図形データは、CPU110により実行されるプログラムに組み込まれていてもよく、不揮発性メモリ130に記録されていてもよい。
【0025】
情報処理装置100は、図形取得部161により取得された図形データに基づいて、様々な機能を提供することができる。以下において、情報処理装置100が有する機能の例を説明する。図4〜図16は、情報処理装置100が有する機能の例を説明するための図である。
【0026】
図4は、情報処理装置100が有する機能の例(図形データ生成)を示している。図4に示すように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。ユーザが情報処理装置100に生成させようとする図形データは、例えば、画面1401a〜1404aの各々に示されている。処理部165により生成された図形データは、表示装置140により表示されるように表示制御部162により制御される。
【0027】
まず、ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。ユーザが行う操作は、例えば、画面1401b〜1404bの各々に示されているようになされる。処理部165は、例えば、ユーザからの操作に基づいて、図形データを生成する。そのとき、処理部165は、例えば、操作の傾きの平均値が所定範囲から外れる点(画面1401c〜1403cの各々に示されている点)を検出し、検出した点を頂点とする多角形を生成する。
【0028】
表示制御部162は、処理部165により生成された図形データを表示するよう制御する。表示制御部162は、例えば、画面1401d〜1404dの各々に示されているように、図形データを表示するよう制御する。表示されるタイミングは、例えば、ユーザによる操作が完了したとき(例えば、入力装置への操作が終わったとき)になされる。このように、処理部165は、多角形の頂点を全て決定した場合には、全ての線分の入力が完了していなくても未入力の線分を補償して図形データを生成することもできる。
【0029】
表示制御部162は、例えば、画面1401e〜1404eの各々に示されているように、図形データを表示するよう制御してもよい。すなわち、表示制御部162は、図形データに基づいてコントロールポイントを検出し、検出したコントロールポイントに何らかの印(画面1401e〜1404eに示した例ではピン)が表示されるように制御してもよい。コントロールポイントは、画面1401e〜1403eの各々に示されているように、線分の端点であってもよく、画面1404eに示されているように、円の中心や円周上の点であってもよい。
【0030】
図5は、情報処理装置100が有する機能の例(既存図形の一部として頂点が存在する場合)を示している。図5に示すように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。ユーザが情報処理装置100に生成させようとする図形データは、例えば、画面1405a〜1408aの各々に示されている。処理部165により生成された図形データは、表示装置140により表示されるように表示制御部162により制御される。
【0031】
まず、ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。ユーザが行う操作は、例えば、画面1405b〜1408bの各々に示されているようになされる。処理部165は、例えば、ユーザからの操作に基づいて、図形データを生成する。そのとき、処理部165は、例えば、操作の傾きの平均値が所定範囲から外れる点(画面1405b〜1407bの各々に示されている点)を検出し、検出した点を頂点とする多角形を生成する。
【0032】
表示制御部162は、処理部165により生成された図形データを表示するよう制御する。表示制御部162は、例えば、画面1405b〜1408bの各々に示されているように、図形データを表示するよう制御する。表示されるタイミングは、例えば、ユーザによる操作が完了したとき(例えば、入力装置への操作が終わったとき)になされる。このように、処理部165は、多角形の頂点を全て決定した場合には、全ての線分の入力が完了していなくても未入力の線分を補償して図形データを生成することもできる。
【0033】
ここで、ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0034】
例えば、ユーザが行う操作は、画面1405c〜1408cの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる1または複数の端点の全部を選択する操作であると判定する。例えば、画面1405cに示された例では、端点2つのうちの全てが選択されており、画面1406cに示された例では、端点3つのうちの全てが選択されており、画面1407cに示された例では、端点4つのうちの全てが選択されている。かかる場合には、処理部165は、例えば、図形データを選択する。
【0035】
また、例えば、ユーザが行う操作は、画面1405d〜1407dの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる1または複数の端点の一部を選択する操作であると判定する。例えば、画面1405dに示された例では、端点2つのうちの1つが選択されており、画面1406dに示された例では、端点3つのうちの2つが選択されており、画面1407cに示された例では、端点4つのうちの2つが選択されている。かかる場合には、処理部165は、例えば、新たに図形データを生成する。
【0036】
新たに生成された図形は、例えば、画面1405d〜1407dの各々に示されているように表示するよう表示制御部162により制御される。
【0037】
図6は、情報処理装置100が有する機能の例(既存図形の一部として交点が存在する場合)を示している。図6に示すように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。処理部165により生成された図形データは、例えば、画面1409a〜1411aの各々に示されている。処理部165により生成された図形データは、表示装置140により表示されるように表示制御部162により制御される。
【0038】
ここで、ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0039】
例えば、ユーザが行う操作は、画面1409bに示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる2つの交点を選択する操作であると判定する。例えば、画面1409bに示された例では、交点2つのうちの全てが選択されている。かかる場合には、処理部165は、例えば、2つの交点間を結ぶ線分を新たな図形データとして生成する。
【0040】
また、例えば、ユーザが行う操作は、画面1410bに示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる1つの交点と図形データに含まれる端点とを選択する操作であると判定する。例えば、画面1410bに示された例では、図形データに含まれる1つの交点と図形データに含まれる端点とが選択されている。かかる場合には、処理部165は、例えば、新たな図形データの生成を省略する。
【0041】
また、例えば、ユーザが行う操作は、画面1411bに示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる1つの交点と図形データに含まれない点とを選択する操作であると判定する。例えば、画面1411bに示された例では、図形データに含まれる1つの交点と図形データに含まれない点とが選択されている。かかる場合には、処理部165は、例えば、選択された1つの交点と図形データに含まれない点との間を結ぶ線分を新たな図形データとして生成する。
【0042】
新たに生成された図形データは、例えば、画面1409c、1411cの各々に示されているように表示するよう表示制御部162により制御される。
【0043】
図7は、情報処理装置100が有する機能の例(2つの図形要素を接続する場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、生成した図形データを移動させることができる。ここで、移動対象の図形データを、画面1412b、1412cの各々に示し、移動先に存在する図形データを、画面1415a、1416aの各々に示す。
【0044】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0045】
例えば、ユーザが行う操作は、画面1415b、画面1416bの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる端点を図形データに含まれる図形要素の位置に移動させる操作であると判定する。画面1415bに示された例では、1の線分の端点の位置が他の線分の端点の位置と一致又は近接するように1の線分を移動させる操作がなされている。また、画面1416bに示された例では、1の線分の端点の位置が円の中心の位置と一致又は近接するように1の線分を移動させる操作がなされている。
【0046】
かかる場合には、処理部165は、図形データに含まれる端点を図形要素に接続させる。画面1415bに示された例では、処理部165は、1の線分の端点を他の線分の端点に接続させている。また、画面1416bに示された例では、処理部165は、1の線分の端点を円の中心に接続させている。接続された図形データは、例えば、画面1415b、1416bの各々に示されているように表示するよう表示制御部162により制御される。接続後の2つの図形データは一体化されて取り扱われる(制約が発生する)こととしてもよい。
【0047】
また、例えば、ユーザが行う操作は、画面1415c、画面1416cの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる円の中心を図形データに含まれる図形要素の位置に移動させる操作であると判定する。画面1415cに示された例では、円の中心の位置が線分の端点の位置と一致又は近接するように円を移動させる操作がなされている。また、画面1416cに示された例では、円の中心の位置が他の円の中心の位置と一致又は近接するように円を移動させる操作がなされている。
【0048】
かかる場合には、処理部165は、図形データに含まれる円の中心を図形要素に接続させる。画面1415cに示された例では、処理部165は、円の中心を線分の端点に接続させている。また、画面1416cに示された例では、処理部165は、円の中心を他の円の中心に接続させている。接続された図形データは、例えば、画面1415c、1416cの各々に示されているように表示するよう表示制御部162により制御される。接続後の2つの図形データは一体化されて取り扱われる(制約が発生する)こととしてもよい。
【0049】
図8は、情報処理装置100が有する機能の例(2つの図形要素を結合する場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、生成した図形データを移動させることができる。ここで、移動対象の図形データを、画面1417b、1417cの各々に示し、移動先に存在する図形データを、画面1419a、1420aの各々に示す。
【0050】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0051】
例えば、ユーザが行う操作は、画面1419bに示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる端点を図形データに含まれる図形要素の位置に移動させる操作であると判定する。画面1419bに示された例では、1の線分の端点の各々の位置が他の線分の端点の各々の位置と一致又は近接するように1の線分を移動させる操作がなされている。
【0052】
かかる場合には、処理部165は、図形データに含まれる線分を他の線分に結合させる。画面1419bに示された例では、処理部165は、1の線分を他の線分に結合させている。結合された図形データは、例えば、画面1419bに示されているように表示するよう表示制御部162により制御される。結合後の2つの図形データは一体化されて取り扱われる(制約が発生する)こととしてもよい。
【0053】
また、例えば、ユーザが行う操作は、画面1420cに示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる円の中心を図形データに含まれる図形要素の位置に移動させる操作であると判定する。画面1420cに示された例では、円の中心の位置が他の円の中心の位置と一致又は近接するように円を移動させる操作がなされている。
【0054】
かかる場合には、処理部165は、図形データに含まれる円を図形要素に結合させる。画面1420cに示された例では、処理部165は、1の円を他の円に結合させている。結合された図形データは、例えば、画面1420cに示されているように表示するよう表示制御部162により制御される。結合後の2つの図形データは一体化されて取り扱われる(制約が発生する)こととしてもよい。
【0055】
図9は、情報処理装置100が有する機能の例(2つの図形要素を接続する場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、生成した図形データを移動させることができる。ここで、移動対象の図形データを、画面1421b、1421cの各々に示し、移動先に存在する図形データを、画面1422a、1423aの各々に示す。
【0056】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0057】
例えば、ユーザが行う操作は、画面1422b、画面1423bの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる端点を図形データに含まれる図形要素の位置に移動させる操作であると判定する。画面1422bに示された例では、1の線分の端点の位置が他の線分上の位置と一致又は近接するように1の線分を移動させる操作がなされている。また、画面1423bに示された例では、1の線分の端点の位置が円周上の位置と一致又は近接するように1の線分を移動させる操作がなされている。
【0058】
かかる場合には、処理部165は、図形データに含まれる端点を図形要素に接続させる。画面1422bに示された例では、処理部165は、1の線分の端点を他の線分上の点に接続させている。また、画面1423bに示された例では、処理部165は、1の線分の端点を円周上の点に接続させている。接続された図形データは、例えば、画面1422b、1423bの各々に示されているように表示するよう表示制御部162により制御される。接続後の2つの図形データは一体化されて取り扱われる(制約が発生する)こととしてもよい。
【0059】
また、例えば、ユーザが行う操作は、画面1422c、画面1423cの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる円の中心を図形データに含まれる図形要素の位置に移動させる操作であると判定する。画面1422cに示された例では、円の中心の位置が線分上の点の位置と一致又は近接するように円を移動させる操作がなされている。また、画面1423cに示された例では、円の中心の位置が他の円周上の点の位置と一致又は近接するように円を移動させる操作がなされている。
【0060】
かかる場合には、処理部165は、図形データに含まれる円の中心を図形要素に接続させる。画面1422cに示された例では、処理部165は、円の中心を線分上の点に接続させている。また、画面1423cに示された例では、処理部165は、円の中心を他の円周上の位置に接続させている。接続された図形データは、例えば、画面1422c、1423cの各々に示されているように表示するよう表示制御部162により制御される。接続後の2つの図形データは一体化されて取り扱われる(制約が発生する)こととしてもよい。
【0061】
図10は、情報処理装置100が有する機能の例(2つの図形要素が交わる場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、生成した図形データを移動させることができる。ここで、移動対象の図形データを、画面1424b、1424cの各々に示し、移動先に存在する図形データを、画面1425a、1426aの各々に示す。
【0062】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0063】
例えば、ユーザが行う操作は、画面1425b、画面1426bの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる2つの図形要素が交わる位置に図形要素を移動させる操作であると判定する。画面1425bに示された例では、1の線分が他の線分と交わるように1の線分を移動させる操作がなされている。また、画面1426bに示された例では、1の線分が円と交わるように1の線分を移動させる操作がなされている。
【0064】
かかる場合には、処理部165は、交点にコントロールポイントを生成する。画面1425bに示された例では、処理部165は、1の線分と他の線分との交点にコントロールポイントを生成している。また、画面1426bに示された例では、処理部165は、線分と円との交点にコントロールポイントを生成している。生成されたコントロールポイントにはピンを、例えば、画面1425b、1426bの各々に示されているように表示するよう表示制御部162により制御される。交差後の2つの図形データの各々は一体化されずに取り扱われる(制約が発生しない)こととしてもよい。
【0065】
また、例えば、ユーザが行う操作は、画面1425c、画面1426cの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる2つの図形要素が交わる位置に図形要素を移動させる操作であると判定する。画面1425cに示された例では、円が線分と交わるように円を移動させる操作がなされている。また、画面1426cに示された例では、1の円が他の円と交わるように1の円を移動させる操作がなされている。
【0066】
かかる場合には、処理部165は、交点にコントロールポイントを生成する。画面1425cに示された例では、処理部165は、円と線分との交点にコントロールポイントを生成している。また、画面1426cに示された例では、処理部165は、1の円と他の円との交点2箇所の各々にコントロールポイントを生成している。生成されたコントロールポイントにはピンを、例えば、画面1425c、1426cの各々に示されているように表示するよう表示制御部162により制御される。交差後の2つの図形データの各々は一体化されずに取り扱われる(制約が発生しない)こととしてもよい。
【0067】
図11は、情報処理装置100が有する機能の例(2つの図形要素を平行にする場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、生成した図形データを選択することができる。ここで、生成された2つの線分(線分A及び線分B)が、画面1427に示されている。
【0068】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0069】
例えば、ユーザが行う操作は、画面1427a、画面1427bの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が2つの図形要素を順に選択する操作(例えば、1の図形要素を選択した後、所定時間以内に他の図形要素を選択する操作)であると判定する。画面1427a、画面1427bに示された例では、線分Aが選択された後、所定時間以内に線分Bが選択される操作がなされている。
【0070】
かかる場合には、表示制御部162は、2つの図形要素が満たすべき関係を選択する選択画面(例えば、「平行」又は「等辺」を選択する画面)を表示させる。このとき、画面1427cに示したように、表示制御部162は、変更される図形要素と変更されない図形要素とを異なる色により表示するよう制御してもよい。ユーザは、入力装置150に対して2つの図形要素が満たすべき関係を選択する操作を行う。例えば、ユーザは2つの図形要素が満たすべき関係として「平行」を選択することができる。
【0071】
処理部165は、判定部164により、2つの図形要素が満たすべき関係を選択する操作であると判定された場合に、かかる関係が満たされるように2つの図形要素のうちの少なくとも一方を変更する。例えば、処理部165は、2つの図形要素が満たすべき関係として「平行」を選択する操作がなされたと判定された場合に、かかる関係が満たされるように線分A及び線分Bのうちの少なくとも一方を変更する。画面1427dに示した例では、処理部165は、線分Aよりも後に選択された線分Bを回転させているが、線分Aを回転させてもよい。また、線分Aに比較的近い点を中心に線分Bを回転させているが、いずれの点を中心に回転させてもよい。
【0072】
また、既に満たされている関係が選択された場合には、処理部165は、関係を満たすような処理を行う必要はない。例えば、画面1428に示されているように、2つの図形要素が既に「平行」であり、判定部164は、操作取得部163により取得された操作が2つの図形要素を順に選択する操作であると判定したとする。かかる場合には、表示制御部162は、2つの図形要素が満たすべき関係を選択する選択画面を表示させなくてもよい。したがって、処理部165は、かかる関係が満たされるように2つの図形要素を変更しなくてよい。
【0073】
図12の上欄は、情報処理装置100が有する機能の例(2つの図形要素を等辺にする場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、生成した図形データを選択することができる。ここで、生成された2つの線分(線分A及び線分B)が、画面1430aに示されている。
【0074】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0075】
例えば、ユーザが行う操作は、画面1430a、画面1430bの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が2つの図形要素を順に選択する操作(例えば、1の図形要素を選択した後、所定時間以内に他の図形要素を選択する操作)であると判定する。画面1430a、画面1430bに示された例では、線分Aが選択された後、所定時間以内に線分Bが選択される操作がなされている。
【0076】
かかる場合には、表示制御部162は、2つの図形要素が満たすべき関係を選択する選択画面(例えば、「平行」又は「等辺」を選択する画面)を表示させる。このとき、画面1430cに示したように、表示制御部162は、変更される図形要素と変更されない図形要素とを異なる色により表示するよう制御してもよい。ユーザは、入力装置150に対して2つの図形要素が満たすべき関係を選択する操作を行う。例えば、ユーザは2つの図形要素が満たすべき関係として「等辺」を選択することができる。
【0077】
処理部165は、判定部164により、2つの図形要素が満たすべき関係を選択する操作であると判定された場合に、かかる関係が満たされるように2つの図形要素のうちの少なくとも一方を変更する。例えば、処理部165は、2つの図形要素が満たすべき関係として「等辺」を選択する操作がなされたと判定された場合に、かかる関係が満たされるように線分A及び線分Bのうちの少なくとも一方を変更する。画面1430dに示した例では、処理部165は、線分Aよりも後に選択された線分Bの長さを変更しているが、線分Aの長さを変更してもよい。また、線分Aに比較的近い点を中心に線分Bの長さを変更しているが、いずれの点を中心に長さを変更してもよい。
【0078】
また、既に満たされている関係が選択された場合には、処理部165は、関係を満たすような処理を行う必要はない。
【0079】
図12の下欄は、情報処理装置100が有する機能の例(重複する2つの図形要素のうちのいずれかを選択する場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、生成した図形データを選択することができる。ここで、生成された2つの線分(線分AB及び線分AC)が、画面1431aに示されている。2つの線分は、重複している。
【0080】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0081】
例えば、ユーザが行う操作は、画面1431aに示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が2つの頂点を順に選択する操作(例えば、1の頂点を選択した後、所定時間以内に他の頂点を選択する操作)であると判定する。画面1431aに示された例では、頂点Aが選択された後、所定時間以内に頂点Bが選択される操作がなされている。画面1431bに示された例では、頂点Aが選択された後、所定時間以内に頂点Cが選択される操作がなされている。
【0082】
かかる場合には、処理部165は、1の頂点から他の頂点までを結ぶ線分を選択する。画面1431aに示した例では、処理部165は、頂点Aから頂点Bまでを結ぶ線分ABを選択している。画面1431bに示した例では、処理部165は、頂点Aから頂点Cまでを結ぶ線分ACを選択している。
【0083】
図13は、情報処理装置100が有する機能の例(2つの線分の関係を直角にする場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、生成した図形データを選択することができる。ここで、生成された2つの線分(線分A及び線分B)が、画面1433aに示されている。
【0084】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0085】
例えば、ユーザが行う操作は、画面1433a、画面1433bの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が2つの線分に挟まれた角を選択する操作(例えば、線分A及び線分Bを1つのストロークによりなぞる操作)であると判定する。画面1433a、画面1433bに示された例では、線分Aと線分Bとに挟まれた角が選択される操作がなされている。
【0086】
かかる場合には、表示制御部162は、2つの線分が満たすべき関係を選択する選択画面(例えば、「直角」を選択する画面)を表示させる。ユーザは、入力装置150に対して2つの線分が満たすべき関係を選択する操作を行う。例えば、ユーザは2つの線分が満たすべき関係として「直角」を選択することができる。
【0087】
処理部165は、判定部164により、2つの線分が満たすべき関係を選択する操作であると判定された場合に、かかる関係が満たされるように2つの線分のうちの少なくとも一方を変更する。例えば、処理部165は、2つの線分が満たすべき関係として「直角」を選択する操作がなされたと判定された場合に、かかる関係が満たされるように線分A及び線分Bのうちの少なくとも一方を変更する。画面1433dに示した例では、処理部165は、線分Aよりも後に選択された線分Bの傾きを変更しているが、線分Aの傾きを変更してもよい。
【0088】
また、2つの線分が交わっていない場合には、処理部165は、関係を満たすような処理を行う必要はない。例えば、画面1434aに示されているように、2つの線分が交わっておらず、判定部164は、操作取得部163により取得された操作が2つの線分に挟まれた角を選択する操作であると判定したとする。かかる場合には、表示制御部162は、2つの線分が満たすべき関係を選択する選択画面を表示させなくてもよい。したがって、処理部165は、かかる関係が満たされるように2つの線分を変更しなくてよい。
【0089】
また、例えば、ユーザが行う操作は、画面1434b、画面1434cの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が2つの線分の交点を選択する操作(例えば、交点を挟む2つの線分を1つのストロークによりなぞる操作)であると判定する。画面1434b、画面1434cに示された例では、線分Aと線分Bとの交点が選択される操作がなされている。
【0090】
かかる場合には、表示制御部162は、2つの線分が満たすべき関係を選択する選択画面(例えば、「直角」を選択する画面)を表示させる。ユーザは、入力装置150に対して2つの線分が満たすべき関係を選択する操作を行う。例えば、ユーザは2つの線分が満たすべき関係として「直角」を選択することができる。
【0091】
処理部165は、判定部164により、2つの線分が満たすべき関係を選択する操作であると判定された場合に、かかる関係が満たされるように2つの線分のうちの少なくとも一方を変更する。例えば、処理部165は、2つの線分が満たすべき関係として「直角」を選択する操作がなされたと判定された場合に、かかる関係が満たされるように線分A及び線分Bのうちの少なくとも一方を変更する。画面1434dに示した例では、処理部165は、線分Bの傾きを変更しているが、線分Aの傾きを変更してもよい。
【0092】
図14の上欄は、情報処理装置100が有する機能の例(2つの図形要素を等角にする場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、生成した図形データを選択することができる。ここで、生成された3つの頂点(頂点A、頂点B及び頂点C)が、画面1433aに示されている。
【0093】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0094】
例えば、ユーザが行う操作は、画面1433a、画面1433b及び画面1433cの各々に示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が2つの図形要素を順に選択する操作(例えば、1の図形要素を選択した後、所定時間以内に他の図形要素を選択する操作)であると判定する。画面1433a、画面1433b及び画面1433cに示された例では、頂点Aが選択された後、所定時間以内に頂点Bが選択される操作がなされている。
【0095】
かかる場合には、表示制御部162は、2つの図形要素が満たすべき関係を選択する選択画面(例えば、「等角」を選択する画面)を表示させる。ユーザは、入力装置150に対して2つの図形要素が満たすべき関係を選択する操作を行う。例えば、ユーザは2つの図形要素が満たすべき関係として「等角」を選択することができる。
【0096】
処理部165は、判定部164により、2つの図形要素が満たすべき関係を選択する操作であると判定された場合に、かかる関係が満たされるように図形要素を変更する。例えば、処理部165は、2つの図形要素が満たすべき関係として「等角」を選択する操作がなされたと判定された場合に、かかる関係が満たされるように図形要素を変更する。画面1433dに示した例では、処理部165は、角度Aと角度Bとが等しくなるように、頂点Cを線分ABに対して平行に移動させている。
【0097】
図14の下欄は、情報処理装置100が有する機能の例(重複する2つの図形要素のうちのいずれかを選択する場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、生成した図形データを選択することができる。ここで、生成された4つの頂点(頂点A、頂点B、頂点C及び頂点D)が、画面1434aに示されている。角ABDと角ABCとは、重複している。
【0098】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0099】
例えば、ユーザが行う操作は、画面1434a、画面1434cに示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が3つの頂点を順に選択する操作であると判定する。かかる場合には、処理部165は、3つの頂点により指定される角を選択する。画面1434bに示した例では、処理部165は、頂点A、頂点B及び頂点Dにより指定される角ABDを選択している。画面1434dに示した例では、処理部165は、頂点A、頂点B及び頂点Cにより指定される角ABCを選択している。
【0100】
図15は、情報処理装置100が有する機能の例(図形要素に対してオブジェクトを接触する場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、オブジェクトObj(例えば、定規など)を移動させることができる。ここで、移動対象のオブジェクトObjと2つの図形要素(例えば、線分A及び線分B)を、画面1437aに示す。
【0101】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0102】
例えば、ユーザが行う操作は、画面1437bに示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる図形要素に対してオブジェクトObjを移動させる操作であると判定する。画面1437bに示された例では、線分Aと線分Bとに挟まれている角に接触するようにオブジェクトObjを移動させる操作がなされている。
【0103】
かかる場合には、処理部165は、オブジェクトの形状に基づいて図形要素を変更する。画面1437cに示された例では、処理部165は、オブジェクトObjの形状に基づいて、線分A及び線分Bの傾きを変更している。変更された線分A及び線分Bは、例えば、画面1437cに示されているように表示するよう表示制御部162により制御される。変更後の線分A及び線分Bは一体化されて取り扱われる(制約が発生する)こととしてもよい。また、オブジェクトObjが線分A及び線分Bにより挟まれた角から外された場合、制約が解除されることとしてもよい。
【0104】
図16は、情報処理装置100が有する機能の例(図形要素に対してオブジェクトを接触する場合)を示している。上記したように、処理部165は、ユーザからの操作に基づいて図形データを生成することができる。また、処理部165は、ユーザからの操作に基づいて、オブジェクトObj(例えば、定規など)を移動させることができる。ここで、移動対象のオブジェクトObjと2つの図形要素(例えば、線分A及び線分B)を、画面1438aに示す。
【0105】
ユーザは、入力装置150に対して操作(例えば、なぞる操作)を行う。続いて、操作取得部163は、ユーザによる操作を取得し、判定部164は、操作取得部163により取得された操作を判定する。処理部165は、判定部164による判定に基づいて図形データに対する処理を行う。
【0106】
例えば、ユーザが行う操作は、画面1438bに示されているようになされる。このとき、判定部164は、操作取得部163により取得された操作が図形データに含まれる図形要素に対してオブジェクトObjを移動させる操作であると判定する。画面1438bに示された例では、線分Bに接触するようにオブジェクトObjを移動させる操作がなされている。
【0107】
かかる場合には、処理部165は、オブジェクトの形状に基づいて図形要素を変更する。画面1438cに示された例では、処理部165は、オブジェクトObjの形状に基づいて、線分A及び線分Bの傾きを変更している。変更された線分A及び線分Bは、例えば、画面1438cに示されているように表示するよう表示制御部162により制御される。変更後の線分A及び線分Bは一体化されて取り扱われる(制約が発生する)こととしてもよい。また、オブジェクトObjが線分Bから離された場合、制約が解除されることとしてもよい。
【0108】
[1−3.情報処理装置の動作の流れ]
図17は、情報処理装置100の動作の流れの一例を示すフローチャートである。まず、処理部165は、ドラッグ操作の軌跡を解析して推定図形を生成する(ステップS11)。推定図形は、上記した例では、線分や円などに相当する。判定部164は、推定図形と既存図形との隣接があるか否かを判定する(ステップS12)。判定部164により、推定図形と既存図形との隣接がないと判定された場合には(ステップS12で「No」)、処理部165は、推定図形を補正し(ステップS14)、新規図形を生成し(ステップS15)、ステップS16に進む。
【0109】
判定部164により、推定図形と既存図形との隣接があると判定された場合には(ステップS12で「Yes」)、処理部165は、既存図形を選択し(ステップS13)、ステップS16に進む。動作終了の場合には(ステップS16で「Yes」)、動作が終了されるが、動作継続の場合には(ステップS16で「No」)、ステップS11に戻って動作が継続される。
【0110】
[1−4.情報処理装置の基本動作]
図18は、情報処理装置100の基本動作(線分群の生成及び選択)を説明するための図である。図18に示すように、操作取得部163により取得された頂点に基づいて、推定図形を生成することができる。処理部165は、画面1441aに示した例では、頂点Pに基づいて、線分Pを推定図形として生成できる。また、処理部165は、画面1442aに示した例では、頂点Pに基づいて、線分群Pを推定図形として生成できる。また、処理部165は、画面1443aに示した例では、頂点Pに基づいて、線分群Pを推定図形として生成できる。また、処理部165は、画面1444aに示した例では、頂点Pに基づいて、線分群Pを推定図形として生成できる。
【0111】
かかる場合、判定部164は、推定図形と既存図形との重複を判定して、処理部165は、その重複部分に基づいて、図形要素を選択する。処理部165は、画面1441bに示した例では、重複する頂点Pに基づいて、線分Pを選択できる。また、処理部165は、画面1442bに示した例では、重複する頂点Pに基づいて、角Pを選択できる。また、処理部165は、画面1443bに示した例では、重複する頂点Pに基づいて、領域Pを選択できる。また、処理部165は、画面1444bに示した例では、重複する頂点Pに基づいて、領域Pを選択できる。
【0112】
また、処理部165は、新規に図形要素を生成することもできる。処理部165は、画面1441cに示した例では、頂点Pに基づいて、線分Pを生成できる。また、処理部165は、画面1442cに示した例では、頂点Pに基づいて、三角形Pを生成できる。また、処理部165は、画面1443cに示した例では、頂点Pに基づいて、四角形Pを生成できる。また、処理部165は、画面1444cに示した例では、図形を生成しないこととしているが、頂点Pに基づいて、五角形Pを生成してもよい。
【0113】
図19は、情報処理装置100の基本動作(円の生成及び選択)を説明するための図である。図19に示すように、操作取得部163により取得された頂点に基づいて、推定図形を生成することができる。処理部165は、画面1446aに示した例では、頂点Pに基づいて、弧Pを推定図形として生成できる。また、処理部165は、画面1447aに示した例では、頂点Pに基づいて、弧Pを推定図形として生成できる。
【0114】
かかる場合、判定部164は、推定図形と既存図形との重複を判定して、処理部165は、その重複部分に基づいて、図形要素を選択する。処理部165は、画面1446bに示した例では、重複する頂点Pに基づいて、弧Pを選択できる。また、処理部165は、画面1447bに示した例では、重複する頂点Pに基づいて、弧Pを選択できる。
【0115】
また、処理部165は、新規に図形要素を生成することもできる。処理部165は、画面1446cに示した例では、図形を生成しないこととしているが、頂点Pに基づいて、弧Pを生成してもよい。また、処理部165は、画面1447cに示した例では、頂点Pに基づいて、弧Pを生成している。
【0116】
図20〜図22は、情報処理装置100の基本動作(図形要素に対する制約)を説明するための図である。図20〜図22に示すように、処理部165は、図形要素に対して制約を与えることができる。処理部165は、画面1451aに示したように、2つの頂点に対して「距離=0」という制約を与えることができる。また、処理部165は、画面1451bに示したように、2つの線分に対して「距離=0、角度=0」という制約を与えることができる。また、処理部165は、画面1451cに示したように、線分及び円に対して「距離=r」という制約を与えることができる。「距離」が「r」に近づくにつれて徐々に外力が働くようにしてもよい。
【0117】
また、処理部165は、画面1452aに示したように、2つの線分に対して「角度=0」という制約を与えることにより2つの線分を平行に維持することができる。また、処理部165は、画面1452bに示したように、2つの線分に対して「角度=90又は270」という制約を与えることにより2つの線分を垂直に維持することができる。
【0118】
また、処理部165は、画面1453aに示したように、2つの線分の各々の長さに対して「長さ1=長さ2」という制約を与えることにより2つの線分の長さを等しく維持することができる。「長さ1」が「長さ2」に近づくにつれて徐々に外力が働くようにしてもよい。また、処理部165は、画面1453bに示したように、2つの角に対して「角度1=角度2」という制約を与えることにより角を垂直に維持することができる。
【0119】
<2.まとめ>
本節で説明した実施形態によれば、ユーザによる操作を取得し、取得した操作に対する判定結果に基づいて図形データに対する処理を行うことができる。したがって、ユーザによる操作を自動的に判別して操作に応じて図形データに関する処理を行うことができる。
【0120】
本開示の技術は、例えば、描画ツールを使いながら説明を行うような場合(リアルタイムによる授業を行う場合、プレゼンテーションを行う場合など)に特に有効である。例えば、ユーザが描画ツールを使用して描画しながら説明を行う場合、ユーザは描画ツールから操作(例えば、オブジェクトの移動など)を選択し、その後に処理対象とする図形要素を選択する必要があり、操作が煩雑である。本開示の技術によれば、ユーザによる操作を自動的に判別して操作に応じて図形データに関する処理を行うことができるため、容易に操作を行うことができる。
【0121】
なお、本明細書において説明した各装置による一連の制御処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられるコンピュータ読取可能な記録媒体に予め格納される。そして、各プログラムは、例えば、実行時にRAM(Random Access Memory)に読み込まれ、CPU(Central Processing Unit)などのプロセッサにより実行される。
【0122】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0123】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
図形データを取得する図形取得部と、
ユーザによる操作を取得する操作取得部と、
前記操作取得部により取得された前記操作を判定する判定部と、
前記判定部による判定に基づいて前記図形データに対する処理を行う処理部と、
を備える、情報処理装置。
(2)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1または複数の端点の一部を選択する操作であると判定された場合に、新たな図形を生成する、
前記(1)に記載の情報処理装置。
(3)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1または複数の端点の全部を選択する操作であると判定された場合に、前記図形データを選択する、
前記(1)又は(2)に記載の情報処理装置。
(4)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる2つの交点を選択する操作であると判定された場合に、前記2つの交点間を結ぶ線分を新たな図形データとして生成する、
前記(1)〜(3)のいずれか1項に記載の情報処理装置。
(5)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1つの交点と前記図形データに含まれない点とを選択する操作であると判定された場合に、前記1つの交点と前記図形データに含まれない点との間を結ぶ線分を新たな図形データとして生成する、
前記(1)〜(4)のいずれか1項に記載の情報処理装置。
(6)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる端点を前記図形データに含まれる図形要素の位置に移動させる操作であると判定された場合に、前記端点を前記図形要素に接続させる、
前記(1)〜(5)のいずれか1項に記載の情報処理装置。
(7)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる2つの図形要素を選択する操作及び前記2つの図形要素が満たすべき関係を選択する操作であると判定された場合に、前記関係が満たされるように前記2つの図形要素のうちの少なくとも一方を変更する、
前記(1)〜(6)のいずれか1項に記載の情報処理装置。
(8)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる図形要素に対してオブジェクトを接触させる操作であると判定された場合に、前記オブジェクトの形状に基づいて前記図形要素を変更する、
前記(1)〜(7)のいずれか1項に記載の情報処理装置。
(9)
コンピュータを、
図形データを取得する図形取得部と、
ユーザによる操作を取得する操作取得部と、
前記操作取得部により取得された前記操作を判定する判定部と、
前記判定部による判定に基づいて前記図形データに対する処理を行う処理部と、
を備える、情報処理装置として機能させるためのプログラム。
(10)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1または複数の端点の一部を選択する操作であると判定された場合に、新たな図形を生成する、
前記(9)に記載のプログラム。
(11)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1または複数の端点の全部を選択する操作であると判定された場合に、前記図形データを選択する、
前記(9)又は(10)に記載のプログラム。
(12)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる2つの交点を選択する操作であると判定された場合に、前記2つの交点間を結ぶ線分を新たな図形データとして生成する、
前記(9)〜(11)のいずれか1項に記載のプログラム。
(13)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1つの交点と前記図形データに含まれる端点とを選択する操作であると判定された場合に、前記1つの交点と前記端点との間を結ぶ線分を新たな図形データとして生成する、
前記(9)〜(12)のいずれか1項に記載のプログラム。
(14)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる端点を前記図形データに含まれる図形要素の位置に移動させる操作であると判定された場合に、前記端点を前記図形要素に接続させる、
前記(9)〜(13)のいずれか1項に記載のプログラム。
(15)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる2つの図形要素を選択する操作及び前記2つの図形要素が満たすべき関係を選択する操作であると判定された場合に、前記関係が満たされるように前記2つの図形要素のうちの少なくとも一方を変更する、
前記(9)〜(14)のいずれか1項に記載のプログラム。
(16)
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる図形要素に対してオブジェクトを接触させる操作であると判定された場合に、前記オブジェクトの形状に基づいて前記図形要素を変更する、
前記(9)〜(15)のいずれか1項に記載のプログラム。
(17)
図形データを取得することと、
ユーザによる操作を取得することと、
前記操作取得部により取得された前記操作を判定することと、
前記判定部による判定に基づいて前記図形データに対する処理を行うことと、
を含む、情報処理方法。
【符号の説明】
【0124】
100 情報処理装置
110 CPU
120 RAM
130 不揮発性メモリ
140 表示装置
150 入力装置
160 制御部
161 図形取得部
162 表示制御部
163 操作取得部
164 判定部
165 処理部


【特許請求の範囲】
【請求項1】
図形データを取得する図形取得部と、
ユーザによる操作を取得する操作取得部と、
前記操作取得部により取得された前記操作を判定する判定部と、
前記判定部による判定に基づいて前記図形データに対する処理を行う処理部と、
を備える、情報処理装置。
【請求項2】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1または複数の端点の一部を選択する操作であると判定された場合に、新たな図形を生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1または複数の端点の全部を選択する操作であると判定された場合に、前記図形データを選択する、
請求項1に記載の情報処理装置。
【請求項4】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる2つの交点を選択する操作であると判定された場合に、前記2つの交点間を結ぶ線分を新たな図形データとして生成する、
請求項1に記載の情報処理装置。
【請求項5】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1つの交点と前記図形データに含まれない点とを選択する操作であると判定された場合に、前記1つの交点と前記図形データに含まれない点との間を結ぶ線分を新たな図形データとして生成する、
請求項1に記載の情報処理装置。
【請求項6】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる端点を前記図形データに含まれる図形要素の位置に移動させる操作であると判定された場合に、前記端点を前記図形要素に接続させる、
請求項1に記載の情報処理装置。
【請求項7】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる2つの図形要素を選択する操作及び前記2つの図形要素が満たすべき関係を選択する操作であると判定された場合に、前記関係が満たされるように前記2つの図形要素のうちの少なくとも一方を変更する、
請求項1に記載の情報処理装置。
【請求項8】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる図形要素に対してオブジェクトを接触させる操作であると判定された場合に、前記オブジェクトの形状に基づいて前記図形要素を変更する、
請求項1に記載の情報処理装置。
【請求項9】
コンピュータを、
図形データを取得する図形取得部と、
ユーザによる操作を取得する操作取得部と、
前記操作取得部により取得された前記操作を判定する判定部と、
前記判定部による判定に基づいて前記図形データに対する処理を行う処理部と、
を備える、情報処理装置として機能させるためのプログラム。
【請求項10】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1または複数の端点の一部を選択する操作であると判定された場合に、新たな図形を生成する、
請求項9に記載のプログラム。
【請求項11】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1または複数の端点の全部を選択する操作であると判定された場合に、前記図形データを選択する、
請求項9に記載のプログラム。
【請求項12】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる2つの交点を選択する操作であると判定された場合に、前記2つの交点間を結ぶ線分を新たな図形データとして生成する、
請求項9に記載のプログラム。
【請求項13】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる1つの交点と前記図形データに含まれる端点とを選択する操作であると判定された場合に、前記1つの交点と前記端点との間を結ぶ線分を新たな図形データとして生成する、
請求項9に記載のプログラム。
【請求項14】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる端点を前記図形データに含まれる図形要素の位置に移動させる操作であると判定された場合に、前記端点を前記図形要素に接続させる、
請求項9に記載のプログラム。
【請求項15】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる2つの図形要素を選択する操作及び前記2つの図形要素が満たすべき関係を選択する操作であると判定された場合に、前記関係が満たされるように前記2つの図形要素のうちの少なくとも一方を変更する、
請求項9に記載のプログラム。
【請求項16】
前記処理部は、
前記判定部により、前記操作取得部により取得された前記操作が前記図形データに含まれる図形要素に対してオブジェクトを接触させる操作であると判定された場合に、前記オブジェクトの形状に基づいて前記図形要素を変更する、
請求項9に記載のプログラム。
【請求項17】
図形データを取得することと、
ユーザによる操作を取得することと、
取得された前記操作を判定することと、
判定に基づいて前記図形データに対する処理を行うことと、
を含む、情報処理方法。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2012−256270(P2012−256270A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−129855(P2011−129855)
【出願日】平成23年6月10日(2011.6.10)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】