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

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

Info

Publication number
JP6526851B2
JP6526851B2 JP2018012578A JP2018012578A JP6526851B2 JP 6526851 B2 JP6526851 B2 JP 6526851B2 JP 2018012578 A JP2018012578 A JP 2018012578A JP 2018012578 A JP2018012578 A JP 2018012578A JP 6526851 B2 JP6526851 B2 JP 6526851B2
Authority
JP
Japan
Prior art keywords
input point
rotation
display area
rotation axis
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
JP2018012578A
Other languages
English (en)
Other versions
JP2018063738A (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 JP2018012578A priority Critical patent/JP6526851B2/ja
Publication of JP2018063738A publication Critical patent/JP2018063738A/ja
Application granted granted Critical
Publication of JP6526851B2 publication Critical patent/JP6526851B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

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入力点のドラッグ中の位置Pn-1を結ぶ直線SL1と、前記第2入力点のドラッグ中の位置Pn-1とPnを結ぶ直線SL2とが成す角度に基づいて、前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを備える。
本発明の実施形態に係る図形処理装置の概略構成を示すブロック図である。 表示領域の各部を説明する図である。 表示領域に無反応部を設けた一例を説明する図である。 回転軸決定の第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 (14)

  1. 3次元空間を2次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置であって、
    ユーザによる前記表示領域のタッチ操作を入力として受け付け、2つの入力が開始された際に、開始が早いほうの第1入力点の位置、前記第1入力点よりも開始が遅いほうの第2入力点の位置、および前記第2入力点のドラッグ中の位置の情報を取得する入力部と、
    前記表示領域上における前記第1入力点の位置と前記表示領域との関係に基づいて、3次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、
    前記第1入力点の位置と前記第2入力点のドラッグ中の位置Pn-1を結ぶ直線SL1と、前記第2入力点のドラッグ中の位置Pn-1とPnを結ぶ直線SL2とが成す角度に基づいて、前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを備える図形処理装置。
  2. 前記回転軸決定部は、前記第1入力点の位置が前記表示領域の上部もしくは下部に位置していれば前記表示領域の上下方向に延びるy軸を回転軸と決定し、前記第1入力点の位置が前記表示領域の左部もしくは右部に位置していれば前記表示領域の左右方向に延びるx軸を回転軸と決定する請求項1に記載の図形処理装置。
  3. 3次元空間を2次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置であって、
    ユーザによる前記表示領域のタッチ操作を入力として受け付け、2つの入力が開始された際に、開始が早いほうの第1入力点の位置、前記第1入力点よりも開始が遅いほうの第2入力点の位置、前記第2入力点のドラッグ中の位置の情報を取得する入力部と、
    前記第1入力点の位置と前記第2入力点を結ぶ直線と前記表示領域の左右方向に延びるx軸の線とが成す角度、又は、前記第1入力点の位置と前記第2入力点を結ぶ直線と前記表示領域の上下方向に延びるy軸の線とが成す角度に基づいて、3次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、
    前記第1入力点の位置と前記第2入力点のドラッグ開始位置Pn-1を結ぶ直線SL1と、前記第2入力点のドラッグ開始位置Pn-1と前記第2入力点のドラッグ中のn回目の位置Pnを結ぶ直線SL2とが成す角度に基づいて前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを
    備える図形処理装置。
  4. 前記回転軸決定部は、
    前記第1入力点の位置と前記第2入力点のドラッグ開始位置について、
    前記2つの入力点を通る直線と前記表示領域の縦の枠線が為す狭い方の角度が所定値以下との条件を満たす場合には、前記回転軸をy軸に決定し、
    前記2つの入力点を通る直線と前記表示領域の横の枠線が為す狭い方の角度が所定値以下との条件を満たす場合には、前記回転軸をx軸に決定する請求項3に記載の図形処理装置。
  5. 前記回転実行判定部は、
    前記第1入力点の位置と前記第2入力点のドラッグ開始位置Pn-1を結ぶ直線と、前記開始位置Pn-1と前記第2入力点のドラッグ中のn回目の位置Pnを結ぶ直線とに関し、これら2つの直線が作る劣角が所定の範囲内である場合に回転の実行と判定する請求項3または請求項4に記載の図形処理装置。
  6. 前記回転実行判定部は、
    前記回転軸がx軸であり、
    前記第2入力点のドラッグ開始位置Pn-1を通る、前記表示領域の横枠線と平行な直線で前記表示領域を分割して捉えたとき、前記ドラッグ方向が上側に向かっていれば右回転と決定し、前記ドラッグ方向が下側に向かっていれば左回転と決定する請求項5に記載の図形処理装置。
  7. 前記回転実行判定部は、
    前記回転軸がy軸であり、
    前記第2入力点のドラッグ開始位置Pn-1を通る、前記表示領域の縦枠線と平行な直線で前記表示領域を分割して捉えたとき、前記ドラッグ方向が左側に向かっていれば右回転と決定し、前記ドラッグ方向が右側に向かっていれば左回転と決定する請求項5に記載の図形処理装置。
  8. 前記回転軸決定部で決定された回転軸の情報を、選択回転軸情報として格納する回転軸情報格納部と、
    前記決定された回転軸において、前記決定された回転方向へ、所定回転角度だけ回転させた3次元空間の描画を指示する描画指示部と、
    描画する物体の情報、前記表示領域の諸元を取得し、前記描画指示部からの指示を受けて、視点を回転させた後の3次元空間の2次元平面への投影を前記表示領域に表示させる描画部とを、
    さらに備える請求項1乃至請求項7のいずれか1項に記載の図形処理装置。
  9. 前記入力部から前記第1入力点の押下解除通知の情報を取得し、前記回転軸情報格納部に格納されている選択回転軸情報を無しの状態に更新する回転軸選択解除部をさらに備える請求項8に記載の図形処理装置。
  10. 前記回転実行判定部における回転の実行判定と回転方向の決定処理は、前記第2入力点のドラッグ中に定期的に繰り返し実行する請求項1乃至請求項9のいずれか1項に記載の図形処理装置。
  11. 前記回転実行判定部は、
    前記劣角が、前記所定の範囲の下限よりも小さい場合には、ピンチイン操作と判定し、
    前記劣角が、前記所定の範囲の上限よりも大きい場合には、ピンチアウト操作と判定する請求項5に記載の図形処理装置。
  12. 前記回転軸決定部は、
    前記第1入力点の位置が物体を描画するピクセルに相当する場合、前記回転軸は選択しない請求項1乃至請求項11のいずれか1項に記載の図形処理装置。
  13. 前記表示領域に、3次元空間表示の操作を受け付ける専用領域を設定し、前記専用領域に対する操作を前記表示領域に対する操作とみなす請求項1乃至請求項12のいずれか1項に記載の図形処理装置。
  14. 3次元空間を2次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置に、
    ユーザによる前記表示領域のタッチ操作を入力として受け付け、2つの入力が開始された際に、開始が早いほうの第1入力点の位置、前記第1入力点よりも開始が遅いほうの第2入力点の位置、および前記第2入力点のドラッグ中の位置の情報を取得する機能と、
    前記表示領域上における前記第1入力点の位置と前記表示領域との関係に基づいて、3次元空間における視点の回転を実行させるための回転軸を決定する機能と、
    前記第1入力点の位置と前記第2入力点のドラッグ中の位置Pn-1を結ぶ直線SL1と、前記第2入力点のドラッグ中の位置Pn-1とPnを結ぶ直線SL2とが成す角度に基づいて、
    前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する機能と、
    前記第1入力点の位置が前記表示領域の上部もしくは下部に位置していれば前記表示領域の上下方向に延びるy軸を回転軸と決定し、前記第1入力点の位置が前記表示領域の左部もしくは右部に位置していれば前記表示領域の左右方向に延びるx軸を回転軸と決定する機能と
    を実現させるための図形処理プログラム。
JP2018012578A 2018-01-29 2018-01-29 図形処理装置および図形処理プログラム Active JP6526851B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2018063738A JP2018063738A (ja) 2018-04-19
JP6526851B2 true JP6526851B2 (ja) 2019-06-05

Family

ID=61967867

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP6526851B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108553895A (zh) * 2018-04-24 2018-09-21 网易(杭州)网络有限公司 用户界面元素与三维空间模型关联的方法和装置

Family Cites Families (8)

* 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 タッチ位置検出装置及びタッチ指示処理装置
JP4100195B2 (ja) * 2003-02-26 2008-06-11 ソニー株式会社 3次元オブジェクトの表示処理装置、表示処理方法、およびコンピュータプログラム
JP2005182125A (ja) * 2003-12-16 2005-07-07 Casio Comput Co Ltd グラフ表示制御装置及びプログラム
US20100177053A2 (en) * 2008-05-09 2010-07-15 Taizo Yasutake Method and apparatus for control of multiple degrees of freedom of a display
US10198854B2 (en) * 2009-08-14 2019-02-05 Microsoft Technology Licensing, Llc Manipulation of 3-dimensional graphical objects for view in a multi-touch display
US9542068B2 (en) * 2011-10-27 2017-01-10 The Hong Kong University Of Science And Technology System and method for constrained manipulations of 3D objects by multitouch inputs
JP5594402B2 (ja) * 2012-12-20 2014-09-24 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法、及びプログラム
JP2014178791A (ja) * 2013-03-14 2014-09-25 Ricoh Co Ltd 投影装置、投影システム、画像生成プログラム及び画像生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108553895A (zh) * 2018-04-24 2018-09-21 网易(杭州)网络有限公司 用户界面元素与三维空间模型关联的方法和装置
CN108553895B (zh) * 2018-04-24 2021-09-07 网易(杭州)网络有限公司 用户界面元素与三维空间模型关联的方法和装置

Also Published As

Publication number Publication date
JP2018063738A (ja) 2018-04-19

Similar Documents

Publication Publication Date Title
JP5738495B2 (ja) 情報表示装置および表示情報操作方法
WO2015025345A1 (ja) 情報表示装置、情報表示方法および情報表示プログラム
KR102205283B1 (ko) 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
CN108228026B (zh) 三维场景中对象的快速操纵
US20150116367A1 (en) Information processing device, display enlarging method, and computer readable medium
JP2016173703A (ja) タッチディスプレイを用いた入力操作を支援する方法
JP2014012040A (ja) 入力装置および情報処理システム
EP3295303B1 (en) Annotation creation system and method
US11023113B2 (en) Visual manipulation of a digital object
US10769824B2 (en) Method for defining drawing planes for the design of a 3D object
JP5442128B2 (ja) オブジェクトのレイアウト編集方法及び装置
US10754523B2 (en) Resizing of images with respect to a single point of convergence or divergence during zooming operations in a user interface
JP6526851B2 (ja) 図形処理装置および図形処理プログラム
JP6373710B2 (ja) 図形処理装置および図形処理プログラム
JP6445777B2 (ja) オブジェクトを管理する情報処理装置およびその制御方法
US20160328491A1 (en) Precise object manipulation system and method
WO2012120978A1 (ja) 表示方法、表示装置およびプログラム
US20200341607A1 (en) Scrolling interface control for computer display
JP6021460B2 (ja) 描画方法、プログラム、及び装置
JP2015200975A (ja) 情報処理装置、コンピュータプログラムおよび記録媒体
KR102392675B1 (ko) 3차원 스케치를 위한 인터페이싱 방법 및 장치
US20160334971A1 (en) Object Manipulation System and Method
US20220335676A1 (en) Interfacing method and apparatus for 3d sketch
JP2005332231A (ja) ポインティング方法およびポインティング装置、ならびにポインティングプログラム
JP2019046492A (ja) 情報処理装置およびその制御方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190508

R150 Certificate of patent or registration of utility model

Ref document number: 6526851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150