(57)【要約】【課題】２次元空間の表示における既存の代表的な操作と併用可能な操作で、回転軸の選択と回転を実現させることのできる図形処理装置および図形処理プログラムを提供する。【解決手段】３次元空間を２次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置であって、ユーザによる表示領域のタッチ操作を入力として受け付け、２つの入力が開始された際に、開始が早いほうの第１入力点の位置、第１入力点よりも開始が遅いほうの第２入力点の位置、および第２入力点のドラッグ中の位置の情報を取得する入力部と、前記表示領域上における前記第１入力点の位置に基づいて、３次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、第１入力点と第２入力点の位置関係の変化に基づいて、回転軸での回転の実行を判定し、第２入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを備える。【選択図】図１
2018063738.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間を２次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置であって、
ユーザによる前記表示領域のタッチ操作を入力として受け付け、２つの入力が開始された際に、開始が早いほうの第１入力点の位置、前記第１入力点よりも開始が遅いほうの第２入力点の位置、および前記第２入力点のドラッグ中の位置の情報を取得する入力部と、
前記表示領域上における前記第１入力点の位置に基づいて、３次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、
前記第１入力点と前記第２入力点の位置関係の変化に基づいて、前記回転軸での回転の実行を判定し、前記第２入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを、
備える図形処理装置。
【請求項２】
前記回転軸決定部は、
前記第１入力点の位置が前記表示領域の上部もしくは下部に位置していればy軸を回転軸と決定し、前記第１入力点の位置が前記表示領域の左部もしくは右部に位置していればx軸を回転軸と決定する請求項１に記載の図形処理装置。
【請求項３】
３次元空間を２次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置であって、
ユーザによる前記表示領域のタッチ操作を入力として受け付け、２つの入力が開始された際に、開始が早いほうの第１入力点の位置、前記第１入力点よりも開始が遅いほうの第２入力点の位置、前記第２入力点のドラッグ中の位置の情報を取得する入力部と、
前記第１入力点と前記第２入力点のドラッグ開始位置の位置関係に基づいて、３次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、
前記第１入力点と前記第２入力点の位置関係の変化に基づいて前記回転軸での回転の実行を判定し、前記第２入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを、
備える図形処理装置。
【請求項４】
前記回転軸決定部は、
前記第１入力点の位置と前記第２入力点のドラッグ開始位置について、
前記２つの入力点を通る直線と前記表示領域の縦の枠線が為す狭い方の角度が所定値以下との条件を満たす場合には、前記回転軸をｙ軸に決定し、
前記２つの入力点を通る直線と前記表示領域の横の枠線が為す狭い方の角度が所定値以下との条件を満たす場合には、前記回転軸をｘ軸に決定する請求項３に記載の図形処理装置。
【請求項５】
前記回転実行判定部は、
前記第１入力点の位置と前記第２入力点のドラッグ中の位置Pn-１を結ぶ線分と、前記位置Pn-１と前記第２入力点のドラッグ中のｎ回目の位置Pnを結ぶ線分とに関し、これら２つの線分が作る劣角が所定の範囲内である場合に回転の実行と判定する請求項３または請求項４に記載の図形処理装置。
【請求項６】
前記回転実行判定部は、
前記回転軸がｘ軸であり、
前記第２入力点のドラッグ中の位置Pn-１を通る、前記表示領域の横枠線と平行な直線で前記表示領域を分割して捉えたとき、前記ドラッグ方向が上側に向かっていれば右回転と決定し、前記ドラッグ方向が下側に向かっていれば左回転と決定する請求項５に記載の図形処理装置。
【請求項７】
前記回転実行判定部は、
前記回転軸がｙ軸であり、
前記第２入力点のドラッグ中の位置Pn-１を通る、前記表示領域の縦枠線と平行な直線で前記表示領域を分割して捉えたとき、前記ドラッグ方向が左側に向かっていれば右回転と決定し、前記ドラッグ方向が右側に向かっていれば左回転と決定する請求項５に記載の図形処理装置。
【請求項８】
前記回転軸決定部で決定された回転軸の情報を、選択回転軸情報として格納する回転軸情報格納部と、
前記決定された回転軸において、前記決定された回転方向へ、所定回転角度だけ回転させた３次元空間の描画を指示する描画指示部と、
描画する物体の情報、前記表示領域の諸元を取得し、前記描画指示部からの指示を受けて、視点を回転させた後の３次元空間の２次元平面への投影を前記表示領域に表示させる描画部とを、
さらに備える請求項１乃至請求項７のいずれか１項に記載の図形処理装置。
【請求項９】
前記入力部から前記第１入力点の押下解除通知の情報を取得し、前記回転軸情報格納部に格納されている選択回転軸情報を無しの状態に更新する回転軸選択解除部をさらに備える請求項８に記載の図形処理装置。
【請求項１０】
前記回転実行判定部における回転の実行判定と回転方向の決定処理は、前記第２入力点のドラッグ中に定期的に繰り返し実行する請求項１乃至請求項９のいずれか１項に記載の図形処理装置。
【請求項１１】
前記回転実行判定部は、
前記劣角が、前記所定の範囲の下限よりも小さい場合には、ピンチイン操作と判定し、
前記劣角が、前記所定の範囲の上限よりも大きい場合には、ピンチアウト操作と判定する請求項５に記載の図形処理装置。
【請求項１２】
前記回転軸決定部は、
前記第１入力点の位置が物体を描画するピクセルに相当する場合、前記回転軸は選択しない請求項１乃至請求項１１のいずれか１項に記載の図形処理装置。
【請求項１３】
前記表示領域に、３次元空間表示の操作を受け付ける専用領域を設定し、前記専用領域に対する操作を前記表示領域に対する操作とみなす請求項１乃至請求項１２のいずれか１項に記載の図形処理装置。
【請求項１４】
３次元空間を２次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置に、
ユーザによる前記表示領域のタッチ操作を入力として受け付け、２つの入力が開始された際に、開始が早いほうの第１入力点の位置、前記第１入力点よりも開始が遅いほうの第２入力点の位置、および前記第２入力点のドラッグ中の位置の情報を取得する機能と、
前記表示領域上における前記第１入力点の位置に基づいて、３次元空間における視点の回転を実行させるための回転軸を決定する機能と、
前記第１入力点と前記第２入力点の位置関係の変化に基づいて、前記回転軸での回転の実行を判定し、前記第２入力点のドラッグ方向に基づいて、回転方向を決定する機能と、
を実現させるための図形処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、図形処理装置および図形処理プログラムに関する。
【背景技術】
【０００２】
３次元空間を２次元領域に表示するアプリケーションが存在するが、従来、３次元空間の表示は、実際に３次元物体を扱う専門的な領域でしか利用されていない。例えば、形状モデリング（車、建築物、精密機器部品など）や、医療データ表示（内蔵３Ｄ画像表示など）である。
【０００３】
専門家向けの３次元空間表示では、操作方法はコストをかけて学習してもらえばよく、操作の直感性よりも、多機能性や精確性の方が重視される。
【０００４】
これからは、３次元空間の操作に慣れていないユーザ向けにも、３次元空間の表示が普及すると予想される。例えば、地図に重ねて街ごとの電力消費量を表示するWebサービスや、店舗内３次元地図に棚の段や列ごとの売上状況や推移情報を重ねて、視覚的に見せる店舗内システム等である。
【０００５】
ユーザが３次元空間を把握するためには、視点を移動して様々な位置や方向から見られる必要があり、そのための操作の１つに、視点を回転させる操作がある。ユーザからの入力操作をもとに、システムが回転軸を決め、あらゆる方向に視点を回転させられるように任意の回転軸をユーザが指定できる仕組みがあるが、狙い通りの回転を実現できる回転軸を、不慣れなユーザが正確に指定することは難しい。これは、２次元領域に対する入力で３次元空間における視点の回転を指示しなければならないことが一因である。
【０００６】
例えば、２次元領域上のマウスドラッグの軌跡で、３次元空間における視点の回転を指示する。そこで、ユーザがｘ軸、y軸、z軸のいずれか１つを回転軸として明示的に選択して回転することを繰り返すことで、視点の回転を実現する方法も使われている。
【０００７】
しかしながら、選択可能な回転軸を限定することで、ユーザにとって理解しやすい回転を実現できる反面、選択可能な回転軸が限定されることで、一度の回転で移動可能な視点の位置は限定される。また、選択可能な回転軸が限定されていない場合と比べて、任意の視点の回転を実現するために必要な回転の回数が増え、ユーザにとって手間がかかる。
【０００８】
このように、限定された候補の中から回転軸を選択する手法は、狭い範囲の特定箇所でポイント操作しないと回転軸を選択することができず、ユーザに回転軸を選択させるために、補助的な表示が必須である、という問題がある。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】３Dモデリング用ソフトウェアBlender  http://blender.jp/modules/docs/index.php
【特許文献】
【００１０】
【特許文献１】特開平９−１８５４５５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明が解決しようとする課題は、２次元空間の表示における既存の代表的な操作と併用可能な操作で、回転軸の選択と回転を実現させることのできる図形処理装置および図形処理プログラムを提供することである。
【課題を解決するための手段】
【００１２】
実施形態の図形処理装置は、３次元空間を２次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置であって、ユーザによる前記表示領域のタッチ操作を入力として受け付け、２つの入力が開始された際に、開始が早いほうの第１入力点の位置、前記第１入力点よりも開始が遅いほうの第２入力点の位置、および前記第２入力点のドラッグ中の位置の情報を取得する入力部と、前記表示領域上における前記第１入力点の位置に基づいて、３次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、前記第１入力点と前記第２入力点の位置関係の変化に基づいて、前記回転軸での回転の実行を判定し、前記第２入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを備える。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る図形処理装置の概略構成を示すブロック図である。
【図２】表示領域の各部を説明する図である。
【図３】表示領域に無反応部を設けた一例を説明する図である。
【図４】回転軸決定の第１の手法における処理の流れを示すフローチャートである。
【図５】入力点の縦関係および入力点の横関係を説明する図である。
【図６】回転軸決定の第２の手法における処理の流れを示すフローチャートである。
【図７】回転の実行判定を説明する図である。
【図８】回転の実行判定を説明する図である。
【図９】回転方向の決定を説明する図である。
【図１０】回転軸がｘ軸の場合の回転方向の決定を説明する図である。
【図１１】回転軸がｙ軸の場合の回転方向の決定を説明する図である。
【図１２】回転実行判定部における回転実行判定および回転方向決定の処理の流れを示すフローチャートである。
【図１３】回転方向の変化を説明する図である。
【図１４】回転軸の選択解除を説明する図である。
【図１５】本実施例における前提条件を説明する図である。
【図１６】本実施例において第１入力点と表示領域の位置関係を用いた回転軸決定手法（１）を適用する説明図である。
【図１７】本実施例において第１入力点と第２入力点の位置関係を用いた回転軸決定手法（２）を適用する説明図である。
【図１８】本実施例における、劣角θ２および閾値α、βの関係を説明する図である。
【図１９】本実施例において、視点を回転軸ｙにて２２．５度左回転させることによる描画を説明する図である。
【図２０】本実施形態の変形例１を説明する図である。
【図２１】本実施形態の変形例２を説明する図である。
【図２２】本実施形態の変形例３を説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１５】
まず、本実施形態で用いる主要な用語について説明する。
【００１６】
「表示領域」とは、画面内で３次元空間を表示している２次元領域をいう。表示領域には、３次元空間を空間中のある視点から見た目を２次元平面に投影した内容が描画される。どのような２次元平面に投影するのかは、アプリケーションによって異なる。
【００１７】
「視点」とは、空間をどの位置でどの方向に見るかを決めるものをいう。視点の位置と視点の方向を変えると、３次元空間にある物体を異なる角度から見ることができる。
【００１８】
「視点の回転」とは、視点の位置と視点の方向を変更する動きの１つをいう。３次元空間上の任意の点cに向いている視点に関して、点cとの距離を維持したまま、視点の位置v１を位置v２に移動させる場合、点cを回転中心点と呼ぶ。３つの点c、v１、v２を含む平面に対して垂直に交わり、かつ、点cを通る直線を回転軸と呼ぶ。本実施形態では、説明の便宜上、回転中心点cが３次元空間の原点(0,0,0)であるとする。回転中心点cが原点でないこともあるが、座標系が同じであれば問題ない。
【００１９】
回転軸に対して、視点の右回転（反時計回り）と左回転（時計回り）があり、視点の回転方向と表示領域に描画されている３次元空間の物体の回転方向は逆である。例えば、視点を回転軸を中心に右回転させると、表示領域での見た目は、回転軸を中心に物体が左に回転したように見える。
【００２０】
「タップ」とは、表示領域に対するユーザの入力の１種類であって、タッチインターフェース式の端末で、画面を軽く叩く操作のことをいう。マウス操作のクリックに相当し、短時間に２回連続でタップすることを“ダブルタップ”といい、１回だけタップすることを“シングルタップ”という場合もある。
【００２１】
「ドラッグ」とは、表示領域に対するユーザの入力の１種類であって、タップ時にボタンまたは指を押したままの状態で画面上を移動させることをいう。移動させずに、単に押したままにすることもある。
【００２２】
「ピンチイン」とは、表示領域上で２本の指で２つの入力を同時に行い、つまむように動かし、画面を縮小させる操作のことをいう。
【００２３】
「ピンチアウト」とは、表示領域上で２本の指で２つの入力を同時に行い、広げるように動かし、画面を拡大させる操作のことをいう。
【００２４】
「入力点」とは、表示領域におけるタップ時やドラッグ時のポイント位置をいう。
【００２５】
「第１入力点、第２入力点」とは、２つの入力が開始されたとき、第１入力点は開始が早い方の入力点であり、第２入力点は開始が遅い方の入力点である。
【００２６】
「劣角」とは、交点を持つ２つの線分もしくは半直線が平面上で為す小さい方の角度をいう。劣角は、０°よりも大きく、１８０°よりも小さい。
【００２７】
本実施形態においては、３次元空間における視点の回転を実行するための回転軸について、（１）第１入力点と表示領域の位置関係から決定、（２） 第１入力点と第２入力点のドラッグ開始位置の位置関係から決定、のいずれかにより回転軸を決定し、第１入力点と第２入力点の位置関係から回転させるか否かを判定し、第２入力点のドラッグ方向から、回転方向を決定する。
【００２８】
また、本実施形態においては、表示領域における上下左右ドラッグは、基本的に並行移動のための操作であり、ピンチイン／ピンチアウトは、縮小／拡大のための操作である。また、回転中心点は、ユーザによって事前に決められており、z軸は回転軸として考慮せず、ｘ軸、ｙ軸のいずれかを回転軸として選択して回転させる。
【００２９】
図１は、本発明の実施形態に係る図形処理装置の概略構成を示すブロック図である。この装置は汎用のコンピュータ（例えばパーソナルコンピュータ（ＰＣ）等）と、同コンピュータ上で動作するソフトウェアとを用いて実現される。コンピュータとしては、ＣＡＤ（Computer Aided Design）やＣＡＥ（Computer Aided Engineering）に好適なエンジニアリングワークステーション（ＥＷＳ）等も含む。本実施形態はこのようなコンピュータにおいて、（１）第１入力点と表示領域の位置関係に基づいて決定、（２） 第１入力点と第２入力点の位置関係に基づいて決定、のいずれかにより回転軸を決定し、第１入力点と第２入力点の位置関係から回転させるか否かを判定し、第２入力点のドラッグ方向から、回転方向を決定するプログラムとして実施することもできる。
【００３０】
図１に示すように、本実施形態に係る図形処理装置１は、主として、入力部１０と、回転軸決定部２０と、回転軸選択解除部３０と、回転実行判定部４０と、描画指示部５０と、回転軸情報格納部６０、描画部７０から構成されている。
【００３１】
入力部１０は、タッチインターフェース式の入力を受け付けるもので、例えば、静電容量式のタッチパネルで構成される。ユーザの画面タッチ操作を入力し、第１入力点とこの第１入力点よりも入力の開始が遅い方の入力点である第２入力点の位置を取得する。入力部１０は、第２入力点がドラッグされている間は、ドラッグ中の位置を取得する。さらに、入力部１０は、第１入力点の押下が解除されたことを検知する。入力部１０からは、第１入力点の位置、第２入力点のドラッグ中の位置、第１入力点の押下解除通知の情報が出力される。
【００３２】
回転軸決定部２０は、入力部１０から第１入力点の位置および第２入力点のドラッグ中の位置の情報を取得し、次のいずれかの手法で３次元空間における視点の回転を実行するための回転軸を決定する。決定手法の詳細は、後述する。
【００３３】
（１）     第１入力点と表示領域の位置関係による回転軸の決定
（２）     第１入力点と第２入力点のドラッグ開始位置の位置関係による回転軸の決定
回転軸決定部２０は、回転軸に関する、「なし」、「x軸」、「y軸」のいずれかの選択回転軸情報を有する。回転軸決定部２０は、上記のいずれかで決定した選択回転軸情報を回転軸情報格納部６０に出力し、既に格納されている選択回転軸情報を更新させる。選択回転軸情報の初期値は、ユーザが回転軸を選択するまでは、「なし」である。
【００３４】
回転軸選択解除部３０は、入力部１０から第１入力点の押下解除通知の情報を取得し、回転軸情報格納部６０に格納されている選択回転軸情報を「なし」に更新する。
【００３５】
回転実行判定部４０は、入力部１０から第１入力点の位置および第２入力点のドラッグ中の位置の情報を取得するとともに、回転軸情報格納部６０に格納されている選択回転軸情報を参照する。選択回転軸情報が「なし」でない場合に、第１入力点の位置と第２入力点の位置関係に基づいて、後述する所定の判定条件を満たす場合には、描画対象である物体を「回転する」と判定し、判定条件を満たさない場合には、「回転はしない」と判定する。回転実行判定の詳細は後述する。尚、選択回転軸情報が「なし」の場合、回転軸は選択されてないと判定する。
【００３６】
さらに、回転実行判定部４０は、第２入力点のドラッグ方向に応じて、回転方向を決定する。回転実行判定部４０は、「回転する」と判定した場合には、回転方向、選択回転軸情報、第２入力点のドラッグ中の位置の情報を出力する。
【００３７】
描画指示部５０は、回転実行判定部４０から回転方向、選択回転軸情報、第２入力点のドラッグ中の位置の情報を入力し、システム設計者が予め設定する手法で、第２入力点のドラッグ中の位置を用いて、描画対象である物体の回転角度を計算する。ここで、回転角度は、例えば、回転軸をx軸とすると、表示領域の２次元座標における任意の２点のy軸方向の差分から計算することができる。
【００３８】
また、描画指示部５０は、選択回転軸情報に記録された軸を回転軸として、上記回転方向へ、計算された回転角度だけ回転させた３次元空間の物体の描画を指示する。物体の回転に限らず、視点のズームイン／ズームアウトや平行移動、物体の移動など、３次元空間における物体や視点の変化を表示領域に反映させるために描画を指示することが好適である。
【００３９】
回転軸情報格納部６０は、選択された選択回転軸情報を格納するものである。初期値は、「なし」である。
【００４０】
描画部７０は、描画する物体の情報、表示領域の諸元等を取得し、描画指示部５０からの指示を受けて、最終的に視点を回転させた後の３次元空間の２次元平面への投影を表示領域に表示させる。
【００４１】
次に、以上のように構成された図形処理装置１における、回転軸の決定、回転の実行判定、回転方向の決定の各処理について詳述する。
【００４２】
＜回転軸の決定＞
図２は、表示領域の各部を説明する図である。本実施形態では、表示領域を図２（ａ）に示すように、上部、下部、図２（ｂ）に示すように、左部、右部の４つの領域に分割する。どのように４分割するかは、ユーザが設定することができる。尚、表示領域に、上部、下部、左部、右部以外に、ユーザからのタッチ操作に反応しない部分を設定してもよい。図３は、表示領域に無反応部を設けた一例を説明する図である。
【００４３】
（回転軸決定の第１の手法）
回転軸決定の第１の手法では、
（１）第１入力点の位置が表示領域の上部もしくは下部に位置していれば「y軸」を回転軸と決定し、第１入力点の位置が表示領域の左部もしくは右部に位置していれば「x軸」を回転軸と決定する。
【００４４】
図４は、回転軸決定の第１の手法における処理の流れを示すフローチャートである。
【００４５】
まず、入力部１０において取得した第１入力点の位置について、回転軸決定部２０は、表示領域において上部、下部、左部、右部、無反応部のいずれに位置しているかを計算する（ステップＳ４１）。
【００４６】
次に、第１入力点の位置が無反応部であるか否かを判定する（ステップＳ４２）。
【００４７】
第１入力点の位置が無反応部であれば（ステップＳ４２でＹｅｓ）、回転軸決定の第１の手法の処理を終了し、第１入力点の位置が無反応部でなければ（ステップＳ４２でＮｏ）、第１入力点の位置が上部または下部であるか否かを判定する（ステップＳ４３）。
【００４８】
第１入力点の位置が上部または下部であれば（ステップＳ４３でＹｅｓ）、選択回転軸情報を「ｙ軸」で更新（ステップＳ４４）し、回転軸決定の第１の手法の処理を終了する。
【００４９】
一方、第１入力点の位置が上部または下部でなければ（ステップＳ４３でＮｏ）、選択回転軸情報を「ｘ軸」で更新（ステップＳ４５）し、回転軸決定の第１の手法の処理を終了する。
【００５０】
（回転軸決定の第２の手法）
回転軸決定の第２の手法では、
（２） 第１入力点の位置と第２入力点のドラッグ開始位置が、“縦関係”にあれば、「y軸」を、“横関係”にあれば、「x軸」を回転軸と決定する。尚、ユーザによる入力操作がドラッグ操作である、との判定は周知の手法を適用することができる。
【００５１】
図５は、入力点の縦関係および入力点の横関係を説明する図である。図５（ａ）は２つの入力点が縦関係にある場合を示し、図５（ｂ）は２つの入力点が横関係にある場合を示している。図５に示すように、２つの入力点を通る直線と表示領域の縦横の枠線が為す狭い方の角度θ１が閾値a以下という判定条件を満たすか考える。
【００５２】
縦枠線が判定条件を満たす場合（図５（ａ）参照）、２つの入力点は縦関係にあるとし、回転軸をｙ軸に決定する。以下の説明では、２つの入力点が縦関係にある場合、角度θ１＝Vと表記する。
【００５３】
一方、横枠線が判定条件を満たす場合（図５（ｂ）参照）、 ２つの入力点は横関係にあるとし、回転軸をｘ軸に決定する。以下の説明では、２つの入力点が横関係にある場合、角度θ１＝H と表記する。尚、どちらの枠線も判定条件を満たさない場合、回転軸は選択されていないとみなす。
【００５４】
上記した閾値aは、ユーザによって事前に設定する。例えば、閾値a＝３０°とする。
【００５５】
図６は、回転軸決定の第２の手法における処理の流れを示すフローチャートである。
【００５６】
まず、入力部１０において取得した第１入力点の位置、第２入力点のドラッグ中の位置に関し、回転軸決定部２０は、第１入力点と第２入力点のドラッグ開始位置を通る直線と表示領域の縦枠線が為す狭い方の角度V および表示領域の横枠線が為す狭い方の角度Hを計算する（ステップＳ６１）。
【００５７】
次に、計算した２つの角度の大小について、V＜Hか否かを判定する（ステップＳ６２）。
【００５８】
V＜Hであれば（ステップＳ６２でＹｅｓ）、閾値aと大小を比較しV ＜= aか否かを判定する（ステップＳ６３）。
【００５９】
V ＜= aでなければ（ステップＳ６３でＮｏ）、回転軸決定の第２の手法の処理を終了し、V ＜= aであれば（ステップＳ６３でＹｅｓ）、選択回転軸情報を「ｙ軸」で更新（ステップＳ６４）し、回転軸決定の第２の手法の処理を終了する。
【００６０】
一方、V＜Hでなければ（ステップＳ６２でＮｏ）、V＞Hか否かを判定する（ステップＳ６５）。
【００６１】
V＞Hでなければ（ステップＳ６５でＮｏ）、回転軸決定の第２の手法の処理を終了し、V＞Hであれば（ステップＳ６５でＹｅｓ）、H ＜= aか否かを判定する（ステップＳ６６）。
【００６２】
H ＜= a でなければ（ステップＳ６６でＮｏ）、回転軸決定の第２の手法の処理を終了し、H ＜= a であれば（ステップＳ６６でＹｅｓ）、選択回転軸情報を「ｘ軸」で更新（ステップＳ６７）し、回転軸決定の第２の手法の処理を終了する。
【００６３】
上述したようにして回転軸が選択された際の、ユーザによるｘ軸あるいはｙ軸の把握（認識）については、例えば、以下のようにすることができる。
【００６４】
（１） 補助的な情報として回転軸を表示領域上に描画
（２）表示領域内外のどこかに回転軸を示すテキストを表示
＜回転の実行判定＞
本実施形態においては、第１入力点と第２入力点の位置関係から、上記回転軸において物体を回転させる（すなわち、視点を回転させる）か否かを判定する。図７、図８は、回転の実行判定を説明する図である。図７に示すように、第２入力点のドラッグ開始位置をP0とし、そのドラッグ中のn回目の処理が行われる時点での第２入力点の位置をPnとする。第１入力点、第２入力点は、表示領域内であれば、位置を問わない。
【００６５】
図８に示すように、第１入力点の位置と第２入力点のドラッグ中の位置Pn-１を結ぶ線分SL１、第２入力点のドラッグ中の位置Pn-１とPnを結ぶ線分SL２に関して、２つの線分SL１、SL２が作る劣角θ２を考える。
【００６６】
本実施形態においては、劣角θ２が閾値α以上で、かつ、閾値β以下の場合、すなわち、α＜＝θ２＜＝βである場合には、回転の実行と判定する（図８（ａ）参照）。閾値α、閾値βは、０°＜α＜１８０°、０°＜β＜１８０°、α≠βであり、システム設計者が予め設定する。例えば、閾値α＝３０°、閾値β＝１５０°とする。
【００６７】
係る条件判定により、図８（ｂ）に示すように、角度が大きすぎる場合には、回転とは判定せず、ピンチアウト（拡大操作）と判定することができる。一方、図８（ｃ）に示すように、角度が小さすぎる場合にも、回転とは判定せず、ピンチイン（縮小操作）と判定することができる。
【００６８】
尚、回転の実行判定と回転方向の決定処理は、ユーザによる入力操作にすみやかに反応すべく、第２入力点のドラッグ中に定期的に繰り返し実行するのが好適である。
【００６９】
＜回転方向の決定＞
本実施形態においては、上述のようにして回転の実行判定がなされた場合、次に、第２入力点のドラッグ方向に基づいて、回転方向を決定する。図９は、回転方向の決定を説明する図である。まず、図９に示すように、第２入力点のドラッグ中の位置Pn-１とPnからドラッグ方向を考える。
【００７０】
図１０は、回転軸がｘ軸の場合の回転方向の決定を説明する図である。第２入力点のドラッグ中の位置Pn-１を通る、表示領域の横枠線と平行な直線で表示領域を分割して考える。図１０（ａ）に示すように、ドラッグ方向が上側に向かっていれば、「右回転」と決定し、図１０（ｂ）に示すように、ドラッグ方向が下側に向かっていれば、「左回転」と決定する。
【００７１】
図１１は、回転軸がｙ軸の場合の回転方向の決定を説明する図である。第２入力点のドラッグ中の位置Pn-１を通る、表示領域の縦枠線と平行な直線で表示領域を分割して考える。図１１（ａ）に示すように、ドラッグ方向が左側に向かっていれば、「右回転」と決定し、図１１（ｂ）に示すように、ドラッグ方向が右側に向かっていれば、「左回転」と決定する。
【００７２】
図１２は、回転実行判定部４０における回転実行判定および回転方向決定の処理の流れを示すフローチャートである。
【００７３】
まず、回転実行判定部４０は、入力部１０から第１入力点の位置、第２入力点の位置および第２入力点のドラッグ中の位置情報を取得し、回転軸情報格納部６０に格納されている選択回転軸情報を参照する（ステップＳ１２０１）。
【００７４】
次に、選択回転軸情報が「なし」であるか否かを判定する（ステップＳ１２０２）。
【００７５】
選択回転軸情報が「なし」であれば（ステップＳ１２０２でＹｅｓ）、回転実行判定および回転方向決定の処理を終了する。
【００７６】
選択回転軸情報が「なし」でなければ（ステップＳ１２０２でＮｏ）、第１入力点の位置と第２入力点の位置Pn-１を結ぶ線分SL１、第２入力点の位置Pn-１とPnを結ぶ線分SL２に基づいて、２つの線分の劣角θ２を計算する（ステップＳ１２０３）。
【００７７】
続いて、０°＜α＜１８０°、０°＜β＜１８０°、α≠βであるとき、劣角θ２と２つの閾値α、βとが、α＜＝θ２＜＝βか否かを判定する（ステップＳ１２０４）。
【００７８】
α＜＝θ２＜＝βでなければ（ステップＳ１２０４でＮｏ）、回転実行判定の処理を終了する。
【００７９】
一方、α＜＝θ２＜＝βであれば（ステップＳ１２０４でＹｅｓ）、次に、選択回転軸がｘ軸か否かを判定する（ステップＳ１２０５）。
【００８０】
選択回転軸がｘ軸であれば（ステップＳ１２０５でＹｅｓ）、ドラッグ方向が下側か否かを判定する（ステップＳ１２０６）。
【００８１】
ドラッグ方向が下側であれば（ステップＳ１２０６でＹｅｓ）、回転方向を「左回転」に決定（ステップＳ１２０７）し、ドラッグ方向が下側でなければ（ステップＳ１２０６でＮｏ）、回転方向を「右回転」に決定（ステップＳ１２０８）する。
【００８２】
一方、選択回転軸がｘ軸でなければ（ステップＳ１２０５でＮｏ）、ドラッグ方向が右側か否かを判定する（ステップＳ１２０９）。
【００８３】
ドラッグ方向が右側であれば（ステップＳ１２０９でＹｅｓ）、回転方向を「左回転」に決定（ステップＳ１２１０）し、ドラッグ方向が右側でなければ（ステップＳ１２０９でＮｏ）、回転方向を「右回転」に決定（ステップＳ１２１１）する。
【００８４】
選択回転軸および回転方向の情報は、描画指示部５０に送られる。
【００８５】
＜回転方向の変化＞
第２入力点のドラッグ中に定期的に回転方向の決定が繰り返し実施されることにより、ドラッグ中に回転方向が変化しうる。
【００８６】
図１３は、回転方向の変化を説明する図である。図１３に示すように、例えば、右回転していた時に、ドラッグ方向を右側に変えると、左回転に変わる。図１３に示す例では、１回目の回転方向決定処理では右回転だったものが、２回目の回転方向決定処理では、左回転に変化している。
【００８７】
＜回転軸の選択解除＞
回転軸選択解除部３０は、入力部１０から第１入力点の押下解除の通知を取得すると、選択回転軸情報を「なし」に更新して、ユーザによる回転軸の選択を解除する。図１４は、回転軸の選択解除を説明する図である。図１４に示すように、ユーザの操作が（Ａ）第１入力点の押下がなくなる、または（Ｂ）第１入力点および第２入力点ともに押下がなくなる、に遷移する場合は、回転軸の選択は解除される。一方、（Ｃ）第１入力点は押下状態のまま、第２入力点の押下がなくなる場合は、回転軸は、例えばy軸で固定されたままであり、第２入力点を新たに押下すれば、回転実行判定処理が行われる。
【００８８】
［実施例］
次に、本実施形態の実施例について説明する。図１５は、本実施例における前提条件を説明する図である。図１５（ａ）に示すように、本実施例では、３次元表示空間に１つの平面とその平面上に載置される直方体を表示している状況を考え、回転中心点は平面の中心に設定されているとする。また、本実施例では、図１５（ｂ）に示すように、ユーザが第１入力点、第２入力点を押下したとする。
【００８９】
＜回転軸決定＞
図１６は、本実施例において第１入力点と表示領域の位置関係を用いた回転軸決定の第１の手法を適用する説明図である。本実施例では、表示領域の領域分割は、図１６（ａ）に示すように設定されている。さらに、本実施例では、図１６（ｂ）に示すように、第１入力点は、「上部」に位置している。
【００９０】
したがって、回転軸決定の第１の手法によれば、上記した図４に示すフローチャートにおいて、ステップＳ４２での判定はＮｏ、ステップＳ４３での判定はＹｅｓとなり、本実施例における回転軸は「ｙ軸」に決定される。
【００９１】
次に、図１７は、本実施例において第１入力点と第２入力点のドラッグ開始位置の位置関係を用いた回転軸決定の第２の手法を適用する説明図である。本実施例では、閾値ａ＝３０°と設定され、Ｖ、Ｈは図１７に示すような関係にある。
【００９２】
したがって、回転軸決定の第２の手法によれば、上記した図６に示すフローチャートにおいて、ステップＳ６２での判定はＹｅｓ、ステップＳ６３での判定はＹｅｓとなり、本実施例における回転軸は「ｙ軸」に決定される。
【００９３】
＜回転実行判定＞
図１８は、本実施例における、劣角θ２および閾値α、βの関係を説明する図である。本実施例では、α＝３０°、β＝１５０°に設定されているとすると、図１８に示すように、θ２＝８０°なので、α＜＝θ２＜＝βの条件を満たしている。また、ドラッグ方向は右側である。
【００９４】
したがって、上記した図１２に示すフローチャートにおいて、ステップＳ１２０２での判定はＮｏ、ステップＳ１２０４での判定はＹｅｓ、ステップＳ１２０５での判定はＮｏとなり本実施例における回転軸は「ｙ軸」に決定され、ステップＳ１２０９での判定はＹｅｓとなり、本実施例における回転方向は「左回転」に決定される。
【００９５】
＜回転角度の算出＞
回転軸がy軸のときの回転角度計算方法が下記のように決められているとする。
【００９６】
表示領域上でのx軸方向のドラッグ距離（ピクセル）をdとし、表示領域の横のサイズをv（ピクセル）とする。
【００９７】
回転角度をqとすると、q = 90 * d / vとなる。
【００９８】
例えば、v：１600ピクセル、d：４00ピクセルとすると、回転角度 q = 90 * ４00 / １600 = ２２.5度となる。図１９は、本実施例において、視点を回転軸ｙにて２２．５度左回転させることによる描画を説明する図である。
【００９９】
（本実施形態の変形例１）
次に、本実施形態の変形例１について説明する。
【０１００】
タッチスクリーン上のピンチイン操作を、視点を回転中心点に近づける“ズームイン”操作として、ピンチアウト操作を視点を回転中心点から遠ざける“ズームアウト”操作として併用する場合を説明する。
【０１０１】
回転実行判定部４０では、ユーザの指示が視点の回転、ピンチイン、あるいはピンチアウトのいずれに該当するかを判定する。図２０は、変形例１を説明する図である。図２０に示すように、α ＜＝θ２＜＝βの関係にあるときは、視点を回転させる指示と判定し、劣角θ２が小さすぎる（θ２＜α）場合にはピンチイン操作（ズームイン）と判定し、劣角が大きすぎる（β ＜θ２）場合にはピンチアウト操作（ズームアウト）と判定する。
【０１０２】
回転実行判定部４０から描画指示部５０に判定結果が渡され、描画指示部５０は、視点の回転、ズームイン、ズームアウトのいずれかの描画を指示する。
【０１０３】
変形例１によれば、ユーザは、第１入力点の押下を維持したまま、第２入力点をドラッグするだけで、視点の回転、ズームイン、ズームアウトの３種類の動作を連続的に指示することができる。
【０１０４】
（本実施形態の変形例２）
次に、本実施形態の変形例２について説明する。変形例２は、物体（オブジェクト）の選択などの動作と視点の回転等を併用する場合の処理である。このような場合では、回転軸決定処理の最初のステップにおいて、入力部１０から得られた第１入力点の位置がオブジェクト描画ピクセルに相当するか否かを判定する処理を実施する。第１入力点の位置がオブジェクト描画ピクセルに相当する場合には、回転軸は選択されない。図２１は、変形例２を説明する図である。第１入力点が図２１に示すような場合、平面オブジェクトの描画ピクセルにあたるため、回転軸は選択されない。
【０１０５】
（本実施形態の変形例３）
次に、本実施形態の変形例３について説明する。変形例３は、表示領域を複数の目的で使用する場合である。図２２は、変形例３を説明する図である。図２２に示すように、３次元空間表示の操作受付専用領域を用意し、その領域に対する操作を表示領域に対する操作とみなして、本実施形態を適用してもよい。
【０１０６】
以上説明したように、本実施形態によれば、２次元空間の表示における既存の代表的な操作と併用可能な操作で、回転軸の選択と回転を実現させることができる。
【０１０７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０８】
１・・・図形処理装置
１０・・・入力部
２０・・・回転軸決定部
３０・・・回転軸選択解除部
４０・・・回転実行判定部
５０・・・描画指示部
６０・・・回転軸情報格納部
７０・・・描画部
【図１】
2018063738.tif 000003
【図２】
2018063738.tif 000004
【図３】
2018063738.tif 000005
【図４】
2018063738.tif 000006
【図５】
2018063738.tif 000007
【図６】
2018063738.tif 000008
【図７】
2018063738.tif 000009
【図８】
2018063738.tif 000010
【図９】
2018063738.tif 000011
【図１０】
2018063738.tif 000012
【図１１】
2018063738.tif 000013
【図１２】
2018063738.tif 000014
【図１３】
2018063738.tif 000015
【図１４】
2018063738.tif 000016
【図１５】
2018063738.tif 000017
【図１６】
2018063738.tif 000018
【図１７】
2018063738.tif 000019
【図１８】
2018063738.tif 000020
【図１９】
2018063738.tif 000021
【図２０】
2018063738.tif 000022
【図２１】
2018063738.tif 000023
【図２２】
2018063738.tif 000024