JP6373710B2 - 図形処理装置および図形処理プログラム - Google Patents

図形処理装置および図形処理プログラム Download PDF

Info

Publication number
JP6373710B2
JP6373710B2 JP2014204725A JP2014204725A JP6373710B2 JP 6373710 B2 JP6373710 B2 JP 6373710B2 JP 2014204725 A JP2014204725 A JP 2014204725A JP 2014204725 A JP2014204725 A JP 2014204725A JP 6373710 B2 JP6373710 B2 JP 6373710B2
Authority
JP
Japan
Prior art keywords
rotation
rotation axis
input point
display area
input
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.)
Active
Application number
JP2014204725A
Other languages
English (en)
Other versions
JP2016076017A (ja
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Priority to JP2014204725A priority Critical patent/JP6373710B2/ja
Publication of JP2016076017A publication Critical patent/JP2016076017A/ja
Application granted granted Critical
Publication of JP6373710B2 publication Critical patent/JP6373710B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明の実施形態は、図形処理装置および図形処理プログラムに関する。
3次元空間を2次元領域に表示するアプリケーションが存在するが、従来、3次元空間の表示は、実際に3次元物体を扱う専門的な領域でしか利用されていない。例えば、形状モデリング(車、建築物、精密機器部品など)や、医療データ表示(内蔵3D画像表示など)である。
専門家向けの3次元空間表示では、操作方法はコストをかけて学習してもらえばよく、操作の直感性よりも、多機能性や精確性の方が重視される。
これからは、3次元空間の操作に慣れていないユーザ向けにも、3次元空間の表示が普及すると予想される。例えば、地図に重ねて街ごとの電力消費量を表示するWebサービスや、店舗内3次元地図に棚の段や列ごとの売上状況や推移情報を重ねて、視覚的に見せる店舗内システム等である。
ユーザが3次元空間を把握するためには、視点を移動して様々な位置や方向から見られる必要があり、そのための操作の1つに、視点を回転させる操作がある。ユーザからの入力操作をもとに、システムが回転軸を決め、あらゆる方向に視点を回転させられるように任意の回転軸をユーザが指定できる仕組みがあるが、狙い通りの回転を実現できる回転軸を、不慣れなユーザが正確に指定することは難しい。これは、2次元領域に対する入力で3次元空間における視点の回転を指示しなければならないことが一因である。
例えば、2次元領域上のマウスドラッグの軌跡で、3次元空間における視点の回転を指示する。そこで、ユーザがx軸、y軸、z軸のいずれか1つを回転軸として明示的に選択して回転することを繰り返すことで、視点の回転を実現する方法も使われている。
しかしながら、選択可能な回転軸を限定することで、ユーザにとって理解しやすい回転を実現できる反面、選択可能な回転軸が限定されることで、一度の回転で移動可能な視点の位置は限定される。また、選択可能な回転軸が限定されていない場合と比べて、任意の視点の回転を実現するために必要な回転の回数が増え、ユーザにとって手間がかかる。
このように、限定された候補の中から回転軸を選択する手法は、狭い範囲の特定箇所でポイント操作しないと回転軸を選択することができず、ユーザに回転軸を選択させるために、補助的な表示が必須である、という問題がある。
3Dモデリング用ソフトウェアBlender http://blender.jp/modules/docs/index.php
特開平9−185455号公報
本発明が解決しようとする課題は、2次元空間の表示における既存の代表的な操作と併用可能な操作で、回転軸の選択と回転を実現させることのできる図形処理装置および図形処理プログラムを提供することである。
実施形態の図形処理装置は、3次元空間を2次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置であって、ユーザによる前記表示領域のタッチ操作を入力として受け付け、2つの入力が開始された際に、開始が早いほうの第1入力点の位置、前記第1入力点よりも開始が遅いほうの第2入力点の位置、および前記第2入力点のドラッグ中の位置の情報を取得する入力部と、前記表示領域上における前記第1入力点の位置に基づいて、3次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、前記第1入力点と前記第2入力点の位置関係に基づいて、前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを備え、前記回転軸決定部は、前記第1入力点の位置が前記表示領域の上部もしくは下部に位置していれば前記表示領域の上下方向に延びるy軸を回転軸と決定し、前記第1入力点の位置が前記表示領域の左部もしくは右部に位置していれば前記表示領域の左右方向に延びるx軸を回転軸と決定する
本発明の実施形態に係る図形処理装置の概略構成を示すブロック図である。 表示領域の各部を説明する図である。 表示領域に無反応部を設けた一例を説明する図である。 回転軸決定の第1の手法における処理の流れを示すフローチャートである。 入力点の縦関係および入力点の横関係を説明する図である。 回転軸決定の第2の手法における処理の流れを示すフローチャートである。 回転の実行判定を説明する図である。 回転の実行判定を説明する図である。 回転方向の決定を説明する図である。 回転軸がx軸の場合の回転方向の決定を説明する図である。 回転軸がy軸の場合の回転方向の決定を説明する図である。 回転実行判定部における回転実行判定および回転方向決定の処理の流れを示すフローチャートである。 回転方向の変化を説明する図である。 回転軸の選択解除を説明する図である。 本実施例における前提条件を説明する図である。 本実施例において第1入力点と表示領域の位置関係を用いた回転軸決定手法(1)を適用する説明図である。 本実施例において第1入力点と第2入力点の位置関係を用いた回転軸決定手法(2)を適用する説明図である。 本実施例における、劣角θおよび閾値α、βの関係を説明する図である。 本実施例において、視点を回転軸yにて22.5度左回転させることによる描画を説明する図である。 本実施形態の変形例1を説明する図である。 本実施形態の変形例2を説明する図である。 本実施形態の変形例3を説明する図である。
以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
まず、本実施形態で用いる主要な用語について説明する。
「表示領域」とは、画面内で3次元空間を表示している2次元領域をいう。表示領域には、3次元空間を空間中のある視点から見た目を2次元平面に投影した内容が描画される。どのような2次元平面に投影するのかは、アプリケーションによって異なる。
「視点」とは、空間をどの位置でどの方向に見るかを決めるものをいう。視点の位置と視点の方向を変えると、3次元空間にある物体を異なる角度から見ることができる。
「視点の回転」とは、視点の位置と視点の方向を変更する動きの1つをいう。3次元空間上の任意の点cに向いている視点に関して、点cとの距離を維持したまま、視点の位置v1を位置v2に移動させる場合、点cを回転中心点と呼ぶ。3つの点c、v1、v2を含む平面に対して垂直に交わり、かつ、点cを通る直線を回転軸と呼ぶ。本実施形態では、説明の便宜上、回転中心点cが3次元空間の原点(0,0,0)であるとする。回転中心点cが原点でないこともあるが、座標系が同じであれば問題ない。
回転軸に対して、視点の右回転(反時計回り)と左回転(時計回り)があり、視点の回転方向と表示領域に描画されている3次元空間の物体の回転方向は逆である。例えば、視点を回転軸を中心に右回転させると、表示領域での見た目は、回転軸を中心に物体が左に回転したように見える。
「タップ」とは、表示領域に対するユーザの入力の1種類であって、タッチインターフェース式の端末で、画面を軽く叩く操作のことをいう。マウス操作のクリックに相当し、短時間に2回連続でタップすることを“ダブルタップ”といい、1回だけタップすることを“シングルタップ”という場合もある。
「ドラッグ」とは、表示領域に対するユーザの入力の1種類であって、タップ時にボタンまたは指を押したままの状態で画面上を移動させることをいう。移動させずに、単に押したままにすることもある。
「ピンチイン」とは、表示領域上で2本の指で2つの入力を同時に行い、つまむように動かし、画面を縮小させる操作のことをいう。
「ピンチアウト」とは、表示領域上で2本の指で2つの入力を同時に行い、広げるように動かし、画面を拡大させる操作のことをいう。
「入力点」とは、表示領域におけるタップ時やドラッグ時のポイント位置をいう。
「第1入力点、第2入力点」とは、2つの入力が開始されたとき、第1入力点は開始が早い方の入力点であり、第2入力点は開始が遅い方の入力点である。
「劣角」とは、交点を持つ2つの線分もしくは半直線が平面上で為す小さい方の角度をいう。劣角は、0°よりも大きく、180°よりも小さい。
本実施形態においては、3次元空間における視点の回転を実行するための回転軸について、(1)第1入力点と表示領域の位置関係から決定、(2) 第1入力点と第2入力点のドラッグ開始位置の位置関係から決定、のいずれかにより回転軸を決定し、第1入力点と第2入力点の位置関係から回転させるか否かを判定し、第2入力点のドラッグ方向から、回転方向を決定する。
また、本実施形態においては、表示領域における上下左右ドラッグは、基本的に並行移動のための操作であり、ピンチイン/ピンチアウトは、縮小/拡大のための操作である。また、回転中心点は、ユーザによって事前に決められており、z軸は回転軸として考慮せず、x軸、y軸のいずれかを回転軸として選択して回転させる。
図1は、本発明の実施形態に係る図形処理装置の概略構成を示すブロック図である。この装置は汎用のコンピュータ(例えばパーソナルコンピュータ(PC)等)と、同コンピュータ上で動作するソフトウェアとを用いて実現される。コンピュータとしては、CAD(Computer Aided Design)やCAE(Computer Aided Engineering)に好適なエンジニアリングワークステーション(EWS)等も含む。本実施形態はこのようなコンピュータにおいて、(1)第1入力点と表示領域の位置関係に基づいて決定、(2) 第1入力点と第2入力点の位置関係に基づいて決定、のいずれかにより回転軸を決定し、第1入力点と第2入力点の位置関係から回転させるか否かを判定し、第2入力点のドラッグ方向から、回転方向を決定するプログラムとして実施することもできる。
図1に示すように、本実施形態に係る図形処理装置1は、主として、入力部10と、回転軸決定部20と、回転軸選択解除部30と、回転実行判定部40と、描画指示部50と、回転軸情報格納部60、描画部70から構成されている。
入力部10は、タッチインターフェース式の入力を受け付けるもので、例えば、静電容量式のタッチパネルで構成される。ユーザの画面タッチ操作を入力し、第1入力点とこの第1入力点よりも入力の開始が遅い方の入力点である第2入力点の位置を取得する。入力部10は、第2入力点がドラッグされている間は、ドラッグ中の位置を取得する。さらに、入力部10は、第1入力点の押下が解除されたことを検知する。入力部10からは、第1入力点の位置、第2入力点のドラッグ中の位置、第1入力点の押下解除通知の情報が出力される。
回転軸決定部20は、入力部10から第1入力点の位置および第2入力点のドラッグ中の位置の情報を取得し、次のいずれかの手法で3次元空間における視点の回転を実行するための回転軸を決定する。決定手法の詳細は、後述する。
(1) 第1入力点と表示領域の位置関係による回転軸の決定
(2) 第1入力点と第2入力点のドラッグ開始位置の位置関係による回転軸の決定
回転軸決定部20は、回転軸に関する、「なし」、「x軸」、「y軸」のいずれかの選択回転軸情報を有する。回転軸決定部20は、上記のいずれかで決定した選択回転軸情報を回転軸情報格納部60に出力し、既に格納されている選択回転軸情報を更新させる。選択回転軸情報の初期値は、ユーザが回転軸を選択するまでは、「なし」である。
回転軸選択解除部30は、入力部10から第1入力点の押下解除通知の情報を取得し、回転軸情報格納部60に格納されている選択回転軸情報を「なし」に更新する。
回転実行判定部40は、入力部10から第1入力点の位置および第2入力点のドラッグ中の位置の情報を取得するとともに、回転軸情報格納部60に格納されている選択回転軸情報を参照する。選択回転軸情報が「なし」でない場合に、第1入力点の位置と第2入力点の位置関係に基づいて、後述する所定の判定条件を満たす場合には、描画対象である物体を「回転する」と判定し、判定条件を満たさない場合には、「回転はしない」と判定する。回転実行判定の詳細は後述する。尚、選択回転軸情報が「なし」の場合、回転軸は選択されてないと判定する。
さらに、回転実行判定部40は、第2入力点のドラッグ方向に応じて、回転方向を決定する。回転実行判定部40は、「回転する」と判定した場合には、回転方向、選択回転軸情報、第2入力点のドラッグ中の位置の情報を出力する。
描画指示部50は、回転実行判定部40から回転方向、選択回転軸情報、第2入力点のドラッグ中の位置の情報を入力し、システム設計者が予め設定する手法で、第2入力点のドラッグ中の位置を用いて、描画対象である物体の回転角度を計算する。ここで、回転角度は、例えば、回転軸をx軸とすると、表示領域の2次元座標における任意の2点のy軸方向の差分から計算することができる。
また、描画指示部50は、選択回転軸情報に記録された軸を回転軸として、上記回転方向へ、計算された回転角度だけ回転させた3次元空間の物体の描画を指示する。物体の回転に限らず、視点のズームイン/ズームアウトや平行移動、物体の移動など、3次元空間における物体や視点の変化を表示領域に反映させるために描画を指示することが好適である。
回転軸情報格納部60は、選択された選択回転軸情報を格納するものである。初期値は、「なし」である。
描画部70は、描画する物体の情報、表示領域の諸元等を取得し、描画指示部50からの指示を受けて、最終的に視点を回転させた後の3次元空間の2次元平面への投影を表示領域に表示させる。
次に、以上のように構成された図形処理装置1における、回転軸の決定、回転の実行判定、回転方向の決定の各処理について詳述する。
<回転軸の決定>
図2は、表示領域の各部を説明する図である。本実施形態では、表示領域を図2(a)に示すように、上部、下部、図2(b)に示すように、左部、右部の4つの領域に分割する。どのように4分割するかは、ユーザが設定することができる。尚、表示領域に、上部、下部、左部、右部以外に、ユーザからのタッチ操作に反応しない部分を設定してもよい。図3は、表示領域に無反応部を設けた一例を説明する図である。
(回転軸決定の第1の手法)
回転軸決定の第1の手法では、
(1)第1入力点の位置が表示領域の上部もしくは下部に位置していれば「y軸」を回転軸と決定し、第1入力点の位置が表示領域の左部もしくは右部に位置していれば「x軸」を回転軸と決定する。
図4は、回転軸決定の第1の手法における処理の流れを示すフローチャートである。
まず、入力部10において取得した第1入力点の位置について、回転軸決定部20は、表示領域において上部、下部、左部、右部、無反応部のいずれに位置しているかを計算する(ステップS41)。
次に、第1入力点の位置が無反応部であるか否かを判定する(ステップS42)。
第1入力点の位置が無反応部であれば(ステップS42でYes)、回転軸決定の第1の手法の処理を終了し、第1入力点の位置が無反応部でなければ(ステップS42でNo)、第1入力点の位置が上部または下部であるか否かを判定する(ステップS43)。
第1入力点の位置が上部または下部であれば(ステップS43でYes)、選択回転軸情報を「y軸」で更新(ステップS44)し、回転軸決定の第1の手法の処理を終了する。
一方、第1入力点の位置が上部または下部でなければ(ステップS43でNo)、選択回転軸情報を「x軸」で更新(ステップS45)し、回転軸決定の第1の手法の処理を終了する。
(回転軸決定の第2の手法)
回転軸決定の第2の手法では、
(2) 第1入力点の位置と第2入力点のドラッグ開始位置が、“縦関係”にあれば、「y軸」を、“横関係”にあれば、「x軸」を回転軸と決定する。尚、ユーザによる入力操作がドラッグ操作である、との判定は周知の手法を適用することができる。
図5は、入力点の縦関係および入力点の横関係を説明する図である。図5(a)は2つの入力点が縦関係にある場合を示し、図5(b)は2つの入力点が横関係にある場合を示している。図5に示すように、2つの入力点を通る直線と表示領域の縦横の枠線が為す狭い方の角度θが閾値a以下という判定条件を満たすか考える。
縦枠線が判定条件を満たす場合(図5(a)参照)、2つの入力点は縦関係にあるとし、回転軸をy軸に決定する。以下の説明では、2つの入力点が縦関係にある場合、角度θ=Vと表記する。
一方、横枠線が判定条件を満たす場合(図5(b)参照)、 2つの入力点は横関係にあるとし、回転軸をx軸に決定する。以下の説明では、2つの入力点が横関係にある場合、角度θ=H と表記する。尚、どちらの枠線も判定条件を満たさない場合、回転軸は選択されていないとみなす。
上記した閾値aは、ユーザによって事前に設定する。例えば、閾値a=30°とする。
図6は、回転軸決定の第2の手法における処理の流れを示すフローチャートである。
まず、入力部10において取得した第1入力点の位置、第2入力点のドラッグ中の位置に関し、回転軸決定部20は、第1入力点と第2入力点のドラッグ開始位置を通る直線と表示領域の縦枠線が為す狭い方の角度V および表示領域の横枠線が為す狭い方の角度Hを計算する(ステップS61)。
次に、計算した2つの角度の大小について、V<Hか否かを判定する(ステップS62)。
V<Hであれば(ステップS62でYes)、閾値aと大小を比較しV <= aか否かを判定する(ステップS63)。
V <= aでなければ(ステップS63でNo)、回転軸決定の第2の手法の処理を終了し、V <= aであれば(ステップS63でYes)、選択回転軸情報を「y軸」で更新(ステップS64)し、回転軸決定の第2の手法の処理を終了する。
一方、V<Hでなければ(ステップS62でNo)、V>Hか否かを判定する(ステップS65)。
V>Hでなければ(ステップS65でNo)、回転軸決定の第2の手法の処理を終了し、V>Hであれば(ステップS65でYes)、H <= aか否かを判定する(ステップS66)。
H <= a でなければ(ステップS66でNo)、回転軸決定の第2の手法の処理を終了し、H <= a であれば(ステップS66でYes)、選択回転軸情報を「x軸」で更新(ステップS67)し、回転軸決定の第2の手法の処理を終了する。
上述したようにして回転軸が選択された際の、ユーザによるx軸あるいはy軸の把握(認識)については、例えば、以下のようにすることができる。
(1) 補助的な情報として回転軸を表示領域上に描画
(2)表示領域内外のどこかに回転軸を示すテキストを表示
<回転の実行判定>
本実施形態においては、第1入力点と第2入力点の位置関係から、上記回転軸において物体を回転させる(すなわち、視点を回転させる)か否かを判定する。図7、図8は、回転の実行判定を説明する図である。図7に示すように、第2入力点のドラッグ開始位置をP0とし、そのドラッグ中のn回目の処理が行われる時点での第2入力点の位置をPnとする。第1入力点、第2入力点は、表示領域内であれば、位置を問わない。
図8に示すように、第1入力点の位置と第2入力点のドラッグ中の位置Pn-1を結ぶ線分SL1、第2入力点のドラッグ中の位置Pn-1とPnを結ぶ線分SL2に関して、2つの線分SL1、SL2が作る劣角θを考える。
本実施形態においては、劣角θが閾値α以上で、かつ、閾値β以下の場合、すなわち、α<=θ<=βである場合には、回転の実行と判定する(図8(a)参照)。閾値α、閾値βは、0°<α<180°、0°<β<180°、α≠βであり、システム設計者が予め設定する。例えば、閾値α=30°、閾値β=150°とする。
係る条件判定により、図8(b)に示すように、角度が大きすぎる場合には、回転とは判定せず、ピンチアウト(拡大操作)と判定することができる。一方、図8(c)に示すように、角度が小さすぎる場合にも、回転とは判定せず、ピンチイン(縮小操作)と判定することができる。
尚、回転の実行判定と回転方向の決定処理は、ユーザによる入力操作にすみやかに反応すべく、第2入力点のドラッグ中に定期的に繰り返し実行するのが好適である。
<回転方向の決定>
本実施形態においては、上述のようにして回転の実行判定がなされた場合、次に、第2入力点のドラッグ方向に基づいて、回転方向を決定する。図9は、回転方向の決定を説明する図である。まず、図9に示すように、第2入力点のドラッグ中の位置Pn-1とPnからドラッグ方向を考える。
図10は、回転軸がx軸の場合の回転方向の決定を説明する図である。第2入力点のドラッグ中の位置Pn-1を通る、表示領域の横枠線と平行な直線で表示領域を分割して考える。図10(a)に示すように、ドラッグ方向が上側に向かっていれば、「右回転」と決定し、図10(b)に示すように、ドラッグ方向が下側に向かっていれば、「左回転」と決定する。
図11は、回転軸がy軸の場合の回転方向の決定を説明する図である。第2入力点のドラッグ中の位置Pn-1を通る、表示領域の縦枠線と平行な直線で表示領域を分割して考える。図11(a)に示すように、ドラッグ方向が左側に向かっていれば、「右回転」と決定し、図11(b)に示すように、ドラッグ方向が右側に向かっていれば、「左回転」と決定する。
図12は、回転実行判定部40における回転実行判定および回転方向決定の処理の流れを示すフローチャートである。
まず、回転実行判定部40は、入力部10から第1入力点の位置、第2入力点の位置および第2入力点のドラッグ中の位置情報を取得し、回転軸情報格納部60に格納されている選択回転軸情報を参照する(ステップS1201)。
次に、選択回転軸情報が「なし」であるか否かを判定する(ステップS1202)。
選択回転軸情報が「なし」であれば(ステップS1202でYes)、回転実行判定および回転方向決定の処理を終了する。
選択回転軸情報が「なし」でなければ(ステップS1202でNo)、第1入力点の位置と第2入力点の位置Pn-1を結ぶ線分SL1、第2入力点の位置Pn-1とPnを結ぶ線分SL2に基づいて、2つの線分の劣角θを計算する(ステップS1203)。
続いて、0°<α<180°、0°<β<180°、α≠βであるとき、劣角θと2つの閾値α、βとが、α<=θ<=βか否かを判定する(ステップS1204)。
α<=θ<=βでなければ(ステップS1204でNo)、回転実行判定の処理を終了する。
一方、α<=θ<=βであれば(ステップS1204でYes)、次に、選択回転軸がx軸か否かを判定する(ステップS1205)。
選択回転軸がx軸であれば(ステップS1205でYes)、ドラッグ方向が下側か否かを判定する(ステップS1206)。
ドラッグ方向が下側であれば(ステップS1206でYes)、回転方向を「左回転」に決定(ステップS1207)し、ドラッグ方向が下側でなければ(ステップS1206でNo)、回転方向を「右回転」に決定(ステップS1208)する。
一方、選択回転軸がx軸でなければ(ステップS1205でNo)、ドラッグ方向が右側か否かを判定する(ステップS1209)。
ドラッグ方向が右側であれば(ステップS1209でYes)、回転方向を「左回転」に決定(ステップS1210)し、ドラッグ方向が右側でなければ(ステップS1209でNo)、回転方向を「右回転」に決定(ステップS1211)する。
選択回転軸および回転方向の情報は、描画指示部50に送られる。
<回転方向の変化>
第2入力点のドラッグ中に定期的に回転方向の決定が繰り返し実施されることにより、ドラッグ中に回転方向が変化しうる。
図13は、回転方向の変化を説明する図である。図13に示すように、例えば、右回転していた時に、ドラッグ方向を右側に変えると、左回転に変わる。図13に示す例では、1回目の回転方向決定処理では右回転だったものが、2回目の回転方向決定処理では、左回転に変化している。
<回転軸の選択解除>
回転軸選択解除部30は、入力部10から第1入力点の押下解除の通知を取得すると、選択回転軸情報を「なし」に更新して、ユーザによる回転軸の選択を解除する。図14は、回転軸の選択解除を説明する図である。図14に示すように、ユーザの操作が(A)第1入力点の押下がなくなる、または(B)第1入力点および第2入力点ともに押下がなくなる、に遷移する場合は、回転軸の選択は解除される。一方、(C)第1入力点は押下状態のまま、第2入力点の押下がなくなる場合は、回転軸は、例えばy軸で固定されたままであり、第2入力点を新たに押下すれば、回転実行判定処理が行われる。
[実施例]
次に、本実施形態の実施例について説明する。図15は、本実施例における前提条件を説明する図である。図15(a)に示すように、本実施例では、3次元表示空間に1つの平面とその平面上に載置される直方体を表示している状況を考え、回転中心点は平面の中心に設定されているとする。また、本実施例では、図15(b)に示すように、ユーザが第1入力点、第2入力点を押下したとする。
<回転軸決定>
図16は、本実施例において第1入力点と表示領域の位置関係を用いた回転軸決定の第1の手法を適用する説明図である。本実施例では、表示領域の領域分割は、図16(a)に示すように設定されている。さらに、本実施例では、図16(b)に示すように、第1入力点は、「上部」に位置している。
したがって、回転軸決定の第1の手法によれば、上記した図4に示すフローチャートにおいて、ステップS42での判定はNo、ステップS43での判定はYesとなり、本実施例における回転軸は「y軸」に決定される。
次に、図17は、本実施例において第1入力点と第2入力点のドラッグ開始位置の位置関係を用いた回転軸決定の第2の手法を適用する説明図である。本実施例では、閾値a=30°と設定され、V、Hは図17に示すような関係にある。
したがって、回転軸決定の第2の手法によれば、上記した図6に示すフローチャートにおいて、ステップS62での判定はYes、ステップS63での判定はYesとなり、本実施例における回転軸は「y軸」に決定される。
<回転実行判定>
図18は、本実施例における、劣角θおよび閾値α、βの関係を説明する図である。本実施例では、α=30°、β=150°に設定されているとすると、図18に示すように、θ=80°なので、α<=θ<=βの条件を満たしている。また、ドラッグ方向は右側である。
したがって、上記した図12に示すフローチャートにおいて、ステップS1202での判定はNo、ステップS1204での判定はYes、ステップS1205での判定はNoとなり本実施例における回転軸は「y軸」に決定され、ステップS1209での判定はYesとなり、本実施例における回転方向は「左回転」に決定される。
<回転角度の算出>
回転軸がy軸のときの回転角度計算方法が下記のように決められているとする。
表示領域上でのx軸方向のドラッグ距離(ピクセル)をdとし、表示領域の横のサイズをv(ピクセル)とする。
回転角度をqとすると、q = 90 * d / vとなる。
例えば、v:1600ピクセル、d:400ピクセルとすると、回転角度 q = 90 * 400 / 1600 = 22.5度となる。図19は、本実施例において、視点を回転軸yにて22.5度左回転させることによる描画を説明する図である。
(本実施形態の変形例1)
次に、本実施形態の変形例1について説明する。
タッチスクリーン上のピンチイン操作を、視点を回転中心点に近づける“ズームイン”操作として、ピンチアウト操作を視点を回転中心点から遠ざける“ズームアウト”操作として併用する場合を説明する。
回転実行判定部40では、ユーザの指示が視点の回転、ピンチイン、あるいはピンチアウトのいずれに該当するかを判定する。図20は、変形例1を説明する図である。図20に示すように、α <=θ<=βの関係にあるときは、視点を回転させる指示と判定し、劣角θが小さすぎる(θ<α)場合にはピンチイン操作(ズームイン)と判定し、劣角が大きすぎる(β <θ)場合にはピンチアウト操作(ズームアウト)と判定する。
回転実行判定部40から描画指示部50に判定結果が渡され、描画指示部50は、視点の回転、ズームイン、ズームアウトのいずれかの描画を指示する。
変形例1によれば、ユーザは、第1入力点の押下を維持したまま、第2入力点をドラッグするだけで、視点の回転、ズームイン、ズームアウトの3種類の動作を連続的に指示することができる。
(本実施形態の変形例2)
次に、本実施形態の変形例2について説明する。変形例2は、物体(オブジェクト)の選択などの動作と視点の回転等を併用する場合の処理である。このような場合では、回転軸決定処理の最初のステップにおいて、入力部10から得られた第1入力点の位置がオブジェクト描画ピクセルに相当するか否かを判定する処理を実施する。第1入力点の位置がオブジェクト描画ピクセルに相当する場合には、回転軸は選択されない。図21は、変形例2を説明する図である。第1入力点が図21に示すような場合、平面オブジェクトの描画ピクセルにあたるため、回転軸は選択されない。
(本実施形態の変形例3)
次に、本実施形態の変形例3について説明する。変形例3は、表示領域を複数の目的で使用する場合である。図22は、変形例3を説明する図である。図22に示すように、3次元空間表示の操作受付専用領域を用意し、その領域に対する操作を表示領域に対する操作とみなして、本実施形態を適用してもよい。
以上説明したように、本実施形態によれば、2次元空間の表示における既存の代表的な操作と併用可能な操作で、回転軸の選択と回転を実現させることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1・・・図形処理装置
10・・・入力部
20・・・回転軸決定部
30・・・回転軸選択解除部
40・・・回転実行判定部
50・・・描画指示部
60・・・回転軸情報格納部
70・・・描画部

Claims (7)

  1. 3次元空間を2次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置であって、
    ユーザによる前記表示領域のタッチ操作を入力として受け付け、2つの入力が開始された際に、開始が早いほうの第1入力点の位置、前記第1入力点よりも開始が遅いほうの第2入力点の位置、および前記第2入力点のドラッグ中の位置の情報を取得する入力部と、
    前記表示領域上における前記第1入力点の位置に基づいて、3次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、
    前記第1入力点と前記第2入力点の位置関係に基づいて、前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを備え
    前記回転軸決定部は、前記第1入力点の位置が前記表示領域の上部もしくは下部に位置していれば前記表示領域の上下方向に延びるy軸を回転軸と決定し、前記第1入力点の位置が前記表示領域の左部もしくは右部に位置していれば前記表示領域の左右方向に延びるx軸を回転軸と決定する図形処理装置。
  2. 前記回転軸決定部で決定された回転軸の情報を、選択回転軸情報として格納する回転軸情報格納部と、
    前記決定された回転軸において、前記決定された回転方向へ、所定回転角度だけ回転させた3次元空間の描画を指示する描画指示部と、
    描画する物体の情報、前記表示領域の諸元を取得し、前記描画指示部からの指示を受けて、視点を回転させた後の3次元空間の2次元平面への投影を前記表示領域に表示させる描画部とを、
    さらに備える請求項1に記載の図形処理装置。
  3. 前記入力部から前記第1入力点の押下解除通知の情報を取得し、前記回転軸情報格納部に格納されている選択回転軸情報を無しの状態に更新する回転軸選択解除部をさらに備える請求項2に記載の図形処理装置。
  4. 前記回転実行判定部における回転の実行判定と回転方向の決定処理は、前記第2入力点のドラッグ中に定期的に繰り返し実行する請求項1乃至請求項3のいずれか1項に記載の図形処理装置。
  5. 前記回転軸決定部は、
    前記第1入力点の位置が物体を描画するピクセルに相当する場合、前記回転軸は選択しない請求項1乃至請求項4のいずれか1項に記載の図形処理装置。
  6. 前記表示領域に、3次元空間表示の操作を受け付ける専用領域を設定し、前記専用領域に対する操作を前記表示領域に対する操作とみなす請求項1乃至請求項5のいずれか1項に記載の図形処理装置。
  7. 3次元空間を2次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置に、
    ユーザによる前記表示領域のタッチ操作を入力として受け付け、2つの入力が開始された際に、開始が早いほうの第1入力点の位置、前記第1入力点よりも開始が遅いほうの第2入力点の位置、および前記第2入力点のドラッグ中の位置の情報を取得する機能と、
    前記表示領域上における前記第1入力点の位置に基づいて、3次元空間における視点の回転を実行させるための回転軸を決定する機能と、
    前記第1入力点と前記第2入力点の位置関係に基づいて、前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する機能と、
    前記第1入力点の位置が前記表示領域の上部もしくは下部に位置していれば前記表示領域の上下方向に延びるy軸を回転軸と決定し、前記第1入力点の位置が前記表示領域の左部もしくは右部に位置していれば前記表示領域の左右方向に延びるx軸を回転軸と決定する機能と
    を実現させるための図形処理プログラム。
JP2014204725A 2014-10-03 2014-10-03 図形処理装置および図形処理プログラム Active JP6373710B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014204725A JP6373710B2 (ja) 2014-10-03 2014-10-03 図形処理装置および図形処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014204725A JP6373710B2 (ja) 2014-10-03 2014-10-03 図形処理装置および図形処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018012578A Division JP6526851B2 (ja) 2018-01-29 2018-01-29 図形処理装置および図形処理プログラム

Publications (2)

Publication Number Publication Date
JP2016076017A JP2016076017A (ja) 2016-05-12
JP6373710B2 true JP6373710B2 (ja) 2018-08-15

Family

ID=55951484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014204725A Active JP6373710B2 (ja) 2014-10-03 2014-10-03 図形処理装置および図形処理プログラム

Country Status (1)

Country Link
JP (1) JP6373710B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491579B (zh) * 2017-09-12 2021-08-17 腾讯科技(深圳)有限公司 对虚拟对象进行操控的方法和装置
JP2020135587A (ja) * 2019-02-22 2020-08-31 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230352A (ja) * 1993-09-16 1995-08-29 Hitachi Ltd タッチ位置検出装置及びタッチ指示処理装置
JP5259898B2 (ja) * 2001-04-13 2013-08-07 富士通テン株式会社 表示装置、及び表示処理方法
JP4100195B2 (ja) * 2003-02-26 2008-06-11 ソニー株式会社 3次元オブジェクトの表示処理装置、表示処理方法、およびコンピュータプログラム
JP2007334436A (ja) * 2006-06-12 2007-12-27 Nitto Denko Corp 図形処理装置、図形処理方法および図形処理プログラム
US9619104B2 (en) * 2010-10-01 2017-04-11 Smart Technologies Ulc Interactive input system having a 3D input space
US8581901B2 (en) * 2011-07-28 2013-11-12 Adobe Systems Incorporated Methods and apparatus for interactive rotation of 3D objects using multitouch gestures
JP2013117770A (ja) * 2011-12-01 2013-06-13 Clarion Co Ltd 画像表示装置およびナビゲーション装置
JP5594402B2 (ja) * 2012-12-20 2014-09-24 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法、及びプログラム
JP2014178791A (ja) * 2013-03-14 2014-09-25 Ricoh Co Ltd 投影装置、投影システム、画像生成プログラム及び画像生成方法

Also Published As

Publication number Publication date
JP2016076017A (ja) 2016-05-12

Similar Documents

Publication Publication Date Title
US9836146B2 (en) Method of controlling virtual object or view point on two dimensional interactive display
JP5738495B2 (ja) 情報表示装置および表示情報操作方法
US10969949B2 (en) Information display device, information display method and information display program
US9158446B2 (en) Method and apparatus for interfacing
KR102205283B1 (ko) 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
JP6016555B2 (ja) 情報処理装置及びその制御方法、並びにプログラムと記憶媒体
CN103488413A (zh) 触控设备及在触控设备上显示3d界面的控制方法和装置
US9513795B2 (en) System and method for graphic object management in a large-display area computing device
US20210208768A1 (en) Visual Manipulation of a Digital Object
JP5621407B2 (ja) 操作入力装置ならびにプログラムと方法
JP5442128B2 (ja) オブジェクトのレイアウト編集方法及び装置
JP6373710B2 (ja) 図形処理装置および図形処理プログラム
US11204679B1 (en) Snapping objects into alignment in three-dimensional space
JP6526851B2 (ja) 図形処理装置および図形処理プログラム
US10102310B2 (en) Precise object manipulation system and method
JP6445777B2 (ja) オブジェクトを管理する情報処理装置およびその制御方法
WO2011083676A1 (ja) オブジェクト処理装置およびオブジェクト選択方法
US8731824B1 (en) Navigation control for a touch screen user interface
WO2012120978A1 (ja) 表示方法、表示装置およびプログラム
JP6021460B2 (ja) 描画方法、プログラム、及び装置
WO2019094130A1 (en) Scrolling interface control for computer display
JP2015200975A (ja) 情報処理装置、コンピュータプログラムおよび記録媒体
JP2005332231A (ja) ポインティング方法およびポインティング装置、ならびにポインティングプログラム
US20160334971A1 (en) Object Manipulation System and Method
WO2017183194A1 (ja) 表示制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170802

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170829

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180607

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180718

R150 Certificate of patent or registration of utility model

Ref document number: 6373710

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150