KR101338958B1 - system and method for moving virtual object tridimentionally in multi touchable terminal - Google Patents
system and method for moving virtual object tridimentionally in multi touchable terminal Download PDFInfo
- Publication number
- KR101338958B1 KR101338958B1 KR1020120053101A KR20120053101A KR101338958B1 KR 101338958 B1 KR101338958 B1 KR 101338958B1 KR 1020120053101 A KR1020120053101 A KR 1020120053101A KR 20120053101 A KR20120053101 A KR 20120053101A KR 101338958 B1 KR101338958 B1 KR 101338958B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual object
- touch
- virtual
- point
- dimensional
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000009877 rendering Methods 0.000 claims abstract description 18
- 230000003190 augmentative effect Effects 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 5
- 239000003550 marker Substances 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/285—Analysis of motion using a sequence of stereo image pairs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04802—3D-info-object: information is displayed on the internal or external surface of a three dimensional manipulable object, e.g. on the faces of a cube that can be rotated by the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04808—Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
이 발명은 증강현실이 구현되는 멀티터치 단말기에서 멀티터치 조작으로 단말기의 스크린에 표시되는 가상물체의 3차원 움직임을 조작하는 시스템 및 방법에 관한 것이다.
이 발명에 따른 멀티터치 단말기에서 가상물체의 3차원 움직임 조작시스템은, 다수의 터치포인트 정보와 상기 터치포인트의 끌기 제스처 정보를 감지하는 터치감지부와, 가상물체를 화면에 디스플레이하는 스크린을 포함하는 멀티터치 단말기에서 가상물체의 3차원 움직임 조작시스템에 있어서, 가상카메라의 3차원 자세 정보와 가상물체의 3차원 자세 정보를 추정하는 자세추정부와; 상기 터치감지부를 통해 입력되는 적어도 하나의 터치포인트 정보로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하고, 상기 다수의 터치포인트의 끌기 제스처 정보를 감지하여 상기 가상물체를 상기 가상카메라 화면 평면과 수평한 2축 방향 및 상기 투영선 축 방향으로의 위치 이동량을 계산하며, 상기 가상물체의 3차원 자세 정보에 3축 방향으로의 위치 이동량을 반영하여 상기 가상물체의 변경 3차원 자세를 계산하는 움직임인식모듈과; 상기 움직임인식모듈에서 계산된 상기 가상물체의 변경 3차원 자세를 반영하여 상기 가상물체의 이미지를 렌더링하는 렌더링엔진을 포함한다.The present invention relates to a system and method for manipulating three-dimensional movement of a virtual object displayed on a screen of a terminal by a multi-touch operation in a multi-touch terminal in which augmented reality is implemented.
In the multi-touch terminal according to the present invention, a three-dimensional motion manipulation system of a virtual object includes a touch sensing unit for sensing a plurality of touch point information and drag gesture information of the touch point, and a screen displaying a virtual object on a screen. A three-dimensional motion manipulation system of a virtual object in a multi-touch terminal, comprising: a posture estimating unit for estimating three-dimensional pose information of a virtual camera and three-dimensional pose information of a virtual object; From the at least one touch point information input through the touch sensing unit generates a projection line passing through the virtual object perpendicular to the screen plane of the virtual camera, and detects the drag gesture information of the plurality of touch points to determine the virtual object. The position movement amount in the two-axis direction and the projection line axis direction parallel to the plane of the virtual camera screen is calculated, and the three-dimensional posture information of the virtual object is changed to reflect the position movement amount in the three axis direction. A motion recognition module for calculating a posture; And a rendering engine configured to render an image of the virtual object by reflecting the changed three-dimensional posture of the virtual object calculated by the motion recognition module.
Description
이 발명은 멀티터치 단말기에서의 증강현실 시스템 및 방법에 관한 것으로서, 보다 상세하게는 증강현실이 구현되는 멀티터치 단말기에서 멀티터치 조작으로 단말기의 스크린에 표시되는 가상물체의 3차원 움직임을 조작하는 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for augmented reality in a multi-touch terminal, and more particularly, to a system for manipulating three-dimensional movement of a virtual object displayed on a screen of a terminal by multi-touch in a multi-touch terminal in which augmented reality is implemented. And to a method.
가상현실(Virtual Reality)은 컴퓨터의 소프트웨어 프로그램을 이용하여 특정한 환경이나 상황을 만들어서, 그것을 사용하는 사용자가 마치 실제 주변 상황.환경과 상호 작용을 하고 있는 것처럼 만들어 주는 유저 인터페이스 기술의 하나이다. 증강현실(Augmented Reality)은 가상현실(Virtual Reality)의 한 분야로, 실제 환경 영상 이미지에 가상물체를 합성하여 그 가상물체가 실제 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기법이다.Virtual Reality is a type of user interface technology that creates a specific environment or situation using a computer software program and makes the user interact with the real environment or environment. Augmented Reality is a field of virtual reality. It is a computer graphics technique that synthesizes a virtual object into a real image image to make the virtual object look like an object in the real environment.
가상현실은 가상의 공간과 사물만을 대상으로 하는데 반해, 증강현실은 현실세계의 기반 위에 가상의 컨텐츠를 합성하여 현실세계만으로는 얻기 어려운 부가적인 정보들을 보강해 사용자에게 제공할 수 있다. 또한, 가상현실 기술은 단말기의 화면에 가상 환경과 가상물체를 표시하여 사용자로 하여금 가상의 환경에 몰입하게 하므로 사용자는 실제 환경을 볼 수 없는 반면, 증강현실 기술에서는 사용자가 실제 환경을 볼 수 있으며 실제 환경과 가상물체가 혼합된 형태로 화면에 표시된다.Virtual reality targets only virtual spaces and objects, whereas augmented reality can provide virtual users with additional information that is difficult to obtain only by real world by synthesizing virtual content on the basis of real world. In addition, the virtual reality technology displays the virtual environment and the virtual object on the screen of the terminal to allow the user to immerse in the virtual environment, so that the user cannot see the real environment, while in the augmented reality technology, the user can see the real environment. Real and virtual objects are displayed on the screen in a mixed form.
임의의 단말기에 가상현실 또는 증강현실이 구현되면, 단말기 화면에는 가상물체가 컴퓨터 그래픽으로 표시된다. 이렇게 가상현실 또는 증강현실에서, 가상 환경 또는 실제 환경과 가상물체를 합성하여 디스플레이하기 위해, 가상 공간 내에는 가상카메라가 존재한다. 가상카메라와 가상물체의 상대적 자세는 3차원 위치 정보와 3차원 각도 정보 총 6차원 정보로 정의된다. 즉, 가상카메라의 6차원 자세 또는 가상물체의 6차원 자세가 변경되면, 단말기의 스크린에 표시되는 이미지가 변경되게 된다.When a virtual reality or augmented reality is implemented in any terminal, the virtual screen is displayed on the terminal screen in computer graphics. In the virtual reality or augmented reality, a virtual camera exists in the virtual space in order to display the virtual environment or the real environment and the virtual object. The relative poses of the virtual camera and the virtual object are defined by a total of 6D information of 3D position information and 3D angle information. That is, when the six-dimensional pose of the virtual camera or the six-dimensional pose of the virtual object is changed, the image displayed on the screen of the terminal is changed.
즉, 가상배경과 가상물체의 자세(3차원 위치 및 3차원 각도)가 고정된 상태에서 가상카메라의 자세(3차원 위치 및 3차원 각도)가 변경되면, 가상카메라가 가상물체를 바라보는 뷰포인트(view point)가 변하여서 스크린에 표시되는 이미지가 변경된다. 한편, 가상카메라의 자세가 고정된 상태에서 가상물체의 자세가 변경되면, 가상배경은 고정되지만 가상물체와 가상카메라 사이의 거리, 가상물체와 가상카메라 사이의 상대적 위치, 가상물체의 회전 각도에 따라 스크린에 표시되는 이미지가 변경된다.That is, when the posture (three-dimensional position and three-dimensional angle) of the virtual camera is changed while the virtual background and the posture (three-dimensional position and three-dimensional angle) of the virtual object are fixed, the viewpoint at which the virtual camera looks at the virtual object. The view point changes to change the image displayed on the screen. On the other hand, if the posture of the virtual object is changed while the posture of the virtual camera is fixed, the virtual background is fixed but according to the distance between the virtual object and the virtual camera, the relative position between the virtual object and the virtual camera, and the rotation angle of the virtual object. The image displayed on the screen changes.
단말기 스크린에 표시된 가상물체를 3차원 방향으로 이동시키는 종래의 기술로서는, 사용자의 손가락에 마커를 장착하고 단말기에 장착된 카메라가 손가락 마커의 움직임을 추적하며, 그 추적된 손가락 마커의 움직임과 연동하여 가상물체의 3차원 움직임을 조작하는 기술이 있다. 그러나, 이러한 종래의 가상물체의 3차원 움직임 조작 기술은 사용자가 손가락에 별도의 색깔 마커를 장착하여야 하기 때문에 사용이 불편한 문제점이 있다.
In a conventional technique of moving a virtual object displayed on a terminal screen in a three-dimensional direction, a marker is mounted on a user's finger, and a camera mounted on the terminal tracks the movement of the finger marker, and in conjunction with the movement of the tracked finger marker. There is a technique for manipulating three-dimensional movement of a virtual object. However, the conventional three-dimensional motion manipulation technology of the virtual object has a problem in that it is inconvenient to use because the user must attach a separate color marker on the finger.
상술한 종래기술의 문제점을 해결하기 위하여 안출된 이 발명의 목적은, 별도의 추가 장비없이 사용자가 단말기의 터치스크린 또는 터치패드를 조작하는 것만으로도 스크린 화면에 표시된 가상물체의 3차원 움직임을 조작할 수 있도록 한 멀티터치 단말기에서 가상물체의 3차원 움직임 조작시스템 및 방법을 제공하기 위한 것이다.
An object of the present invention devised to solve the above-described problems of the prior art is to operate a three-dimensional movement of a virtual object displayed on a screen screen only by a user operating a touch screen or a touch pad of a terminal without any additional equipment. The present invention provides a three-dimensional motion manipulation system and method for a virtual object in a multi-touch terminal.
상술한 목적을 달성하기 위한 이 발명의 한 실시예에 따른 멀티터치 단말기에서 가상물체의 3차원 움직임 조작시스템은, 다수의 터치포인트 정보와 상기 터치포인트의 끌기 제스처 정보를 감지하는 터치감지부와, 가상물체를 화면에 디스플레이하는 스크린을 포함하는 멀티터치 단말기에서 가상물체의 3차원 움직임 조작시스템에 있어서, 가상카메라의 3차원 자세 정보와 가상물체의 3차원 자세 정보를 추정하는 자세추정부와; 상기 터치감지부를 통해 입력되는 적어도 하나의 터치포인트 정보로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하고, 상기 다수의 터치포인트의 끌기 제스처 정보를 감지하여 상기 가상물체를 상기 가상카메라 화면 평면과 수평한 2축 방향 및 상기 투영선 축 방향으로의 위치 이동량을 계산하며, 상기 가상물체의 3차원 자세 정보에 3축 방향으로의 위치 이동량을 반영하여 상기 가상물체의 변경 3차원 자세를 계산하는 움직임인식모듈과; 상기 움직임인식모듈에서 계산된 상기 가상물체의 변경 3차원 자세를 반영하여 상기 가상물체의 이미지를 렌더링하는 렌더링엔진을 포함하는 것을 특징으로 한다.In the multi-touch terminal according to an embodiment of the present invention for achieving the above object, the three-dimensional motion control system of the virtual object, a touch sensing unit for detecting a plurality of touch point information and the drag gesture information of the touch point; Claims [1] A three-dimensional motion manipulation system of a virtual object in a multi-touch terminal including a screen for displaying a virtual object, comprising: a posture estimator for estimating three-dimensional attitude information of a virtual camera and three-dimensional attitude information of the virtual object; From the at least one touch point information input through the touch sensing unit generates a projection line passing through the virtual object perpendicular to the screen plane of the virtual camera, and detects the drag gesture information of the plurality of touch points to determine the virtual object. The position movement amount in the two-axis direction and the projection line axis direction parallel to the plane of the virtual camera screen is calculated, and the three-dimensional posture information of the virtual object is changed to reflect the position movement amount in the three axis direction. A motion recognition module for calculating a posture; And a rendering engine for rendering an image of the virtual object by reflecting the changed three-dimensional posture of the virtual object calculated by the motion recognition module.
이 발명의 한 실시예에 따른 멀티터치 단말기에서 가상물체의 3차원 움직임 조작방법은, 다수의 터치포인트 정보와 상기 터치포인트의 끌기 제스처 정보를 감지하는 터치감지부와, 가상물체를 화면에 디스플레이하는 스크린을 포함하는 멀티터치 단말기에서 가상물체의 3차원 움직임 조작방법에 있어서, 자세추정부가 가상카메라의 3차원 자세 정보와 가상물체의 3차원 자세 정보를 추정하는 자세추정단계와; 움직임인식모듈이 상기 터치감지부를 통해 입력되는 적어도 하나의 터치포인트 정보로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하고, 상기 다수의 터치포인트의 끌기 제스처 정보를 감지하여 상기 가상물체를 상기 가상카메라 화면 평면과 수평한 2축 방향 및 상기 투영선 축 방향으로의 위치 이동량을 계산하며, 상기 가상물체의 3차원 자세 정보에 3축 방향으로의 위치 이동량을 반영하여 상기 가상물체의 변경 3차원 자세를 계산하는 움직임인식단계와; 렌더링엔진이 상기 가상물체의 변경 3차원 자세를 반영하여 상기 가상물체의 이미지를 렌더링하는 렌더링단계를 포함하는 것을 특징으로 한다.
In the multi-touch terminal according to an embodiment of the present invention, a three-dimensional motion manipulation method of a virtual object includes a touch sensing unit for sensing a plurality of touch point information and drag gesture information of the touch point, and displaying a virtual object on a screen. A method for manipulating three-dimensional motion of a virtual object in a multi-touch terminal including a screen, comprising: a posture estimating step of estimating three-dimensional attitude information of the virtual camera and three-dimensional attitude information of the virtual object; The motion recognition module generates a projection line passing through the virtual object while being perpendicular to the screen plane of the virtual camera from at least one touch point information input through the touch sensing unit, and detecting drag gesture information of the plurality of touch points. The virtual object is calculated in two axis directions parallel to the virtual camera screen plane and in the projection line axis direction, and the virtual object is reflected by reflecting the position movement amount in the three axis direction in the three-dimensional attitude information of the virtual object. A motion recognition step of calculating a changed three-dimensional posture of the; And a rendering engine renders an image of the virtual object by reflecting the changed three-dimensional posture of the virtual object.
이상과 같이 이 발명에 따르면 멀티터치를 인식하는 단말기에서 사용자는 별도의 추가 장비 없이도 단말기 스크린에 표시된 가상물체의 3차원 움직임을 조작할 수 있기 때문에 사용자의 편의성이 증대되는 효과가 있다.
As described above, according to the present invention, since the user can manipulate the three-dimensional movement of the virtual object displayed on the terminal screen without any additional equipment, the user's convenience is increased.
도 1은 이 발명에 따른 가상물체의 3차원 움직임 조작시스템이 적용된 멀티터치 단말기를 도시한 구성 블록도이다.
도 2는 가상물체를 선택하고 투영선을 생성하는 과정을 도시한 도면이다.
도 3은 선택 가상물체를 투영선 방향으로 움직임 조작하는 과정을 도시한 도면이다.
도 4는 상술한 바와 같이 구성된 멀티터치 단말기에서의 가상물체의 3차원 움직임 조작 방법을 도시한 동작 흐름도이다.1 is a block diagram illustrating a multi-touch terminal to which a three-dimensional motion manipulation system of a virtual object according to the present invention is applied.
2 is a diagram illustrating a process of selecting a virtual object and generating projection lines.
3 is a diagram illustrating a process of manipulating a selected virtual object in a projection line direction.
4 is a flowchart illustrating a three-dimensional motion manipulation method of a virtual object in the multi-touch terminal configured as described above.
이하, 첨부된 도면을 참조하며 이 발명의 한 실시예에 따른 멀티터치 단말기에서 가상물체의 3차원 움직임 조작시스템 및 방법을 상세하게 설명한다.Hereinafter, a 3D motion manipulation system and method of a virtual object in a multi-touch terminal according to an embodiment of the present invention will be described in detail.
여기서, 멀티터치라 함은 터치스크린 또는 터치패드가 동시에 여러 개의 터치포인트를 인식하는 기술로서, 이 발명의 명세서에서 멀티터치 단말기라 함은 멀티터치 기술이 구현된 단말기를 의미한다. 멀티터치 단말기로서, 아이폰, 맥북을 비롯한 스마트폰, 태블릿 PC, 및 노트북이 포함된다.Here, multi-touch refers to a technology in which a touch screen or a touch pad recognizes multiple touch points at the same time. In the specification of the present invention, multi-touch terminal refers to a terminal in which multi-touch technology is implemented. Multi-touch terminals include iPhones, MacBooks, including smartphones, tablet PCs, and notebooks.
도 1은 이 발명에 따른 가상물체의 3차원 움직임 조작시스템이 적용된 멀티터치 단말기를 도시한 구성 블록도이다.1 is a block diagram illustrating a multi-touch terminal to which a three-dimensional motion manipulation system of a virtual object according to the present invention is applied.
통상적으로 멀티터치 단말기는 터치감지부(101)와, 스크린(102)과, 자이로스코프센서(103)와, 카메라(104)를 포함한다. 터치감지부(101)와 스크린(102)은 일체화되어 구성(터치스크린)될 수도 있고, 별개로 구성(터치패드)될 수도 있다. 터치감지부(101)는 사용자의 멀티터치 제스처를 입력받아 인식한다. 즉, 터치감지부(101)는 사용자에 의한 누르기(press)와 끌기(drag) 제스처를 감지한다. 스크린(102)은 이 발명에 따른 가상물체를 화면에 디스플레이한다. 자이로스코프센서(103)는 멀티터치 단말기의 3차원 자세 정보를 획득하고, 카메라(104)는 영상 데이터를 획득한다. 멀티터치 단말기는 중력센서, 지자기센서, 가속도센서를 더 포함할 수도 있다.Typically, the multi-touch terminal includes a
이 발명은 가상현실 기술이나 증강현실 기술에 적용할 수 있는 바, 가상현실은 가상배경과 가상물체로 이루어진 컴퓨터 그래픽 기법이고, 증강현실은 실제배경과 가상물체로 이루어진 컴퓨터 그래픽 기법이다. 이 발명은 단말기에 장착된 센서들 또는 카메라의 촬영 영상을 이용하여 가상카메라의 자세 정보와 가상물체의 자세 정보를 추정하고, 사용자의 멀티터치 제스처를 감지하여 가상카메라와 가상물체간 투영선을 생성하고 그 생성한 투영선을 기준으로 가상물체의 위치를 3차원 방향으로 이동한다. 이 발명은 가상현실이나 증강현실에서, 가상물체의 3차원 회전을 조작하는데 적용할 수도 있다.The present invention can be applied to virtual reality technology or augmented reality technology, virtual reality is a computer graphics technique consisting of a virtual background and a virtual object, augmented reality is a computer graphics technique consisting of a real background and a virtual object. The present invention estimates the posture information of the virtual camera and the posture information of the virtual object using sensors mounted on the terminal or the photographed image of the camera, generates a projection line between the virtual camera and the virtual object by detecting a user's multi-touch gesture. The position of the virtual object is moved in the three-dimensional direction based on the generated projection line. The present invention can be applied to manipulating three-dimensional rotation of a virtual object in virtual reality or augmented reality.
이 발명에 따른 가상물체 3차원 움직임 조작부(110)는, 자이로스코프센서(103)와 카메라(104) 중 적어도 하나로부터 입력되는 데이터를 이용하여 가상카메라의 3차원 자세 정보와 가상물체의 3차원 자세 정보를 추정하는 자세추정부(111)와, 터치감지부(101)로부터 입력되는 사용자의 터치 정보를 기반으로 상기 가상물체의 3차원 움직임(위치 이동)을 계산하고 상기 가상물체의 3차원 자세 정보와 상기 가상물체의 3차원 움직임을 반영하여 상기 가상물체의 변경 3차원 자세를 계산하는 움직임인식모듈(112)과, 상기 움직임인식모듈(112)에서 계산된 상기 가상물체의 변경 3차원 자세 정보와 상기 가상카메라의 3차원 자세 정보를 반영하여 상기 가상물체의 이미지를 렌더링하는 렌더링엔진(113)과, 상기 렌더링엔진(113)에서 렌더링된 상기 가상물체의 이미지를 스크린(102)에 표시하는 영상합성부(114)를 포함한다.The virtual object three-dimensional
자세추정부(111)Posture Estimation (111)
자세추정부(111)의 제1실시예로서, 자세추정부(111)는 자이로스코프센서(103)로부터 입력되는 데이터를 이용하여 단말기의 자세를 계산하고, 단말기 자세를 기반으로 가상카메라의 자세 정보를 추정한다.As a first embodiment of the
자세추정부(111)의 제2실시예로서, 자세추정부(111)는 카메라(104)로부터 입력되는 촬영영상으로부터 특정 실제물체를 인식하고 인식된 실제물체와 카메라와의 상대적인 자세 정보를 기반으로 가상카메라의 자세 정보와 가상물체의 자세 정보를 추정한다.As a second embodiment of the
통상적으로 자이로스코프센서(103) 또는 카메라(104)의 입력데이터를 통해 계산된 단말기 또는 카메라의 자세가 가상카메라의 자세로 추정된다.Typically, the posture of the terminal or the camera calculated through the input data of the
자세추정부(111)의 제1실시예에 대해 상세하게 설명한다.A first embodiment of the
자세추정부(111)의 제1실시예는 가상현실 기술에 적용될 수 있는 바, 가상현실 환경에서는 가상배경과 가상물체에 대한 정보가 모두 기설정되어 가상현실 프로그램 상에 저장된다. 또는 가상현실 프로그램 상에서 가상카메라의 자세와 가상물체의 자세와의 관계가 미리 설정될 수도 있다. 자세추정부(111)는 자이로스코프센서(103)로부터 입력되는 데이터를 이용하여 단말기의 자세를 계산하고, 계산된 단말기의 자세를 기반으로 가상카메라의 자세 정보를 추정하며, 가상현실 환경에서 가상현실 프로그램 상에 설정된 데이터로부터 가상물체의 자세 정보를 추정한다.The first embodiment of the
통상적인 가상현실에서는 3차원 가상환경 내에 3차원 가상물체가 위치하는데, 가상현실 프로그램이 초기에 실행될 때의 단말기 자세값을 기준 자세로 설정하고 스크린에는 가상현실 초기 화면이 디스플레이된다. 그 후, 사용자가 단말기를 움직이면(3차원 위치 이동 또는 3차원 회전), 상기 단말기의 초기 자세값과 현재 자세값과의 차이값에 따라 스크린에 렌더링되어 디스플레이되는 3차원 가상배경 및 3차원 가상물체 이미지가 달라진다. 즉, 단말기의 자세가 변경되면, 그 단말기의 자세에 따라 해당 가상물체를 다른 각도 또는 다른 위치에서 보는 모습이 스크린에 표시되게 된다.In a typical virtual reality, a three-dimensional virtual object is located in a three-dimensional virtual environment. The terminal attitude value when the virtual reality program is initially executed is set as a reference attitude, and the initial screen of the virtual reality is displayed on the screen. After that, when the user moves the terminal (3D position movement or 3D rotation), the 3D virtual background and the 3D virtual object rendered and displayed on the screen according to the difference between the initial posture value and the current posture value of the terminal. The image is different. That is, when the posture of the terminal is changed, the appearance of viewing the virtual object at different angles or at different positions according to the posture of the terminal is displayed on the screen.
자세추정부(111)는 단말기의 자세정보를 기반으로 가상카메라의 자세 정보를 추정하고, 아울러 가상 환경에서의 가상물체의 자세 정보를 추정한다. 자세추정부(111)는 단말기의 자세 정보를 자이로스코프센서(103)의 출력값으로부터 획득한다. 자이로스코프센서(103)는 현재 단말기가 기준 자세로부터 이동된 6차원 자세 정보(3차원 위치 정보 및 3차원 각도 정보)를 출력한다. 여기서, 기준 자세는 단말기 자체적으로 정해지거나 사용자에 의해 설정될 수 있다(예컨대, 가상현실 프로그램이 처음 실행될 때의 단말기의 자세). 자세추정부(111)는 자이로스코프센서(103)의 출력값과 함께 가속도센서의 출력값과 중력센서의 출력값과 지자기센서의 출력값 중 적어도 하나의 출력값을 더 이용하여 단말기의 자세정보를 획득하고, 획득된 단말기의 자세 정보를 이용하여 가상카메라의 자세 정보를 추정할 수도 있다. 자이로스코프센서(103)를 비롯한 하드웨어 센서의 출력값을 이용하여 단말기 자세 정보와 가상카메라의 자세 정보를 획득하는 방법은 통상적인 기술로서 여기서는 상세한 설명은 생략한다.
The
자세추정부(111)의 제2실시예에 대해 상세하게 설명한다.A second embodiment of the
자세추정부(111)의 제2실시예는 증강현실 기술에 적용될 수 있다. 증강현실은 가상현실과는 달리 특정 실제물체를 인식하고 인식된 실제물체를 기반으로 실제 환경에서 가상물체를 증강한다. 예컨대, 특정 실제물체를 인식하고, 인식된 실제물체의 위치 및 각도로 가상물체를 증강할 수도 있고, 인식된 실제물체와 기설정된 거리만큼 떨어진 위치에서 가상물체를 증강할 수도 있다. 이 경우, 인식된 실제물체의 자세와 가상물체의 자세와의 관계는 증강현실 프로그램 상에서 미리 설정되는 것이 바람직하다.The second embodiment of the
이와 같이 증강현실에서 단말기는 특정 실제물체를 인식하고, 인식된 실제물체를 기반으로 실제 환경에 가상물체를 증강한다. 이를 위해, 인식대상인 실제물체에 대한 특징점정보 등을 미리 저장하고, 카메라의 촬영영상으로부터 특징점을 추출하여 추출된 특징점과 기저장된 특징점 정보를 매칭하여 인식대상 실제물체를 인식하고, 이를 기반으로 가상카메라의 자세 정보와 증강되는 가상물체의 자세 정보를 추정한다.As described above, the terminal recognizes a specific real object and augments the virtual object in the real environment based on the recognized real object. To this end, feature point information on a real object to be recognized is stored in advance, and a feature point is extracted from a photographed image of the camera, and the extracted feature point and pre-stored feature point information are matched to recognize a real object to be recognized. The posture information of the posture information and the posture information of the augmented virtual object is estimated.
예컨대, 실제물체가 인식되면, 인식된 실제물체의 위치를 3차원 가상공간의 원점(0,0,0)으로 설정하고, 그 원점에 대한 가상카메라의 위치 정보를 획득하여 가상카메라의 자세 정보를 추정한다. 또한, 증강현실 프로그램 상에서 기설정된 실제물체와 가상물체와의 상대적 위치 정보를 기반으로 가상물체의 자세 정보를 추정한다.
For example, when the real object is recognized, the position of the recognized real object is set to the origin (0,0,0) of the 3D virtual space, and the position information of the virtual camera is obtained by obtaining the position information of the virtual camera with respect to the origin. Estimate. In addition, the posture information of the virtual object is estimated based on the relative position information between the real object and the virtual object preset in the augmented reality program.
움직임인식모듈(112)
움직임인식모듈(112)은 터치감지부(101)로부터 감지되는 사용자의 멀티터치제스처를 기반으로 스크린(102)에 표시된 가상물체의 3차원 움직임(위치 이동)을 계산하고, 계산된 3차원 움직임이 반영된 가상물체의 변경 3차원 자세를 산출하여 렌더링엔진(113)에게 출력한다.The
움직임인식모듈(112)는 2개의 실시예로 이루어지는 바, 제1실시예는 순차적 방식으로 명명하고, 제2실시예는 동시적 방식으로 명명한다.The
순차적 방식은 사용자가 하나의 터치포인트(제1터치포인트)로 위치 이동할 가상물체를 선택한 후, 다른 터치포인트(제2터치포인트)를 추가하여 제1터치포인트와 제2터치포인트를 동시에 위치 이동하거나, 제1터치포인트와 제2터치포인트 사이의 거리를 조절함으로써, 가상환경 내에서 선택된 가상물체를 3차원 위치 이동을 하는 방식이다. 동시적 방식은 사용자가 두 개의 터치포인트(제1터치포인트 및 제2터치포인트)로 가상물체를 선택한 후(두 개의 터치포인트간 중심점으로 가상물체를 선택), 제1터치포인트와 제2터치포인트를 동시에 위치 이동하거나, 제1터치포인트와 제2터치포인트 사이의 거리를 조절함으로써, 가상환경 내에서 가상물체를 3차원 위치 이동하는 방식이다.
In the sequential method, a user selects a virtual object to be moved to one touch point (first touch point), and then adds another touch point (second touch point) to simultaneously move the first touch point and the second touch point. By adjusting the distance between the first touch point and the second touch point, the selected virtual object is moved three-dimensionally in the virtual environment. Simultaneously, the user selects the virtual object with two touch points (first touch point and second touch point) (selects the virtual object as the center point between the two touch points), and then the first touch point and the second touch point. By moving the position at the same time or by adjusting the distance between the first touch point and the second touch point, the virtual object in the virtual environment to move the three-dimensional position.
(i) 순차적방식(i) sequential
가상물체를 선택하고 투영선을 생성하는 과정을 도 2를 참조하며 설명한다.A process of selecting a virtual object and generating a projection line will be described with reference to FIG. 2.
사용자가 터치감지부의 임의의 지점을 누르면, 그 누름 지점을 제1터치포인트로 지정한다. 움직임인식모듈(112)은 제1터치포인트를 가상카메라 화면 평면(가상카메라 화면과 동일한 평면)(21) 상의 3차원 투영점(22)으로 변환하고, 3차원 투영점(22)으로부터 가상카메라 화면 평면의 정면 방향으로 노말벡터(23)를 생성한다. 이 노말벡터(23)가 처음으로 만나는 가상물체를 선택 가상물체(24)로 설정한다. 즉, 가상카메라로부터 가장 가까이 있는 가상물체를 선택 가상물체로 설정하고, 상기 노말벡터(23)를 투영선으로 정의한다.When the user presses any point of the touch sensing unit, the pressing point is designated as the first touch point. The
이와 같이 가상물체를 선택하고 투영선을 생성한 후, 제2터치포인트를 감지하여 선택 가상물체를 3차원으로 위치 이동한다. 가상물체를 3차원으로 위치 이동한다 함은, 상호 직각하는 3축 방향을 기준으로 임의의 위치로 이동하는 것이다. 여기서, 2개의 축은 가상카메라 화면 평면과 평행하면서 선택 가상물체를 지나는 축이며, 나머지 1개의 축은 가상카메라 화면 평면에 수직하면서 선택 가상물체를 지나는 축으로 가정한다.In this way, after selecting the virtual object and generating the projection line, the second touch point is sensed to move the selected virtual object in three dimensions. To move the virtual object in three dimensions means to move to an arbitrary position with respect to three axes perpendicular to each other. Here, it is assumed that two axes are axes passing through the selected virtual object while being parallel to the virtual camera screen plane, and the other axis is perpendicular to the virtual camera screen plane and passing through the selected virtual object.
가상카메라 화면 평면과 평행하면서 선택 가상물체를 지나는 2축 방향으로의 움직임 조작Manipulate movement in two axes parallel to the virtual camera screen plane and across the selected virtual object
제1터치포인트와 제2터치포인트가 동일한 거리 및 각도를 유지하면서 동시에 끌기(drag) 제스처가 수행하면, 움직임인식모듈(112)은 상기 제1,2터치포인트의 끌기(drag) 경로를 따라 상기 선택 가상물체를 상기 가상카메라 화면 평면과 평행한 2축 방향으로 위치 이동하고, 그 위치 이동을 반영한 상기 선택 가상물체의 변경 3차원 자세를 산출하여 렌더링엔진(113)에게 제공한다. 이와 같이 선택 가상물체가 2축 방향으로 위치 이동하면 투영점과 투영선도 위치 이동한다.When a drag gesture is performed while the first touch point and the second touch point maintain the same distance and angle at the same time, the
가상카메라 화면 평면에 수직하면서 선택 가상물체를 지나는 1축 방향(투영선 방향)으로의 움직임 조작Operation in one axis (projection line direction) passing through the selected virtual object while being perpendicular to the virtual camera screen plane
도 3은 선택 가상물체를 투영선 방향으로 움직임 조작하는 과정을 도시한 도면으로서, 도 3의 (a)는 순차적 방식으로 가상물체를 선택하고 투영선 방향으로 위치 이동하는 과정을 도시하고, 도 3의 (b)는 동시적 방식으로 가상물체를 선택하고 투영선 방향으로 위치 이동하는 과정을 도시한다. 3 is a diagram illustrating a process of moving a selected virtual object in a projection line direction, and FIG. 3A illustrates a process of selecting a virtual object and moving the position in the projection line direction in a sequential manner. b) shows the process of selecting a virtual object and moving it in the direction of the projection line in a simultaneous manner.
도 3의 (a)에 도시된 바와 같이 제1터치포인트와 제2터치포인트의 사이 거리가 변경되는 방향으로 끌기(drag) 제스처가 수행되면(제1터치포인트는 고정된 상태에서 제2터치포인트만 끌기(drag) 제스처 수행, 도면에는 도시되어 있지 않으나 도 3의 (b)와 같이 제1터치포인트와 제2터치포인트가 상호 반대되는 방향으로 끌기(drag) 제스처를 수행하여도 무방함), 움직임인식모듈(112)은 제1터치포인트와 제2터치포인트와의 거리 변경량을 계산하고, 그 거리 변경량을 반영하여 상기 선택 가상물체를 투영선 방향으로 위치 이동하며, 그 위치 이동을 반영한 상기 선택 가상물체의 변경 3차원 자세를 산출하여 렌더링엔진(113)에게 제공한다. 선택 가상물체가 가상카메라와 가까워지면 스크린에 표시되는 선택 가상물체의 크기가 커지고(가상배경 또는 실제배경은 동일), 선택 가상물체가 가상카메라로부터 멀어지면 스크린에 표시되는 선택 가상물체의 크기가 작아진다(배경은 동일).
As shown in FIG. 3A, when a drag gesture is performed in a direction in which the distance between the first touch point and the second touch point is changed (the first touch point is fixed, the second touch point is fixed). A drag gesture only, although not shown in the drawing, a drag gesture may be performed in a direction in which the first touch point and the second touch point are opposite to each other as shown in FIG. The
(ii) 동시적방식(ii) simultaneous
사용자가 도 3의 (b)에 도시된 바와 같이 터치감지부의 임의의 두 지점을 누르면, 그 누름 지점들을 각각 제1터치포인트와 제2터치포인트로 지정한다. 움직임인식모듈(112)은 제1터치포인트와 제2터치포인트의 중심점을 도 2에 도시된 바와 같이 가상카메라 화면 평면 상의 3차원 투영점(22)으로 변환하고, 3차원 투영점(22)으로부터 가상카메라 화면 평면의 정면 방향으로 노말벡터(23)를 생성한다. 이 노말벡터(23)가 처음으로 만나는 가상물체를 선택 가상물체(24)로 설정한다. 즉, 가상카메라로부터 가장 가까이 있는 가상물체를 선택 가상물체로 설정하고, 상기 노말벡터(23)를 투영선으로 정의한다.When the user presses any two points as shown in (b) of FIG. 3, the pressing points are designated as the first touch point and the second touch point, respectively. The
이와 같이 가상물체를 선택하고 투영선을 생성한 후 선택 가상물체를 3차원으로 위치 이동한다. 가상물체를 3차원으로 위치 이동한다 함은, 상호 직각하는 3축 방향을 기준으로 임의의 위치로 이동하는 것이다. 여기서, 2개의 축은 가상카메라 화면 평면과 평행하면서 선택 가상물체를 지나는 축이며, 나머지 1개의 축은 가상카메라 화면 평면에 수직하면서 선택 가상물체를 지나는 축(투영선)으로 가정한다.In this way, after selecting a virtual object and generating projection lines, the selected virtual object is moved in three dimensions. To move the virtual object in three dimensions means to move to an arbitrary position with respect to three axes perpendicular to each other. Here, it is assumed that two axes are axes passing through the selected virtual object while being parallel to the virtual camera screen plane, and the other one axis is an axis (projection line) perpendicular to the virtual camera screen plane and passing through the selected virtual object.
가상카메라 화면 평면과 평행하면서 선택 가상물체를 지나는 2축 방향으로의 움직임 조작Manipulate movement in two axes parallel to the virtual camera screen plane and across the selected virtual object
제1터치포인트와 제2터치포인트가 동일한 거리 및 각도를 유지하면서 동시에 끌기(drag) 제스처가 수행하면, 움직임인식모듈(112)은 상기 제1,2터치포인트의 끌기(drag) 경로를 따라 상기 선택 가상물체를 상기 가상카메라 화면 평면과 평행한 2축 방향으로 위치 이동하고, 그 위치 이동을 반영한 상기 선택 가상물체의 변경 3차원 자세를 산출하여 렌더링엔진(113)에게 제공한다. 선택 가상물체가 2축 방향으로 위치 이동하면 투영점과 투영선도 위치 이동한다. 이와 같이 선택 가상물체를 가상카메라 화면 평면과 평행한 2축방향으로 위치 이동하는 방법은, 순차적방식과 동시적방식에서 모두 동일하다.When a drag gesture is performed while the first touch point and the second touch point maintain the same distance and angle at the same time, the
가상카메라 화면 평면에 수직하면서 선택 가상물체를 지나는 1축 방향(투영선 방향)으로의 움직임 조작Operation in one axis (projection line direction) passing through the selected virtual object while being perpendicular to the virtual camera screen plane
도 3의 (b)에 도시된 바와 같이 제1터치포인트와 제2터치포인트의 사이 거리가 변경되는 방향으로 끌기(drag) 제스처가 수행되면(제1터치포인트와 제2터치포인트가 상호 반대되는 방향으로 끌기(drag) 제스처 수행, 도면에는 도시되어 있지 않으나 도 3의 (a)와 같이 제1터치포인트는 고정된 상태에서 제2터치포인트만 끌기(drag) 제스처를 수행하여도 무방함), 움직임인식모듈(112)은 제1터치포인트와 제2터치포인트와의 거리 변경량을 계산하고, 그 거리 변경량을 반영하여 상기 선택 가상물체를 투영선 방향으로 위치 이동하며, 그 위치 이동을 반영한 상기 선택 가상물체의 변경 3차원 자세를 산출하여 렌더링엔진(113)에게 제공한다. 선택 가상물체가 가상카메라와 가까워지면 스크린에 표시되는 선택 가상물체의 크기가 커지고(가상배경 또는 실제배경은 동일), 선택 가상물체가 가상카메라로부터 멀어지면 스크린에 표시되는 선택 가상물체의 크기가 작아진다(배경은 동일).As shown in (b) of FIG. 3, when a drag gesture is performed in a direction in which a distance between the first touch point and the second touch point is changed (the first touch point and the second touch point are opposite to each other) A drag gesture in a direction, although not shown in the drawing, as shown in FIG. 3A, the first touch point may be a drag gesture only while the second touch point is fixed), The
순차적방식이든지 혹은 동시적방식이든지, 선택 가상물체를 투영선 방향으로 위치 이동하면, 도 3의 (c)에 도시된 바와 같이 가상물체는 투영선을 따라 가상카메라에 근접하거나, 도면에 도시되어 있지 않으나 가상물체는 투영선을 따라 가상카메라로부터 멀어진다.
When the selected virtual object is moved in the direction of the projection line, whether in the sequential or simultaneous manner, as shown in FIG. 3 (c), the virtual object is close to the virtual camera along the projection line or is not shown in the drawing. The object moves away from the virtual camera along the projection line.
도 4는 상술한 바와 같이 구성된 멀티터치 단말기에서의 가상물체의 3차원 움직임 조작 방법을 도시한 동작 흐름도이다.4 is a flowchart illustrating a three-dimensional motion manipulation method of a virtual object in the multi-touch terminal configured as described above.
자세추정부가 가상카메라의 3차원 자세와 가상물체의 3차원 자세를 추정한다(S41). 자세추정부는 자이로스코프센서의 출력값을 이용하여 가상카메라와 가상물체의 3차원 자세를 추정하거나, 카메라의 촬영영상을 이용하여 가상카메라와 가상물체의 3차원 자세를 추정하거나, 자이로스코프센서의 출력값 및 카메라의 촬영영상을 이용하여 가상카메라와 가상물체의 3차원 자세를 추정할 수도 있다.The posture estimator estimates the three-dimensional pose of the virtual camera and the three-dimensional pose of the virtual object (S41). The posture estimator estimates the three-dimensional pose of the virtual camera and the virtual object by using the output value of the gyroscope sensor, estimates the three-dimensional pose of the virtual camera and the virtual object by using the captured image of the camera, or outputs the output value of the gyroscope sensor and The 3D pose of the virtual camera and the virtual object may be estimated using the captured image of the camera.
다음, 움직임인식모듈은 사용자의 터치포인트를 인식하여 가상물체를 선택하고(S42), 가상카메라의 화면 평면에 수직하면서 가상물체를 통과하는 투영선을 생성한다(S43). 움직임인식모듈이 가상물체를 인식하고 투영선을 생성하는 방식은 순차적방식과 동시적방식으로 구분되며, 각 방식에 대한 상세한 기술은 앞서 설명한 바와 같다.Next, the motion recognition module selects a virtual object by recognizing a user's touch point (S42), and generates a projection line passing through the virtual object while being perpendicular to the screen plane of the virtual camera (S43). The motion recognition module recognizes the virtual object and generates projection lines are divided into sequential and simultaneous methods, and the detailed description of each method is as described above.
다음, 움직임인식모듈은 사용자의 터치 제스처를 인식하여(S44), 선택 가상물체에 대해 3차원 위치 이동량을 계산한다(S45). 제1터치포인트와 제2터치포인트가 동일한 거리 및 각도를 유지하면서 동시에 끌기(drag) 제스처가 수행되면, 움직임인식모듈은 상기 제1,2터치포인트의 끌기(drag) 경로를 따라 상기 선택 가상물체를 상기 가상카메라 화면 평면과 평행한 2축 방향으로 위치 이동한다. 한편, 제1터치포인트와 제2터치포인트의 사이 거리가 변경되는 방향으로 끌기(drag) 제스처가 수행되면, 움직임인식모듈은 제1터치포인트와 제2터치포인트와의 거리 변경량을 계산하고, 그 거리 변경량을 반영하여 상기 선택 가상물체를 투영선 방향으로 위치 이동한다.Next, the motion recognition module recognizes a user's touch gesture (S44) and calculates a three-dimensional position movement amount with respect to the selected virtual object (S45). When the drag gesture is performed at the same time while the first touch point and the second touch point maintain the same distance and angle, the motion recognition module moves the selected virtual object along the drag path of the first and second touch points. Move in a two-axis direction parallel to the virtual camera screen plane. Meanwhile, when a drag gesture is performed in a direction in which the distance between the first touch point and the second touch point is changed, the motion recognition module calculates a distance change amount between the first touch point and the second touch point, The selected virtual object is moved in the direction of the projection line in consideration of the distance change amount.
다음, 움직임인식모듈은 단계 S41에서 추정된 선택 가상물체의 3차원 자세 정보에 단계 S45에서 계산된 3차원 위치 이동량을 반영하여 변경 3차원 자세를 계산하고(S46), 선택 가상물체에 대해 변경 3차원 자세를 렌더링하여 스크린에 디스플레이되도록 한다(S47).Next, the motion recognition module calculates the changed three-dimensional pose by reflecting the three-dimensional position movement amount calculated in the step S45 to the three-dimensional pose information of the selected virtual object estimated in step S41 (S46), and changes the modified three-dimensional pose for the selected virtual object. The dimensional pose is rendered to be displayed on the screen (S47).
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만, 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
The technical spirit of the present invention has been described above with reference to the accompanying drawings, but this is by way of example only for describing the best embodiment of the present invention and not for limiting the present invention. In addition, it is a matter of course that various modifications and variations are possible without departing from the scope of the technical idea of the present invention by anyone having ordinary skill in the art.
101 : 터치감지부 102 : 스크린
103 : 자이로스코프센서 104 : 카메라
110 : 가상물체 3차원 움직임 조작부 111 : 자세추정부
112 : 움직임인식모듈 113 : 렌더링엔진
114 : 영상합성부101: touch detection unit 102: screen
103: gyroscope sensor 104: camera
110: virtual object three-dimensional motion control unit 111: posture estimation
112: motion recognition module 113: rendering engine
114: image synthesis unit
Claims (16)
가상카메라의 3차원 자세 정보와 가상물체의 3차원 자세 정보를 추정하는 자세추정부와;
상기 터치감지부를 통해 입력되는 적어도 하나의 터치포인트 정보로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하고, 상기 다수의 터치포인트의 끌기 제스처 정보를 감지하여 상기 가상물체를 상기 가상카메라 화면 평면과 수평한 2축 방향 및 상기 투영선 축 방향으로의 위치 이동량을 계산하며, 상기 가상물체의 3차원 자세 정보에 3축 방향으로의 위치 이동량을 반영하여 상기 가상물체의 변경 3차원 자세를 계산하는 움직임인식모듈과;
상기 움직임인식모듈에서 계산된 상기 가상물체의 변경 3차원 자세를 반영하여 상기 가상물체의 이미지를 렌더링하는 렌더링엔진을 포함하고,
상기 움직임인식모듈은, 상기 터치감지부의 제1지점에 누름 제스처가 발생하면 상기 제1지점에 대응하여 상기 가상카메라의 제1터치포인트를 지정하고, 상기 제1터치포인트로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하며, 상기 터치감지부의 제2지점에 누름제스처가 발생하면 상기 제2지점에 대응하여 상기 가상카메라의 제2터치포인트를 지정하는 것을 특징으로 하는 멀티터치 단말기에서 가상물체의 3차원 움직임 조작시스템.In the three-dimensional motion manipulation system of a virtual object in a multi-touch terminal comprising a plurality of touch point information and a touch sensing unit for detecting the drag gesture information of the touch point, and a screen for displaying the virtual object on the screen,
A posture estimation unit for estimating three-dimensional pose information of the virtual camera and three-dimensional pose information of the virtual object;
From the at least one touch point information input through the touch sensing unit generates a projection line passing through the virtual object perpendicular to the screen plane of the virtual camera, and detects the drag gesture information of the plurality of touch points to determine the virtual object. The position movement amount in the two-axis direction and the projection line axis direction parallel to the plane of the virtual camera screen is calculated, and the three-dimensional posture information of the virtual object is changed to reflect the position movement amount in the three axis direction. A motion recognition module for calculating a posture;
And a rendering engine for rendering an image of the virtual object by reflecting the changed three-dimensional posture of the virtual object calculated by the motion recognition module.
The motion recognition module may designate a first touch point of the virtual camera corresponding to the first point when a push gesture is generated at the first point of the touch sensing unit, and the screen plane of the virtual camera may be determined from the first touch point. Generating a projection line passing through the virtual object while being perpendicular to, and designating a second touch point of the virtual camera corresponding to the second point when a push gesture occurs at a second point of the touch sensing unit; 3D motion control system of virtual object in touch terminal.
가상카메라의 3차원 자세 정보와 가상물체의 3차원 자세 정보를 추정하는 자세추정부와;
상기 터치감지부를 통해 입력되는 적어도 하나의 터치포인트 정보로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하고, 상기 다수의 터치포인트의 끌기 제스처 정보를 감지하여 상기 가상물체를 상기 가상카메라 화면 평면과 수평한 2축 방향 및 상기 투영선 축 방향으로의 위치 이동량을 계산하며, 상기 가상물체의 3차원 자세 정보에 3축 방향으로의 위치 이동량을 반영하여 상기 가상물체의 변경 3차원 자세를 계산하는 움직임인식모듈과;
상기 움직임인식모듈에서 계산된 상기 가상물체의 변경 3차원 자세를 반영하여 상기 가상물체의 이미지를 렌더링하는 렌더링엔진을 포함하고,
상기 움직임인식모듈은, 상기 터치감지부의 제1지점과 제2지점에 누름 제스처가 발생하면 상기 제1지점에 대응하여 상기 가상카메라의 제1터치포인트를 지정하고 상기 제2지점에 대응하여 상기 가상카메라의 제2터치포인트를 지정하며, 상기 제1터치포인트와 제2터치포인트의 중심점으로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하는 것을 특징으로 하는 멀티터치 단말기에서 가상물체의 3차원 움직임 조작시스템.In the three-dimensional motion manipulation system of a virtual object in a multi-touch terminal comprising a plurality of touch point information and a touch sensing unit for detecting the drag gesture information of the touch point, and a screen for displaying the virtual object on the screen,
A posture estimation unit for estimating three-dimensional pose information of the virtual camera and three-dimensional pose information of the virtual object;
From the at least one touch point information input through the touch sensing unit generates a projection line passing through the virtual object perpendicular to the screen plane of the virtual camera, and detects the drag gesture information of the plurality of touch points to determine the virtual object. The position movement amount in the two-axis direction and the projection line axis direction parallel to the plane of the virtual camera screen is calculated, and the three-dimensional posture information of the virtual object is changed to reflect the position movement amount in the three axis direction. A motion recognition module for calculating a posture;
And a rendering engine for rendering an image of the virtual object by reflecting the changed three-dimensional posture of the virtual object calculated by the motion recognition module.
The motion recognition module may designate a first touch point of the virtual camera corresponding to the first point when the push gesture occurs at the first point and the second point of the touch sensing unit, and correspond to the virtual point in response to the second point. A second touch point of the camera is designated, and the projection line passing through the virtual object perpendicular to the screen plane of the virtual camera from the center point of the first touch point and the second touch point is generated. 3D motion control system of virtual object.
자세추정부가 가상카메라의 3차원 자세 정보와 가상물체의 3차원 자세 정보를 추정하는 자세추정단계와;
움직임인식모듈이 상기 터치감지부를 통해 입력되는 적어도 하나의 터치포인트 정보로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하고, 상기 다수의 터치포인트의 끌기 제스처 정보를 감지하여 상기 가상물체를 상기 가상카메라 화면 평면과 수평한 2축 방향 및 상기 투영선 축 방향으로의 위치 이동량을 계산하며, 상기 가상물체의 3차원 자세 정보에 3축 방향으로의 위치 이동량을 반영하여 상기 가상물체의 변경 3차원 자세를 계산하는 움직임인식단계와;
렌더링엔진이 상기 가상물체의 변경 3차원 자세를 반영하여 상기 가상물체의 이미지를 렌더링하는 렌더링단계를 포함하고,
상기 움직임인식단계는, 상기 터치감지부의 제1지점에 누름 제스처가 발생하면 상기 제1지점에 대응하여 상기 가상카메라의 제1터치포인트를 지정하고, 상기 제1터치포인트로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하며, 상기 터치감지부의 제2지점에 누름제스처가 발생하면 상기 제2지점에 대응하여 상기 가상카메라의 제2터치포인트를 지정하는 것을 특징으로 하는 멀티터치 단말기에서 가상물체의 3차원 움직임 조작방법.In the multi-touch terminal three-dimensional movement operation method comprising a touch sensing unit for detecting a plurality of touch point information and the drag gesture information of the touch point, and a screen for displaying the virtual object on the screen,
A posture estimation step of the posture estimating step estimating the three-dimensional pose information of the virtual camera and the three-dimensional pose information of the virtual object;
The motion recognition module generates a projection line passing through the virtual object while being perpendicular to the screen plane of the virtual camera from at least one touch point information input through the touch sensing unit, and detecting drag gesture information of the plurality of touch points. The virtual object is calculated in two axis directions parallel to the virtual camera screen plane and in the projection line axis direction, and the virtual object is reflected by reflecting the position movement amount in the three axis direction in the three-dimensional attitude information of the virtual object. A motion recognition step of calculating a changed three-dimensional posture of the;
A rendering engine renders an image of the virtual object by reflecting the changed three-dimensional posture of the virtual object,
In the motion recognition step, when a push gesture occurs at a first point of the touch sensing unit, a first touch point of the virtual camera is designated corresponding to the first point, and the screen plane of the virtual camera is determined from the first touch point. Generating a projection line passing through the virtual object while being perpendicular to, and designating a second touch point of the virtual camera corresponding to the second point when a push gesture occurs at a second point of the touch sensing unit; 3D motion manipulation method of a virtual object in a touch terminal.
자세추정부가 가상카메라의 3차원 자세 정보와 가상물체의 3차원 자세 정보를 추정하는 자세추정단계와;
움직임인식모듈이 상기 터치감지부를 통해 입력되는 적어도 하나의 터치포인트 정보로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하고, 상기 다수의 터치포인트의 끌기 제스처 정보를 감지하여 상기 가상물체를 상기 가상카메라 화면 평면과 수평한 2축 방향 및 상기 투영선 축 방향으로의 위치 이동량을 계산하며, 상기 가상물체의 3차원 자세 정보에 3축 방향으로의 위치 이동량을 반영하여 상기 가상물체의 변경 3차원 자세를 계산하는 움직임인식단계와;
렌더링엔진이 상기 가상물체의 변경 3차원 자세를 반영하여 상기 가상물체의 이미지를 렌더링하는 렌더링단계를 포함하고,
상기 움직임인식단계는, 상기 터치감지부의 제1지점과 제2지점에 누름 제스처가 발생하면 상기 제1지점에 대응하여 상기 가상카메라의 제1터치포인트를 지정하고 상기 제2지점에 대응하여 상기 가상카메라의 제2터치포인트를 지정하며, 상기 제1터치포인트와 제2터치포인트의 중심점으로부터 상기 가상카메라의 화면 평면에 수직하면서 상기 가상물체를 통과하는 투영선을 생성하는 것을 특징으로 하는 멀티터치 단말기에서 가상물체의 3차원 움직임 조작방법.In the multi-touch terminal three-dimensional movement operation method comprising a touch sensing unit for detecting a plurality of touch point information and the drag gesture information of the touch point, and a screen for displaying the virtual object on the screen,
A posture estimation step of the posture estimating step estimating the three-dimensional pose information of the virtual camera and the three-dimensional pose information of the virtual object;
The motion recognition module generates a projection line passing through the virtual object while being perpendicular to the screen plane of the virtual camera from at least one touch point information input through the touch sensing unit, and detecting drag gesture information of the plurality of touch points. The virtual object is calculated in two axis directions parallel to the virtual camera screen plane and in the projection line axis direction, and the virtual object is reflected by reflecting the position movement amount in the three axis direction in the three-dimensional attitude information of the virtual object. A motion recognition step of calculating a changed three-dimensional posture of the;
A rendering engine renders an image of the virtual object by reflecting the changed three-dimensional posture of the virtual object,
In the motion recognition step, when a push gesture occurs at a first point and a second point of the touch sensing unit, a first touch point of the virtual camera is designated corresponding to the first point and the virtual point corresponding to the second point. A second touch point of the camera is designated, and the projection line passing through the virtual object perpendicular to the screen plane of the virtual camera from the center point of the first touch point and the second touch point is generated. 3D motion manipulation method of virtual object.
The method of claim 9 or 10, wherein in the movement recognition step, when the first and second touch points are dragged in opposite directions, the distance between the first touch point and the second touch point is changed. And calculating a positional movement amount of the virtual object in the projection line axial direction according to the method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120053101A KR101338958B1 (en) | 2012-05-18 | 2012-05-18 | system and method for moving virtual object tridimentionally in multi touchable terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120053101A KR101338958B1 (en) | 2012-05-18 | 2012-05-18 | system and method for moving virtual object tridimentionally in multi touchable terminal |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130128910A KR20130128910A (en) | 2013-11-27 |
KR101338958B1 true KR101338958B1 (en) | 2013-12-09 |
Family
ID=49855900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120053101A Expired - Fee Related KR101338958B1 (en) | 2012-05-18 | 2012-05-18 | system and method for moving virtual object tridimentionally in multi touchable terminal |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101338958B1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101888171B1 (en) * | 2017-11-16 | 2018-08-13 | 엘아이지넥스원 주식회사 | Method and device for recognizing environment based on position information of unmanned surface vessel |
KR102023633B1 (en) * | 2019-06-13 | 2019-09-20 | 주식회사 일루니 | Method and apparatus for generating 3d moving model |
CN112991552B (en) * | 2021-03-10 | 2024-03-22 | 中国商用飞机有限责任公司北京民用飞机技术研究中心 | Human body virtual-real matching method, device, equipment and storage medium |
CN112843706B (en) * | 2021-03-16 | 2024-05-28 | 网易(杭州)网络有限公司 | Virtual object processing method and device in VR game and electronic device |
WO2024076204A1 (en) * | 2022-10-07 | 2024-04-11 | 이철우 | Device and method for generating user gesture-based responsive video |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090011317A (en) * | 2007-07-25 | 2009-02-02 | 중앙대학교 산학협력단 | Stereoscopic Display Device and Operation Method |
KR20090027009A (en) * | 2007-09-11 | 2009-03-16 | 중앙대학교 산학협력단 | Stereoscopic display device and its operation method |
KR20100002803A (en) * | 2008-06-30 | 2010-01-07 | 삼성전자주식회사 | Apparatus and method for capturing a motion of human |
KR20100041006A (en) * | 2008-10-13 | 2010-04-22 | 엘지전자 주식회사 | A user interface controlling method using three dimension multi-touch |
-
2012
- 2012-05-18 KR KR1020120053101A patent/KR101338958B1/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090011317A (en) * | 2007-07-25 | 2009-02-02 | 중앙대학교 산학협력단 | Stereoscopic Display Device and Operation Method |
KR20090027009A (en) * | 2007-09-11 | 2009-03-16 | 중앙대학교 산학협력단 | Stereoscopic display device and its operation method |
KR20100002803A (en) * | 2008-06-30 | 2010-01-07 | 삼성전자주식회사 | Apparatus and method for capturing a motion of human |
KR20100041006A (en) * | 2008-10-13 | 2010-04-22 | 엘지전자 주식회사 | A user interface controlling method using three dimension multi-touch |
Also Published As
Publication number | Publication date |
---|---|
KR20130128910A (en) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8933882B2 (en) | User centric interface for interaction with visual display that recognizes user intentions | |
US10082879B2 (en) | Head mounted display device and control method | |
JP6057396B2 (en) | 3D user interface device and 3D operation processing method | |
JP5936155B2 (en) | 3D user interface device and 3D operation method | |
US9430698B2 (en) | Information input apparatus, information input method, and computer program | |
JP5871345B2 (en) | 3D user interface device and 3D operation method | |
EP3050030B1 (en) | Method for representing points of interest in a view of a real environment on a mobile device and mobile device therefor | |
KR101890459B1 (en) | Method and system for responding to user's selection gesture of object displayed in three dimensions | |
CN108469899B (en) | Method of identifying an aiming point or area in a viewing space of a wearable display device | |
US20170140552A1 (en) | Apparatus and method for estimating hand position utilizing head mounted color depth camera, and bare hand interaction system using same | |
US8648808B2 (en) | Three-dimensional human-computer interaction system that supports mouse operations through the motion of a finger and an operation method thereof | |
TW201346640A (en) | Image processing device, and computer program product | |
US10359906B2 (en) | Haptic interface for population of a three-dimensional virtual environment | |
KR101338958B1 (en) | system and method for moving virtual object tridimentionally in multi touchable terminal | |
JP2015118442A (en) | Information processor, information processing method, and program | |
WO2015153673A1 (en) | Providing onscreen visualizations of gesture movements | |
KR20210045898A (en) | Methods and apparatus for controlling hand posture-based virtual menus in mixed reality | |
JP5863984B2 (en) | User interface device and user interface method | |
Kemmoku et al. | AR tabletop interface using a head-mounted projector | |
KR101473234B1 (en) | Method and system for displaying an image based on body tracking | |
TW201229856A (en) | Multi-touch input apparatus and its interface method using data fusion of a single touch sensor pad and imaging sensor | |
HK1210858B (en) | Three-dimensional user-interface device, and three-dimensional operation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20120518 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20130731 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20131128 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20131203 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20131203 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20161129 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20161129 Start annual number: 4 End annual number: 4 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20180914 |