JP2016076017A - Graphic processing device and graphic processing program - Google Patents
Graphic processing device and graphic processing program Download PDFInfo
- Publication number
- JP2016076017A JP2016076017A JP2014204725A JP2014204725A JP2016076017A JP 2016076017 A JP2016076017 A JP 2016076017A JP 2014204725 A JP2014204725 A JP 2014204725A JP 2014204725 A JP2014204725 A JP 2014204725A JP 2016076017 A JP2016076017 A JP 2016076017A
- Authority
- JP
- Japan
- Prior art keywords
- rotation
- input point
- rotation axis
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 37
- 230000029777 axis specification Effects 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 description 50
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 230000004048 modification Effects 0.000 description 16
- 238000012986 modification Methods 0.000 description 16
- 238000010079 rubber tapping Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
Description
本発明の実施形態は、図形処理装置および図形処理プログラムに関する。 Embodiments described herein relate generally to a graphic processing apparatus and a graphic processing program.
3次元空間を2次元領域に表示するアプリケーションが存在するが、従来、3次元空間の表示は、実際に3次元物体を扱う専門的な領域でしか利用されていない。例えば、形状モデリング(車、建築物、精密機器部品など)や、医療データ表示(内蔵3D画像表示など)である。 There are applications that display a three-dimensional space in a two-dimensional area. Conventionally, the display of a three-dimensional space is used only in a specialized area that actually handles a three-dimensional object. For example, shape modeling (cars, buildings, precision instrument parts, etc.) and medical data display (built-in 3D image display, etc.).
専門家向けの3次元空間表示では、操作方法はコストをかけて学習してもらえばよく、操作の直感性よりも、多機能性や精確性の方が重視される。 In a three-dimensional space display for professionals, the operation method may be learned at a high cost, and multifunctionality and accuracy are more important than intuitive operation.
これからは、3次元空間の操作に慣れていないユーザ向けにも、3次元空間の表示が普及すると予想される。例えば、地図に重ねて街ごとの電力消費量を表示するWebサービスや、店舗内3次元地図に棚の段や列ごとの売上状況や推移情報を重ねて、視覚的に見せる店舗内システム等である。 From now on, it is expected that the display of the three-dimensional space will be widespread for users who are not familiar with the operation of the three-dimensional space. For example, a web service that displays power consumption for each city overlaid on a map, or an in-store system that visually displays sales status and transition information for each shelf row or column on a 3D map in the store. is there.
ユーザが3次元空間を把握するためには、視点を移動して様々な位置や方向から見られる必要があり、そのための操作の1つに、視点を回転させる操作がある。ユーザからの入力操作をもとに、システムが回転軸を決め、あらゆる方向に視点を回転させられるように任意の回転軸をユーザが指定できる仕組みがあるが、狙い通りの回転を実現できる回転軸を、不慣れなユーザが正確に指定することは難しい。これは、2次元領域に対する入力で3次元空間における視点の回転を指示しなければならないことが一因である。 In order for the user to grasp the three-dimensional space, it is necessary to move the viewpoint and view it from various positions and directions, and one of the operations for that purpose is an operation of rotating the viewpoint. There is a mechanism that allows the user to specify an arbitrary rotation axis so that the system can determine the rotation axis based on the input operation from the user and rotate the viewpoint in all directions, but the rotation axis that can achieve the desired rotation It is difficult for an unfamiliar user to specify correctly. This is partly because the rotation of the viewpoint in the three-dimensional space must be instructed by the input to the two-dimensional region.
例えば、2次元領域上のマウスドラッグの軌跡で、3次元空間における視点の回転を指示する。そこで、ユーザがx軸、y軸、z軸のいずれか1つを回転軸として明示的に選択して回転することを繰り返すことで、視点の回転を実現する方法も使われている。 For example, the rotation of the viewpoint in the three-dimensional space is instructed by the locus of mouse drag on the two-dimensional area. In view of this, a method of rotating the viewpoint by repeatedly selecting and rotating one of the x-axis, y-axis, and z-axis explicitly as a rotation axis is also used.
しかしながら、選択可能な回転軸を限定することで、ユーザにとって理解しやすい回転を実現できる反面、選択可能な回転軸が限定されることで、一度の回転で移動可能な視点の位置は限定される。また、選択可能な回転軸が限定されていない場合と比べて、任意の視点の回転を実現するために必要な回転の回数が増え、ユーザにとって手間がかかる。 However, by limiting the selectable rotation axes, it is possible to realize rotation that is easy for the user to understand. On the other hand, by limiting the selectable rotation axes, the position of the viewpoint that can be moved by one rotation is limited. . In addition, the number of rotations required to realize rotation of an arbitrary viewpoint is increased compared with a case where selectable rotation axes are not limited, which takes time and effort for the user.
このように、限定された候補の中から回転軸を選択する手法は、狭い範囲の特定箇所でポイント操作しないと回転軸を選択することができず、ユーザに回転軸を選択させるために、補助的な表示が必須である、という問題がある。 As described above, the method of selecting the rotation axis from the limited candidates cannot select the rotation axis unless a point operation is performed at a specific point within a narrow range. There is a problem that visual display is essential.
本発明が解決しようとする課題は、2次元空間の表示における既存の代表的な操作と併用可能な操作で、回転軸の選択と回転を実現させることのできる図形処理装置および図形処理プログラムを提供することである。 A problem to be solved by the present invention is to provide a graphic processing apparatus and a graphic processing program capable of selecting and rotating a rotation axis by an operation that can be used in combination with an existing representative operation in the display of a two-dimensional space. It is to be.
実施形態の図形処理装置は、3次元空間を2次元領域の表示領域上に設定し、その表示領域上に物体を表示する図形処理装置であって、ユーザによる前記表示領域のタッチ操作を入力として受け付け、2つの入力が開始された際に、開始が早いほうの第1入力点の位置、前記第1入力点よりも開始が遅いほうの第2入力点の位置、および前記第2入力点のドラッグ中の位置の情報を取得する入力部と、前記第1入力点と前記表示領域の位置関係に基づいて、3次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、前記第1入力点と前記第2入力点の位置関係に基づいて、前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを備える。 The graphic processing device of the embodiment is a graphic processing device that sets a three-dimensional space on a display region of a two-dimensional region and displays an object on the display region, and receives a touch operation of the display region by a user as an input When the two inputs are started, the position of the first input point that starts earlier, the position of the second input point that starts later than the first input point, and the position of the second input point An input unit that acquires information on a position during dragging, and a rotation axis determination unit that determines a rotation axis for executing rotation of the viewpoint in a three-dimensional space based on the positional relationship between the first input point and the display area A rotation that determines execution of rotation on the rotation axis based on a positional relationship between the first input point and the second input point, and determines a rotation direction based on a drag direction of the second input point. An execution determination unit.
以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the drawings, the same portions are denoted by the same reference numerals, and redundant description is omitted.
まず、本実施形態で用いる主要な用語について説明する。 First, main terms used in the present embodiment will be described.
「表示領域」とは、画面内で3次元空間を表示している2次元領域をいう。表示領域には、3次元空間を空間中のある視点から見た目を2次元平面に投影した内容が描画される。どのような2次元平面に投影するのかは、アプリケーションによって異なる。 “Display area” refers to a two-dimensional area displaying a three-dimensional space on the screen. In the display area, the content of a three-dimensional space projected from a certain viewpoint in the space onto a two-dimensional plane is drawn. What two-dimensional plane is projected depends on the application.
「視点」とは、空間をどの位置でどの方向に見るかを決めるものをいう。視点の位置と視点の方向を変えると、3次元空間にある物体を異なる角度から見ることができる。 “Viewpoint” means what determines where and in what direction the space is viewed. If the viewpoint position and the viewpoint direction are changed, an object in the three-dimensional space can be seen from different angles.
「視点の回転」とは、視点の位置と視点の方向を変更する動きの1つをいう。3次元空間上の任意の点cに向いている視点に関して、点cとの距離を維持したまま、視点の位置v1を位置v2に移動させる場合、点cを回転中心点と呼ぶ。3つの点c、v1、v2を含む平面に対して垂直に交わり、かつ、点cを通る直線を回転軸と呼ぶ。本実施形態では、説明の便宜上、回転中心点cが3次元空間の原点(0,0,0)であるとする。回転中心点cが原点でないこともあるが、座標系が同じであれば問題ない。 “Rotation of viewpoint” refers to one of movements for changing the position of the viewpoint and the direction of the viewpoint. When the viewpoint v1 is moved to the position v2 while maintaining the distance from the point c with respect to the viewpoint facing the arbitrary point c in the three-dimensional space, the point c is referred to as a rotation center point. A straight line that intersects perpendicularly to a plane including the three points c, v1, and v2 and passes through the point c is called a rotation axis. In this embodiment, for convenience of explanation, it is assumed that the rotation center point c is the origin (0,0,0) of the three-dimensional space. Although the rotation center point c may not be the origin, there is no problem if the coordinate system is the same.
回転軸に対して、視点の右回転(反時計回り)と左回転(時計回り)があり、視点の回転方向と表示領域に描画されている3次元空間の物体の回転方向は逆である。例えば、視点を回転軸を中心に右回転させると、表示領域での見た目は、回転軸を中心に物体が左に回転したように見える。 There are right rotation (counterclockwise) and left rotation (clockwise) of the viewpoint with respect to the rotation axis, and the rotation direction of the viewpoint is opposite to the rotation direction of the object in the three-dimensional space drawn in the display area. For example, when the viewpoint is rotated to the right about the rotation axis, the appearance in the display area appears as if the object has rotated left about the rotation axis.
「タップ」とは、表示領域に対するユーザの入力の1種類であって、タッチインターフェース式の端末で、画面を軽く叩く操作のことをいう。マウス操作のクリックに相当し、短時間に2回連続でタップすることを“ダブルタップ”といい、1回だけタップすることを“シングルタップ”という場合もある。 “Tap” is one type of user input to the display area, and means an operation of tapping the screen with a touch interface type terminal. Corresponding to a mouse operation click, tapping twice in a short time is called “double tap”, and tapping only once is sometimes called “single tap”.
「ドラッグ」とは、表示領域に対するユーザの入力の1種類であって、タップ時にボタンまたは指を押したままの状態で画面上を移動させることをいう。移動させずに、単に押したままにすることもある。 “Drag” is one type of user input to the display area and means moving on the screen while pressing a button or a finger when tapping. Sometimes it is simply held down rather than moved.
「ピンチイン」とは、表示領域上で2本の指で2つの入力を同時に行い、つまむように動かし、画面を縮小させる操作のことをいう。 “Pinch-in” refers to an operation in which two inputs are simultaneously performed with two fingers on the display area, and the screen is pinched to reduce the screen.
「ピンチアウト」とは、表示領域上で2本の指で2つの入力を同時に行い、広げるように動かし、画面を拡大させる操作のことをいう。 “Pinch out” refers to an operation that simultaneously performs two inputs with two fingers on the display area, moves the screen to expand, and enlarges the screen.
「入力点」とは、表示領域におけるタップ時やドラッグ時のポイント位置をいう。 “Input point” refers to the point position when tapping or dragging in the display area.
「第1入力点、第2入力点」とは、2つの入力が開始されたとき、第1入力点は開始が早い方の入力点であり、第2入力点は開始が遅い方の入力点である。 "First input point, second input point" means that when two inputs are started, the first input point is the input point that starts earlier, and the second input point is the input point that starts later It is.
「劣角」とは、交点を持つ2つの線分もしくは半直線が平面上で為す小さい方の角度をいう。劣角は、0°よりも大きく、180°よりも小さい。 “Inferior angle” refers to the smaller angle formed by two line segments or half lines having intersections on a plane. The minor angle is larger than 0 ° and smaller than 180 °.
本実施形態においては、3次元空間における視点の回転を実行するための回転軸について、(1)第1入力点と表示領域の位置関係から決定、(2) 第1入力点と第2入力点のドラッグ開始位置の位置関係から決定、のいずれかにより回転軸を決定し、第1入力点と第2入力点の位置関係から回転させるか否かを判定し、第2入力点のドラッグ方向から、回転方向を決定する。 In the present embodiment, (1) the rotation axis for executing the rotation of the viewpoint in the three-dimensional space is determined from the positional relationship between the first input point and the display area, and (2) the first input point and the second input point. The rotation axis is determined based on any one of the drag start positions, and it is determined whether or not to rotate based on the positional relationship between the first input point and the second input point. From the drag direction of the second input point Determine the direction of rotation.
また、本実施形態においては、表示領域における上下左右ドラッグは、基本的に並行移動のための操作であり、ピンチイン/ピンチアウトは、縮小/拡大のための操作である。また、回転中心点は、ユーザによって事前に決められており、z軸は回転軸として考慮せず、x軸、y軸のいずれかを回転軸として選択して回転させる。 In this embodiment, the up / down / left / right drag in the display area is basically an operation for parallel movement, and the pinch-in / pinch-out is an operation for reduction / enlargement. The rotation center point is determined in advance by the user, and the z-axis is not considered as the rotation axis, and either the x-axis or the y-axis is selected as the rotation axis and rotated.
図1は、本発明の実施形態に係る図形処理装置の概略構成を示すブロック図である。この装置は汎用のコンピュータ(例えばパーソナルコンピュータ(PC)等)と、同コンピュータ上で動作するソフトウェアとを用いて実現される。コンピュータとしては、CAD(Computer Aided Design)やCAE(Computer Aided Engineering)に好適なエンジニアリングワークステーション(EWS)等も含む。本実施形態はこのようなコンピュータにおいて、(1)第1入力点と表示領域の位置関係に基づいて決定、(2) 第1入力点と第2入力点の位置関係に基づいて決定、のいずれかにより回転軸を決定し、第1入力点と第2入力点の位置関係から回転させるか否かを判定し、第2入力点のドラッグ方向から、回転方向を決定するプログラムとして実施することもできる。 FIG. 1 is a block diagram showing a schematic configuration of a graphic processing apparatus according to an embodiment of the present invention. This apparatus is realized using a general-purpose computer (for example, a personal computer (PC) or the like) and software operating on the computer. The computer includes an engineering workstation (EWS) suitable for CAD (Computer Aided Design) and CAE (Computer Aided Engineering). In this embodiment, in this computer, either (1) determined based on the positional relationship between the first input point and the display area, or (2) determined based on the positional relationship between the first input point and the second input point. It is also possible to determine the rotation axis according to the above, determine whether to rotate from the positional relationship between the first input point and the second input point, and implement as a program for determining the rotation direction from the drag direction of the second input point. it can.
図1に示すように、本実施形態に係る図形処理装置1は、主として、入力部10と、回転軸決定部20と、回転軸選択解除部30と、回転実行判定部40と、描画指示部50と、回転軸情報格納部60、描画部70から構成されている。
As shown in FIG. 1, the
入力部10は、タッチインターフェース式の入力を受け付けるもので、例えば、静電容量式のタッチパネルで構成される。ユーザの画面タッチ操作を入力し、第1入力点とこの第1入力点よりも入力の開始が遅い方の入力点である第2入力点の位置を取得する。入力部10は、第2入力点がドラッグされている間は、ドラッグ中の位置を取得する。さらに、入力部10は、第1入力点の押下が解除されたことを検知する。入力部10からは、第1入力点の位置、第2入力点のドラッグ中の位置、第1入力点の押下解除通知の情報が出力される。
The
回転軸決定部20は、入力部10から第1入力点の位置および第2入力点のドラッグ中の位置の情報を取得し、次のいずれかの手法で3次元空間における視点の回転を実行するための回転軸を決定する。決定手法の詳細は、後述する。
The rotation
(1) 第1入力点と表示領域の位置関係による回転軸の決定
(2) 第1入力点と第2入力点のドラッグ開始位置の位置関係による回転軸の決定
回転軸決定部20は、回転軸に関する、「なし」、「x軸」、「y軸」のいずれかの選択回転軸情報を有する。回転軸決定部20は、上記のいずれかで決定した選択回転軸情報を回転軸情報格納部60に出力し、既に格納されている選択回転軸情報を更新させる。選択回転軸情報の初期値は、ユーザが回転軸を選択するまでは、「なし」である。
(1) Determination of rotation axis based on positional relationship between first input point and display area (2) Determination of rotation axis based on positional relationship between drag start position of first input point and second input point The rotation
回転軸選択解除部30は、入力部10から第1入力点の押下解除通知の情報を取得し、回転軸情報格納部60に格納されている選択回転軸情報を「なし」に更新する。
The rotation axis
回転実行判定部40は、入力部10から第1入力点の位置および第2入力点のドラッグ中の位置の情報を取得するとともに、回転軸情報格納部60に格納されている選択回転軸情報を参照する。選択回転軸情報が「なし」でない場合に、第1入力点の位置と第2入力点の位置関係に基づいて、後述する所定の判定条件を満たす場合には、描画対象である物体を「回転する」と判定し、判定条件を満たさない場合には、「回転はしない」と判定する。回転実行判定の詳細は後述する。尚、選択回転軸情報が「なし」の場合、回転軸は選択されてないと判定する。
The rotation
さらに、回転実行判定部40は、第2入力点のドラッグ方向に応じて、回転方向を決定する。回転実行判定部40は、「回転する」と判定した場合には、回転方向、選択回転軸情報、第2入力点のドラッグ中の位置の情報を出力する。
Furthermore, the rotation
描画指示部50は、回転実行判定部40から回転方向、選択回転軸情報、第2入力点のドラッグ中の位置の情報を入力し、システム設計者が予め設定する手法で、第2入力点のドラッグ中の位置を用いて、描画対象である物体の回転角度を計算する。ここで、回転角度は、例えば、回転軸をx軸とすると、表示領域の2次元座標における任意の2点のy軸方向の差分から計算することができる。
The drawing
また、描画指示部50は、選択回転軸情報に記録された軸を回転軸として、上記回転方向へ、計算された回転角度だけ回転させた3次元空間の物体の描画を指示する。物体の回転に限らず、視点のズームイン/ズームアウトや平行移動、物体の移動など、3次元空間における物体や視点の変化を表示領域に反映させるために描画を指示することが好適である。
Further, the drawing
回転軸情報格納部60は、選択された選択回転軸情報を格納するものである。初期値は、「なし」である。
The rotation axis
描画部70は、描画する物体の情報、表示領域の諸元等を取得し、描画指示部50からの指示を受けて、最終的に視点を回転させた後の3次元空間の2次元平面への投影を表示領域に表示させる。
The
次に、以上のように構成された図形処理装置1における、回転軸の決定、回転の実行判定、回転方向の決定の各処理について詳述する。
Next, each process of determination of a rotation axis, determination of execution of rotation, and determination of a rotation direction in the
<回転軸の決定>
図2は、表示領域の各部を説明する図である。本実施形態では、表示領域を図2(a)に示すように、上部、下部、図2(b)に示すように、左部、右部の4つの領域に分割する。どのように4分割するかは、ユーザが設定することができる。尚、表示領域に、上部、下部、左部、右部以外に、ユーザからのタッチ操作に反応しない部分を設定してもよい。図3は、表示領域に無反応部を設けた一例を説明する図である。
<Determination of rotation axis>
FIG. 2 is a diagram for explaining each part of the display area. In the present embodiment, the display area is divided into four areas, an upper part and a lower part, as shown in FIG. 2A, and a left part and a right part, as shown in FIG. 2B. The user can set how to divide into four. In addition, you may set the part which does not react to the touch operation from a user other than an upper part, a lower part, a left part, and a right part in a display area. FIG. 3 is a diagram illustrating an example in which a non-reactive portion is provided in the display area.
(回転軸決定の第1の手法)
回転軸決定の第1の手法では、
(1)第1入力点の位置が表示領域の上部もしくは下部に位置していれば「y軸」を回転軸と決定し、第1入力点の位置が表示領域の左部もしくは右部に位置していれば「x軸」を回転軸と決定する。
(First method for determining the rotation axis)
In the first method of determining the rotation axis,
(1) If the position of the first input point is located at the top or bottom of the display area, the “y-axis” is determined as the rotation axis, and the position of the first input point is located at the left or right part of the display area. If so, the “x-axis” is determined as the rotation axis.
図4は、回転軸決定の第1の手法における処理の流れを示すフローチャートである。 FIG. 4 is a flowchart showing the flow of processing in the first method for determining the rotation axis.
まず、入力部10において取得した第1入力点の位置について、回転軸決定部20は、表示領域において上部、下部、左部、右部、無反応部のいずれに位置しているかを計算する(ステップS41)。
First, for the position of the first input point acquired in the
次に、第1入力点の位置が無反応部であるか否かを判定する(ステップS42)。 Next, it is determined whether or not the position of the first input point is a non-reactive part (step S42).
第1入力点の位置が無反応部であれば(ステップS42でYes)、回転軸決定の第1の手法の処理を終了し、第1入力点の位置が無反応部でなければ(ステップS42でNo)、第1入力点の位置が上部または下部であるか否かを判定する(ステップS43)。 If the position of the first input point is a non-reactive part (Yes in step S42), the process of the first method for determining the rotation axis is terminated, and the position of the first input point is not a non-reactive part (step S42). No), it is determined whether or not the position of the first input point is the upper part or the lower part (step S43).
第1入力点の位置が上部または下部であれば(ステップS43でYes)、選択回転軸情報を「y軸」で更新(ステップS44)し、回転軸決定の第1の手法の処理を終了する。 If the position of the first input point is upper or lower (Yes in step S43), the selected rotation axis information is updated with “y axis” (step S44), and the process of the first method for determining the rotation axis is completed. .
一方、第1入力点の位置が上部または下部でなければ(ステップS43でNo)、選択回転軸情報を「x軸」で更新(ステップS45)し、回転軸決定の第1の手法の処理を終了する。 On the other hand, if the position of the first input point is not the upper part or the lower part (No in step S43), the selected rotation axis information is updated with “x axis” (step S45), and the process of the first method for determining the rotation axis is performed. finish.
(回転軸決定の第2の手法)
回転軸決定の第2の手法では、
(2) 第1入力点の位置と第2入力点のドラッグ開始位置が、“縦関係”にあれば、「y軸」を、“横関係”にあれば、「x軸」を回転軸と決定する。尚、ユーザによる入力操作がドラッグ操作である、との判定は周知の手法を適用することができる。
(Second method for determining the rotation axis)
In the second method of determining the rotation axis,
(2) If the position of the first input point and the drag start position of the second input point are in a “vertical relationship”, “y-axis” is set, and if in the “lateral relationship”, the “x-axis” is set as a rotation axis. decide. Note that a known method can be applied to determine that the input operation by the user is a drag operation.
図5は、入力点の縦関係および入力点の横関係を説明する図である。図5(a)は2つの入力点が縦関係にある場合を示し、図5(b)は2つの入力点が横関係にある場合を示している。図5に示すように、2つの入力点を通る直線と表示領域の縦横の枠線が為す狭い方の角度θ1が閾値a以下という判定条件を満たすか考える。 FIG. 5 is a diagram for explaining the vertical relationship between input points and the horizontal relationship between input points. FIG. 5A shows a case where two input points are in a vertical relationship, and FIG. 5B shows a case where two input points are in a horizontal relationship. As shown in FIG. 5, consider straight whether narrow angle theta 1 of the aspect of the border made of the display area is determined condition that the threshold a following through the two input points.
縦枠線が判定条件を満たす場合(図5(a)参照)、2つの入力点は縦関係にあるとし、回転軸をy軸に決定する。以下の説明では、2つの入力点が縦関係にある場合、角度θ1=Vと表記する。 When the vertical frame line satisfies the determination condition (see FIG. 5A), the two input points are assumed to be in a vertical relationship, and the rotation axis is determined as the y axis. In the following description, when two input points are in a vertical relationship, the angle θ 1 = V is expressed.
一方、横枠線が判定条件を満たす場合(図5(b)参照)、 2つの入力点は横関係にあるとし、回転軸をx軸に決定する。以下の説明では、2つの入力点が横関係にある場合、角度θ1=H と表記する。尚、どちらの枠線も判定条件を満たさない場合、回転軸は選択されていないとみなす。 On the other hand, when the horizontal frame line satisfies the determination condition (see FIG. 5B), the two input points are assumed to have a horizontal relationship, and the rotation axis is determined as the x axis. In the following description, when two input points are in a lateral relationship, the angle θ 1 = H is described. When neither frame line satisfies the determination condition, it is considered that the rotation axis is not selected.
上記した閾値aは、ユーザによって事前に設定する。例えば、閾値a=30°とする。 The above threshold value a is set in advance by the user. For example, the threshold value a = 30 °.
図6は、回転軸決定の第2の手法における処理の流れを示すフローチャートである。 FIG. 6 is a flowchart showing the flow of processing in the second method for determining the rotation axis.
まず、入力部10において取得した第1入力点の位置、第2入力点のドラッグ中の位置に関し、回転軸決定部20は、第1入力点と第2入力点のドラッグ開始位置を通る直線と表示領域の縦枠線が為す狭い方の角度V および表示領域の横枠線が為す狭い方の角度Hを計算する(ステップS61)。
First, with respect to the position of the first input point acquired by the
次に、計算した2つの角度の大小について、V<Hか否かを判定する(ステップS62)。 Next, it is determined whether or not V <H for the calculated two angles (step S62).
V<Hであれば(ステップS62でYes)、閾値aと大小を比較しV <= aか否かを判定する(ステップS63)。 If V <H (Yes in step S62), the threshold value a is compared with the magnitude to determine whether V <= a (step S63).
V <= aでなければ(ステップS63でNo)、回転軸決定の第2の手法の処理を終了し、V <= aであれば(ステップS63でYes)、選択回転軸情報を「y軸」で更新(ステップS64)し、回転軸決定の第2の手法の処理を終了する。 If V <= a (No in step S63), the process of the second method for determining the rotational axis is terminated. If V <= a (Yes in step S63), the selected rotational axis information is set to “y-axis”. ”(Step S64), and the process of the second method for determining the rotation axis is completed.
一方、V<Hでなければ(ステップS62でNo)、V>Hか否かを判定する(ステップS65)。 On the other hand, if V <H is not satisfied (No in step S62), it is determined whether V> H is satisfied (step S65).
V>Hでなければ(ステップS65でNo)、回転軸決定の第2の手法の処理を終了し、V>Hであれば(ステップS65でYes)、H <= aか否かを判定する(ステップS66)。 If V> H is not satisfied (No in step S65), the process of the second method for determining the rotation axis is terminated. If V> H is satisfied (Yes in step S65), it is determined whether H <= a. (Step S66).
H <= a でなければ(ステップS66でNo)、回転軸決定の第2の手法の処理を終了し、H <= a であれば(ステップS66でYes)、選択回転軸情報を「x軸」で更新(ステップS67)し、回転軸決定の第2の手法の処理を終了する。 If it is not H <= a (No in step S66), the process of the second method for determining the rotational axis is terminated. If H <= a (Yes in step S66), the selected rotational axis information is set to “x-axis”. ”(Step S67), and the process of the second method for determining the rotation axis is completed.
上述したようにして回転軸が選択された際の、ユーザによるx軸あるいはy軸の把握(認識)については、例えば、以下のようにすることができる。 As described above, when the rotation axis is selected as described above, the user can grasp (recognize) the x-axis or the y-axis, for example, as follows.
(1) 補助的な情報として回転軸を表示領域上に描画
(2)表示領域内外のどこかに回転軸を示すテキストを表示
<回転の実行判定>
本実施形態においては、第1入力点と第2入力点の位置関係から、上記回転軸において物体を回転させる(すなわち、視点を回転させる)か否かを判定する。図7、図8は、回転の実行判定を説明する図である。図7に示すように、第2入力点のドラッグ開始位置をP0とし、そのドラッグ中のn回目の処理が行われる時点での第2入力点の位置をPnとする。第1入力点、第2入力点は、表示領域内であれば、位置を問わない。
(1) The rotation axis is drawn on the display area as auxiliary information. (2) The text indicating the rotation axis is displayed somewhere inside or outside the display area.
In the present embodiment, it is determined from the positional relationship between the first input point and the second input point whether or not the object is rotated on the rotation axis (that is, the viewpoint is rotated). 7 and 8 are diagrams for explaining the execution determination of rotation. As shown in FIG. 7, the drag start position of the second input point is P 0, and the position of the second input point at the time when the n-th process during the drag is performed is P n. The positions of the first input point and the second input point are not limited as long as they are within the display area.
図8に示すように、第1入力点の位置と第2入力点のドラッグ中の位置Pn-1を結ぶ線分SL1、第2入力点のドラッグ中の位置Pn-1とPnを結ぶ線分SL2に関して、2つの線分SL1、SL2が作る劣角θ2を考える。 As shown in FIG. 8, a line segment SL1 connecting the position of the first input point and the dragging position Pn-1 of the second input point, and a line segment connecting the positions Pn-1 and Pn of the second input point dragging. Regarding SL2, let us consider an inferior angle θ 2 formed by two line segments SL1 and SL2.
本実施形態においては、劣角θ2が閾値α以上で、かつ、閾値β以下の場合、すなわち、α<=θ2<=βである場合には、回転の実行と判定する(図8(a)参照)。閾値α、閾値βは、0°<α<180°、0°<β<180°、α≠βであり、システム設計者が予め設定する。例えば、閾値α=30°、閾値β=150°とする。 In this embodiment, when the recessive angle θ 2 is equal to or larger than the threshold value α and equal to or smaller than the threshold value β, that is, when α <= θ 2 <= β, it is determined that the rotation is executed (FIG. 8 ( a)). The threshold values α and β are 0 ° <α <180 °, 0 ° <β <180 °, and α ≠ β, and are set in advance by the system designer. For example, the threshold value α = 30 ° and the threshold value β = 150 °.
係る条件判定により、図8(b)に示すように、角度が大きすぎる場合には、回転とは判定せず、ピンチアウト(拡大操作)と判定することができる。一方、図8(c)に示すように、角度が小さすぎる場合にも、回転とは判定せず、ピンチイン(縮小操作)と判定することができる。 With this condition determination, as shown in FIG. 8B, when the angle is too large, it is not determined to be rotation but can be determined to be a pinch out (enlargement operation). On the other hand, as shown in FIG. 8C, even when the angle is too small, it is not determined as rotation but can be determined as pinch-in (reduction operation).
尚、回転の実行判定と回転方向の決定処理は、ユーザによる入力操作にすみやかに反応すべく、第2入力点のドラッグ中に定期的に繰り返し実行するのが好適である。 Note that it is preferable that the execution determination of the rotation and the determination process of the rotation direction are repeatedly executed periodically while the second input point is being dragged in order to promptly respond to the input operation by the user.
<回転方向の決定>
本実施形態においては、上述のようにして回転の実行判定がなされた場合、次に、第2入力点のドラッグ方向に基づいて、回転方向を決定する。図9は、回転方向の決定を説明する図である。まず、図9に示すように、第2入力点のドラッグ中の位置Pn-1とPnからドラッグ方向を考える。
<Determination of rotation direction>
In the present embodiment, when the rotation execution determination is made as described above, the rotation direction is determined based on the drag direction of the second input point. FIG. 9 is a diagram for explaining the determination of the rotation direction. First, as shown in FIG. 9, a drag direction is considered from positions Pn-1 and Pn during dragging of the second input point.
図10は、回転軸がx軸の場合の回転方向の決定を説明する図である。第2入力点のドラッグ中の位置Pn-1を通る、表示領域の横枠線と平行な直線で表示領域を分割して考える。図10(a)に示すように、ドラッグ方向が上側に向かっていれば、「右回転」と決定し、図10(b)に示すように、ドラッグ方向が下側に向かっていれば、「左回転」と決定する。 FIG. 10 is a diagram for explaining the determination of the rotation direction when the rotation axis is the x-axis. Consider a case where the display area is divided by a straight line passing through the position Pn-1 during dragging of the second input point and parallel to the horizontal frame line of the display area. As shown in FIG. 10A, if the drag direction is upward, it is determined to be “right rotation”. As shown in FIG. 10B, if the drag direction is downward, “ "Rotate left".
図11は、回転軸がy軸の場合の回転方向の決定を説明する図である。第2入力点のドラッグ中の位置Pn-1を通る、表示領域の縦枠線と平行な直線で表示領域を分割して考える。図11(a)に示すように、ドラッグ方向が左側に向かっていれば、「右回転」と決定し、図11(b)に示すように、ドラッグ方向が右側に向かっていれば、「左回転」と決定する。 FIG. 11 is a diagram for explaining the determination of the rotation direction when the rotation axis is the y-axis. Consider the display area divided by a straight line passing through the position Pn-1 during dragging of the second input point and parallel to the vertical frame line of the display area. As shown in FIG. 11 (a), if the drag direction is toward the left side, “right rotation” is determined, and as shown in FIG. 11 (b), if the drag direction is toward the right side, “left "Rotation".
図12は、回転実行判定部40における回転実行判定および回転方向決定の処理の流れを示すフローチャートである。
FIG. 12 is a flowchart showing a flow of processing of rotation execution determination and rotation direction determination in the rotation
まず、回転実行判定部40は、入力部10から第1入力点の位置、第2入力点の位置および第2入力点のドラッグ中の位置情報を取得し、回転軸情報格納部60に格納されている選択回転軸情報を参照する(ステップS1201)。
First, the rotation
次に、選択回転軸情報が「なし」であるか否かを判定する(ステップS1202)。 Next, it is determined whether or not the selected rotation axis information is “none” (step S1202).
選択回転軸情報が「なし」であれば(ステップS1202でYes)、回転実行判定および回転方向決定の処理を終了する。 If the selected rotation axis information is “none” (Yes in step S1202), the rotation execution determination and rotation direction determination processing ends.
選択回転軸情報が「なし」でなければ(ステップS1202でNo)、第1入力点の位置と第2入力点の位置Pn-1を結ぶ線分SL1、第2入力点の位置Pn-1とPnを結ぶ線分SL2に基づいて、2つの線分の劣角θ2を計算する(ステップS1203)。 If the selected rotation axis information is not “None” (No in step S1202), the line segment SL1 connecting the position of the first input point and the position Pn-1 of the second input point, the position Pn-1 of the second input point, and Based on the line segment SL2 connecting Pn, the subordinate angle θ 2 of the two line segments is calculated (step S1203).
続いて、0°<α<180°、0°<β<180°、α≠βであるとき、劣角θ2と2つの閾値α、βとが、α<=θ2<=βか否かを判定する(ステップS1204)。 Subsequently, when 0 ° <α <180 °, 0 ° <β <180 °, and α ≠ β, the minor angle θ 2 and the two threshold values α and β are α <= θ 2 <= β. Is determined (step S1204).
α<=θ2<=βでなければ(ステップS1204でNo)、回転実行判定の処理を終了する。 If α <= θ 2 ≦ β (No in step S1204), the rotation execution determination process ends.
一方、α<=θ2<=βであれば(ステップS1204でYes)、次に、選択回転軸がx軸か否かを判定する(ステップS1205)。 On the other hand, if α <= θ 2 <= β (Yes in step S1204), it is next determined whether or not the selected rotation axis is the x-axis (step S1205).
選択回転軸がx軸であれば(ステップS1205でYes)、ドラッグ方向が下側か否かを判定する(ステップS1206)。 If the selected rotation axis is the x-axis (Yes in step S1205), it is determined whether or not the drag direction is downward (step S1206).
ドラッグ方向が下側であれば(ステップS1206でYes)、回転方向を「左回転」に決定(ステップS1207)し、ドラッグ方向が下側でなければ(ステップS1206でNo)、回転方向を「右回転」に決定(ステップS1208)する。 If the drag direction is the lower side (Yes in step S1206), the rotation direction is determined to be “left rotation” (step S1207). If the drag direction is not the lower side (No in step S1206), the rotation direction is set to “right "Rotation" is determined (step S1208).
一方、選択回転軸がx軸でなければ(ステップS1205でNo)、ドラッグ方向が右側か否かを判定する(ステップS1209)。 On the other hand, if the selected rotation axis is not the x-axis (No in step S1205), it is determined whether the drag direction is the right side (step S1209).
ドラッグ方向が右側であれば(ステップS1209でYes)、回転方向を「左回転」に決定(ステップS1210)し、ドラッグ方向が右側でなければ(ステップS1209でNo)、回転方向を「右回転」に決定(ステップS1211)する。 If the drag direction is the right side (Yes in step S1209), the rotation direction is determined to be “left rotation” (step S1210). If the drag direction is not the right side (No in step S1209), the rotation direction is “right rotation”. (Step S1211).
選択回転軸および回転方向の情報は、描画指示部50に送られる。
Information on the selected rotation axis and rotation direction is sent to the
<回転方向の変化>
第2入力点のドラッグ中に定期的に回転方向の決定が繰り返し実施されることにより、ドラッグ中に回転方向が変化しうる。
<Change in rotation direction>
The rotation direction can be changed during the drag by periodically determining the rotation direction while the second input point is being dragged.
図13は、回転方向の変化を説明する図である。図13に示すように、例えば、右回転していた時に、ドラッグ方向を右側に変えると、左回転に変わる。図13に示す例では、1回目の回転方向決定処理では右回転だったものが、2回目の回転方向決定処理では、左回転に変化している。 FIG. 13 is a diagram illustrating a change in the rotation direction. As shown in FIG. 13, for example, if the drag direction is changed to the right during the right rotation, the rotation is changed to the left rotation. In the example shown in FIG. 13, what was clockwise rotation in the first rotation direction determination process is changed to left rotation in the second rotation direction determination process.
<回転軸の選択解除>
回転軸選択解除部30は、入力部10から第1入力点の押下解除の通知を取得すると、選択回転軸情報を「なし」に更新して、ユーザによる回転軸の選択を解除する。図14は、回転軸の選択解除を説明する図である。図14に示すように、ユーザの操作が(A)第1入力点の押下がなくなる、または(B)第1入力点および第2入力点ともに押下がなくなる、に遷移する場合は、回転軸の選択は解除される。一方、(C)第1入力点は押下状態のまま、第2入力点の押下がなくなる場合は、回転軸は、例えばy軸で固定されたままであり、第2入力点を新たに押下すれば、回転実行判定処理が行われる。
<Deselect rotation axis>
When the rotation axis
[実施例]
次に、本実施形態の実施例について説明する。図15は、本実施例における前提条件を説明する図である。図15(a)に示すように、本実施例では、3次元表示空間に1つの平面とその平面上に載置される直方体を表示している状況を考え、回転中心点は平面の中心に設定されているとする。また、本実施例では、図15(b)に示すように、ユーザが第1入力点、第2入力点を押下したとする。
[Example]
Next, examples of the present embodiment will be described. FIG. 15 is a diagram for explaining preconditions in the present embodiment. As shown in FIG. 15A, in this embodiment, considering a situation where one plane and a rectangular parallelepiped placed on the plane are displayed in the three-dimensional display space, the rotation center point is at the center of the plane. Suppose that it is set. In this embodiment, it is assumed that the user presses the first input point and the second input point as shown in FIG.
<回転軸決定>
図16は、本実施例において第1入力点と表示領域の位置関係を用いた回転軸決定の第1の手法を適用する説明図である。本実施例では、表示領域の領域分割は、図16(a)に示すように設定されている。さらに、本実施例では、図16(b)に示すように、第1入力点は、「上部」に位置している。
<Rotation axis determination>
FIG. 16 is an explanatory diagram for applying the first method for determining the rotation axis using the positional relationship between the first input point and the display area in the present embodiment. In this embodiment, the area division of the display area is set as shown in FIG. Furthermore, in the present embodiment, as shown in FIG. 16B, the first input point is located at the “upper part”.
したがって、回転軸決定の第1の手法によれば、上記した図4に示すフローチャートにおいて、ステップS42での判定はNo、ステップS43での判定はYesとなり、本実施例における回転軸は「y軸」に決定される。 Therefore, according to the first method for determining the rotation axis, in the flowchart shown in FIG. 4 described above, the determination in step S42 is No, the determination in step S43 is Yes, and the rotation axis in the present embodiment is “y-axis”. Determined.
次に、図17は、本実施例において第1入力点と第2入力点のドラッグ開始位置の位置関係を用いた回転軸決定の第2の手法を適用する説明図である。本実施例では、閾値a=30°と設定され、V、Hは図17に示すような関係にある。 Next, FIG. 17 is an explanatory diagram for applying the second method of determining the rotation axis using the positional relationship between the drag start positions of the first input point and the second input point in this embodiment. In this embodiment, the threshold value a = 30 ° is set, and V and H have a relationship as shown in FIG.
したがって、回転軸決定の第2の手法によれば、上記した図6に示すフローチャートにおいて、ステップS62での判定はYes、ステップS63での判定はYesとなり、本実施例における回転軸は「y軸」に決定される。 Therefore, according to the second method of determining the rotation axis, in the flowchart shown in FIG. 6 described above, the determination in step S62 is Yes and the determination in step S63 is Yes. Determined.
<回転実行判定>
図18は、本実施例における、劣角θ2および閾値α、βの関係を説明する図である。本実施例では、α=30°、β=150°に設定されているとすると、図18に示すように、θ2=80°なので、α<=θ2<=βの条件を満たしている。また、ドラッグ方向は右側である。
<Rotation execution judgment>
FIG. 18 is a diagram for explaining the relationship between the recessive angle θ 2 and the threshold values α and β in the present embodiment. In the present embodiment, if α = 30 ° and β = 150 ° are set, as shown in FIG. 18, θ 2 = 80 °, and therefore the condition of α <= θ 2 <= β is satisfied. . The drag direction is on the right side.
したがって、上記した図12に示すフローチャートにおいて、ステップS1202での判定はNo、ステップS1204での判定はYes、ステップS1205での判定はNoとなり本実施例における回転軸は「y軸」に決定され、ステップS1209での判定はYesとなり、本実施例における回転方向は「左回転」に決定される。 Therefore, in the flowchart shown in FIG. 12 described above, the determination in step S1202 is No, the determination in step S1204 is Yes, the determination in step S1205 is No, and the rotation axis in this embodiment is determined as “y-axis”. The determination in step S1209 is Yes, and the rotation direction in this embodiment is determined as “left rotation”.
<回転角度の算出>
回転軸がy軸のときの回転角度計算方法が下記のように決められているとする。
<Calculation of rotation angle>
Assume that the rotation angle calculation method when the rotation axis is the y-axis is determined as follows.
表示領域上でのx軸方向のドラッグ距離(ピクセル)をdとし、表示領域の横のサイズをv(ピクセル)とする。 Let the drag distance (pixel) in the x-axis direction on the display area be d, and the horizontal size of the display area be v (pixel).
回転角度をqとすると、q = 90 * d / vとなる。 When the rotation angle is q, q = 90 * d / v.
例えば、v:1600ピクセル、d:400ピクセルとすると、回転角度 q = 90 * 400 / 1600 = 22.5度となる。図19は、本実施例において、視点を回転軸yにて22.5度左回転させることによる描画を説明する図である。 For example, assuming that v is 1600 pixels and d is 400 pixels, the rotation angle q is 90 * 400/1600 = 22.5 degrees. FIG. 19 is a diagram for explaining drawing by rotating the viewpoint 22.5 degrees to the left about the rotation axis y in the present embodiment.
(本実施形態の変形例1)
次に、本実施形態の変形例1について説明する。
(
Next,
タッチスクリーン上のピンチイン操作を、視点を回転中心点に近づける“ズームイン”操作として、ピンチアウト操作を視点を回転中心点から遠ざける“ズームアウト”操作として併用する場合を説明する。 A case will be described in which the pinch-in operation on the touch screen is used as a “zoom-in” operation for bringing the viewpoint closer to the rotation center point, and the pinch-out operation is used as a “zoom-out” operation for moving the viewpoint away from the rotation center point.
回転実行判定部40では、ユーザの指示が視点の回転、ピンチイン、あるいはピンチアウトのいずれに該当するかを判定する。図20は、変形例1を説明する図である。図20に示すように、α <=θ2<=βの関係にあるときは、視点を回転させる指示と判定し、劣角θ2が小さすぎる(θ2<α)場合にはピンチイン操作(ズームイン)と判定し、劣角が大きすぎる(β <θ2)場合にはピンチアウト操作(ズームアウト)と判定する。
The rotation
回転実行判定部40から描画指示部50に判定結果が渡され、描画指示部50は、視点の回転、ズームイン、ズームアウトのいずれかの描画を指示する。
A determination result is passed from the rotation
変形例1によれば、ユーザは、第1入力点の押下を維持したまま、第2入力点をドラッグするだけで、視点の回転、ズームイン、ズームアウトの3種類の動作を連続的に指示することができる。 According to the first modification, the user continuously instructs the three types of operations of rotating the viewpoint, zooming in, and zooming out by simply dragging the second input point while maintaining the pressing of the first input point. be able to.
(本実施形態の変形例2)
次に、本実施形態の変形例2について説明する。変形例2は、物体(オブジェクト)の選択などの動作と視点の回転等を併用する場合の処理である。このような場合では、回転軸決定処理の最初のステップにおいて、入力部10から得られた第1入力点の位置がオブジェクト描画ピクセルに相当するか否かを判定する処理を実施する。第1入力点の位置がオブジェクト描画ピクセルに相当する場合には、回転軸は選択されない。図21は、変形例2を説明する図である。第1入力点が図21に示すような場合、平面オブジェクトの描画ピクセルにあたるため、回転軸は選択されない。
(
Next, a second modification of the present embodiment will be described. The
(本実施形態の変形例3)
次に、本実施形態の変形例3について説明する。変形例3は、表示領域を複数の目的で使用する場合である。図22は、変形例3を説明する図である。図22に示すように、3次元空間表示の操作受付専用領域を用意し、その領域に対する操作を表示領域に対する操作とみなして、本実施形態を適用してもよい。
(Modification 3 of this embodiment)
Next, Modification 3 of the present embodiment will be described. Modification 3 is a case where the display area is used for a plurality of purposes. FIG. 22 is a diagram for explaining the third modification. As shown in FIG. 22, this embodiment may be applied by preparing an operation reception dedicated area for three-dimensional space display and regarding the operation for the area as an operation for the display area.
以上説明したように、本実施形態によれば、2次元空間の表示における既存の代表的な操作と併用可能な操作で、回転軸の選択と回転を実現させることができる。 As described above, according to the present embodiment, selection and rotation of a rotation axis can be realized by an operation that can be used in combination with an existing representative operation in the display of a two-dimensional space.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
1・・・図形処理装置
10・・・入力部
20・・・回転軸決定部
30・・・回転軸選択解除部
40・・・回転実行判定部
50・・・描画指示部
60・・・回転軸情報格納部
70・・・描画部
DESCRIPTION OF
Claims (15)
ユーザによる前記表示領域のタッチ操作を入力として受け付け、2つの入力が開始された際に、開始が早いほうの第1入力点の位置、前記第1入力点よりも開始が遅いほうの第2入力点の位置、および前記第2入力点のドラッグ中の位置の情報を取得する入力部と、
前記第1入力点と前記表示領域の位置関係に基づいて、3次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、
前記第1入力点と前記第2入力点の位置関係に基づいて、前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを備える図形処理装置。 A graphic processing apparatus that sets a three-dimensional space on a display area of a two-dimensional area and displays an object on the display area,
Accepting a touch operation on the display area by the user as an input, when two inputs are started, the position of the first input point that starts earlier, the second input that starts later than the first input point An input unit for acquiring information on a position of a point and a position during dragging of the second input point;
A rotation axis determination unit that determines a rotation axis for executing rotation of the viewpoint in a three-dimensional space based on the positional relationship between the first input point and the display area;
Rotation execution determination that determines execution of rotation on the rotation axis based on a positional relationship between the first input point and the second input point, and determines a rotation direction based on a drag direction of the second input point. A graphics processing device.
ユーザによる前記表示領域のタッチ操作を入力として受け付け、2つの入力が開始された際に、開始が早いほうの第1入力点の位置、前記第1入力点よりも開始が遅いほうの第2入力点の位置、前記第2入力点のドラッグ中の位置の情報を取得する入力部と、
前記第1入力点と前記第2入力点のドラッグ開始位置の位置関係に基づいて、3次元空間における視点の回転を実行させるための回転軸を決定する回転軸決定部と、
前記第1入力点と前記第2入力点の位置関係に基づいて前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する回転実行判定部とを
備える図形処理装置。 A graphic processing apparatus that sets a three-dimensional space on a display area of a two-dimensional area and displays an object on the display area,
Accepting a touch operation on the display area by the user as an input, when two inputs are started, the position of the first input point that starts earlier, the second input that starts later than the first input point An input unit for acquiring information on the position of the point and the position of the second input point being dragged;
A rotation axis determination unit that determines a rotation axis for executing rotation of a viewpoint in a three-dimensional space based on a positional relationship between drag start positions of the first input point and the second input point;
A rotation execution determination unit that determines execution of rotation on the rotation axis based on a positional relationship between the first input point and the second input point, and determines a rotation direction based on a drag direction of the second input point. A graphic processing device comprising:
前記第1入力点の位置と前記第2入力点のドラッグ開始位置について、
前記2つの入力点を通る直線と前記表示領域の縦の枠線が為す狭い方の角度が所定値以下との条件を満たす場合には、前記回転軸をy軸に決定し、
前記2つの入力点を通る直線と前記表示領域の横の枠線が為す狭い方の角度が所定値以下との条件を満たす場合には、前記回転軸をx軸に決定する請求項4に記載の図形処理装置。 The rotation axis determination unit
Regarding the position of the first input point and the drag start position of the second input point,
If the narrow angle formed by the straight line passing through the two input points and the vertical frame of the display area satisfies the condition that it is equal to or less than a predetermined value, the rotation axis is determined as the y-axis,
5. The rotation axis is determined as an x-axis when a condition that a narrower angle formed by a straight line passing through the two input points and a horizontal frame line of the display area satisfies a predetermined value or less is satisfied. Graphics processing equipment.
前記第1入力点の位置と前記第2入力点のドラッグ中の位置Pn-1を結ぶ線分と、前記位置Pn-1と前記第2入力点のドラッグ中のn回目の位置Pnを結ぶ線分とに関し、これら2つの線分が作る劣角が所定の範囲内である場合に回転の実行と判定する請求項4または請求項5に記載の図形処理装置。 The rotation execution determination unit
A line connecting the position of the first input point and the position Pn-1 during dragging of the second input point, and a line connecting the position Pn-1 and the nth position Pn during dragging of the second input point The graphic processing device according to claim 4, wherein the rotation is determined to be performed when the minor angle formed by the two line segments is within a predetermined range.
前記回転軸がx軸であり、
前記第2入力点のドラッグ中の位置Pn-1を通る、前記表示領域の横枠線と平行な直線で前記表示領域を分割して捉えたとき、前記ドラッグ方向が上側に向かっていれば右回転と決定し、前記ドラッグ方向が下側に向かっていれば左回転と決定する請求項6に記載の図形処理装置。 The rotation execution determination unit
The rotation axis is an x-axis;
If the display area is divided by a straight line that passes through the dragging position Pn-1 of the second input point and is parallel to the horizontal frame line of the display area, and the drag direction is upward, the right The graphic processing apparatus according to claim 6, wherein the graphic processing device is determined to be rotation, and is determined to be left rotation if the drag direction is directed downward.
前記回転軸がy軸であり、
前記第2入力点のドラッグ中の位置Pn-1を通る、前記表示領域の縦枠線と平行な直線で前記表示領域を分割して捉えたとき、前記ドラッグ方向が左側に向かっていれば右回転と決定し、前記ドラッグ方向が右側に向かっていれば左回転と決定する請求項6に記載の図形処理装置。 The rotation execution determination unit
The rotational axis is the y-axis;
When the display area is divided by a straight line that passes through the position Pn-1 during dragging of the second input point and is parallel to the vertical frame line of the display area, if the drag direction is to the left, the right The graphic processing apparatus according to claim 6, wherein the graphic processing device is determined to be rotation, and if the drag direction is directed to the right side, it is determined to be left rotation.
前記決定された回転軸において、前記決定された回転方向へ、所定回転角度だけ回転させた3次元空間の描画を指示する描画指示部と、
描画する物体の情報、前記表示領域の諸元を取得し、前記描画指示部からの指示を受けて、視点を回転させた後の3次元空間の2次元平面への投影を前記表示領域に表示させる描画部とを、
さらに備える請求項1乃至請求項8のいずれか1項に記載の図形処理装置。 A rotation axis information storage unit that stores information on the rotation axis determined by the rotation axis determination unit as selected rotation axis information;
A drawing instruction unit for instructing drawing of a three-dimensional space rotated by a predetermined rotation angle in the determined rotation direction on the determined rotation axis;
Information on the object to be drawn and the specifications of the display area are obtained, and the projection onto the two-dimensional plane of the three-dimensional space after rotating the viewpoint in response to an instruction from the drawing instruction unit is displayed on the display area. The drawing part to be
The graphic processing apparatus according to claim 1, further comprising:
前記劣角が、前記所定の範囲の下限よりも小さい場合には、ピンチイン操作と判定し、
前記劣角が、前記所定の範囲の上限よりも大きい場合には、ピンチアウト操作と判定する請求項6に記載の図形処理装置。 The rotation execution determination unit
In the case where the minor angle is smaller than the lower limit of the predetermined range, it is determined as a pinch-in operation,
The graphic processing device according to claim 6, wherein when the minor angle is larger than an upper limit of the predetermined range, it is determined as a pinch-out operation.
前記第1入力点の位置が物体を描画するピクセルに相当する場合、前記回転軸は選択しない請求項1乃至請求項12のいずれか1項に記載の図形処理装置。 The rotation axis determination unit
The graphic processing apparatus according to claim 1, wherein when the position of the first input point corresponds to a pixel for drawing an object, the rotation axis is not selected.
3次元空間表示の操作を受け付ける領域とそれ以外の領域とに区分されている請求項1乃至請求項13のいずれか1項に記載の図形処理装置。 The display area is
The graphic processing device according to claim 1, wherein the graphic processing device is divided into a region for receiving a three-dimensional space display operation and a region other than the region.
ユーザによる前記表示領域のタッチ操作を入力として受け付け、2つの入力が開始された際に、開始が早いほうの第1入力点の位置、前記第1入力点よりも開始が遅いほうの第2入力点の位置、および前記第2入力点のドラッグ中の位置の情報を取得する機能と、
前記第1入力点と前記表示領域の位置関係に基づいて、3次元空間における視点の回転を実行させるための回転軸を決定する機能と、
前記第1入力点と前記第2入力点の位置関係に基づいて、前記回転軸での回転の実行を判定し、前記第2入力点のドラッグ方向に基づいて、回転方向を決定する機能と、
を実現させるための図形処理プログラム。 A graphic processing apparatus that sets a three-dimensional space on a display area of a two-dimensional area and displays an object on the display area.
Accepting a touch operation on the display area by the user as an input, when two inputs are started, the position of the first input point that starts earlier, the second input that starts later than the first input point A function of acquiring information of a position of a point and a position during dragging of the second input point;
A function for determining a rotation axis for executing rotation of a viewpoint in a three-dimensional space based on a positional relationship between the first input point and the display area;
A function of determining execution of rotation on the rotation axis based on a positional relationship between the first input point and the second input point, and determining a rotation direction based on a drag direction of the second input point;
Graphic processing program for realizing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014204725A JP6373710B2 (en) | 2014-10-03 | 2014-10-03 | Graphic processing apparatus and graphic processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014204725A JP6373710B2 (en) | 2014-10-03 | 2014-10-03 | Graphic processing apparatus and graphic processing program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018012578A Division JP6526851B2 (en) | 2018-01-29 | 2018-01-29 | Graphic processing apparatus and graphic processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016076017A true JP2016076017A (en) | 2016-05-12 |
JP6373710B2 JP6373710B2 (en) | 2018-08-15 |
Family
ID=55951484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014204725A Active JP6373710B2 (en) | 2014-10-03 | 2014-10-03 | Graphic processing apparatus and graphic processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6373710B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020170851A1 (en) * | 2019-02-22 | 2020-08-27 | ソニー株式会社 | Information processing device, information processing method, and program |
JP2020533706A (en) * | 2017-09-12 | 2020-11-19 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | How to steer virtual objects, devices and storage media |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07230352A (en) * | 1993-09-16 | 1995-08-29 | Hitachi Ltd | Touch position detecting device and touch instruction processor |
JP2002311820A (en) * | 2001-04-13 | 2002-10-25 | Fujitsu Ten Ltd | Information processor |
JP2004259065A (en) * | 2003-02-26 | 2004-09-16 | Sony Corp | Display processor and display processing method for three-dimensional object, and computer program |
JP2007334436A (en) * | 2006-06-12 | 2007-12-27 | Nitto Denko Corp | Graphic processor, processing method, and processing program |
US20130127825A1 (en) * | 2011-07-28 | 2013-05-23 | Pushkar P. Joshi | Methods and Apparatus for Interactive Rotation of 3D Objects Using Multitouch Gestures |
JP2013117770A (en) * | 2011-12-01 | 2013-06-13 | Clarion Co Ltd | Image display device and navigation device |
US20140129990A1 (en) * | 2010-10-01 | 2014-05-08 | Smart Technologies Ulc | Interactive input system having a 3d input space |
JP2014139767A (en) * | 2012-12-20 | 2014-07-31 | Canon Marketing Japan Inc | Information processing device, control method therefor, and program |
JP2014178791A (en) * | 2013-03-14 | 2014-09-25 | Ricoh Co Ltd | Projector, projection system, image generation program, and image generation method |
-
2014
- 2014-10-03 JP JP2014204725A patent/JP6373710B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07230352A (en) * | 1993-09-16 | 1995-08-29 | Hitachi Ltd | Touch position detecting device and touch instruction processor |
JP2002311820A (en) * | 2001-04-13 | 2002-10-25 | Fujitsu Ten Ltd | Information processor |
JP2004259065A (en) * | 2003-02-26 | 2004-09-16 | Sony Corp | Display processor and display processing method for three-dimensional object, and computer program |
JP2007334436A (en) * | 2006-06-12 | 2007-12-27 | Nitto Denko Corp | Graphic processor, processing method, and processing program |
US20140129990A1 (en) * | 2010-10-01 | 2014-05-08 | Smart Technologies Ulc | Interactive input system having a 3d input space |
US20130127825A1 (en) * | 2011-07-28 | 2013-05-23 | Pushkar P. Joshi | Methods and Apparatus for Interactive Rotation of 3D Objects Using Multitouch Gestures |
JP2013117770A (en) * | 2011-12-01 | 2013-06-13 | Clarion Co Ltd | Image display device and navigation device |
JP2014139767A (en) * | 2012-12-20 | 2014-07-31 | Canon Marketing Japan Inc | Information processing device, control method therefor, and program |
JP2014178791A (en) * | 2013-03-14 | 2014-09-25 | Ricoh Co Ltd | Projector, projection system, image generation program, and image generation method |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020533706A (en) * | 2017-09-12 | 2020-11-19 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | How to steer virtual objects, devices and storage media |
JP7005091B2 (en) | 2017-09-12 | 2022-02-04 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | How to steer virtual objects, equipment and computer programs |
US11400368B2 (en) | 2017-09-12 | 2022-08-02 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for controlling virtual object, and storage medium |
WO2020170851A1 (en) * | 2019-02-22 | 2020-08-27 | ソニー株式会社 | Information processing device, information processing method, and program |
US11789543B2 (en) | 2019-02-22 | 2023-10-17 | Sony Group Corporation | Information processing apparatus and information processing method |
Also Published As
Publication number | Publication date |
---|---|
JP6373710B2 (en) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6048898B2 (en) | Information display device, information display method, and information display program | |
US9870144B2 (en) | Graph display apparatus, graph display method and storage medium | |
KR102205283B1 (en) | Electro device executing at least one application and method for controlling thereof | |
US9513795B2 (en) | System and method for graphic object management in a large-display area computing device | |
CN103488413A (en) | Touch equipment and control method and device for displaying 3D (3-dimensional) interface on touch equipment | |
JP5621407B2 (en) | Operation input device, program and method | |
US11204679B1 (en) | Snapping objects into alignment in three-dimensional space | |
WO2016042864A1 (en) | Multi-screen display position switching method, information processing device, and control method and control program therefor | |
JP2013196100A (en) | Drawing display device and drawing display program | |
JP5442128B2 (en) | Object layout editing method and apparatus | |
JP6373710B2 (en) | Graphic processing apparatus and graphic processing program | |
JP6526851B2 (en) | Graphic processing apparatus and graphic processing program | |
US10102310B2 (en) | Precise object manipulation system and method | |
JP6445777B2 (en) | Information processing apparatus for managing objects and control method therefor | |
US10838570B2 (en) | Multi-touch GUI featuring directional compression and expansion of graphical content | |
JP6021460B2 (en) | Drawing method, program, and apparatus | |
WO2012120978A1 (en) | Display method, display device and program | |
KR102392675B1 (en) | Interfacing method for 3d sketch and apparatus thereof | |
WO2019094130A1 (en) | Scrolling interface control for computer display | |
JP5950509B2 (en) | Display device and display method | |
EP3295291B1 (en) | Drawing object inferring system and method | |
JP2015200975A (en) | Information processor, computer program, and recording medium | |
US20160334971A1 (en) | Object Manipulation System and Method | |
JP2005332231A (en) | Pointing method, pointing device and program therefor | |
WO2017183194A1 (en) | Display control device |
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 |