KR20140070869A - 터치스크린상에서의 가상 카메라의 회전 방법 - Google Patents

터치스크린상에서의 가상 카메라의 회전 방법 Download PDF

Info

Publication number
KR20140070869A
KR20140070869A KR1020120136326A KR20120136326A KR20140070869A KR 20140070869 A KR20140070869 A KR 20140070869A KR 1020120136326 A KR1020120136326 A KR 1020120136326A KR 20120136326 A KR20120136326 A KR 20120136326A KR 20140070869 A KR20140070869 A KR 20140070869A
Authority
KR
South Korea
Prior art keywords
rotation
axes
touch screen
camera frame
camera
Prior art date
Application number
KR1020120136326A
Other languages
English (en)
Other versions
KR101420727B1 (ko
Inventor
임인성
나세흠
서웅
김영욱
Original Assignee
서강대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서강대학교산학협력단 filed Critical 서강대학교산학협력단
Priority to KR1020120136326A priority Critical patent/KR101420727B1/ko
Publication of KR20140070869A publication Critical patent/KR20140070869A/ko
Application granted granted Critical
Publication of KR101420727B1 publication Critical patent/KR101420727B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3664Details of the user input interface, e.g. buttons, knobs or sliders, including those provided on a touch screen; remote controllers; input using gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range

Abstract

본 발명에 따른 회전변환방법은, (a) 초기 카메라 프레임의 세축을 고정된 회전축으로 설정하는 단계; (b) 터치스크린에 사용자의 터치가 연속되면서 회전 조작이 입력되는 경우, 초기 설정된 카메라 프레임의 고정된 회전축을 기준축으로 하여 오일러 각을 이용하여 회전 변환을 수행하는 단계; (c) 터치스크린으로의 터치가 종료되면, 상기 고정된 회전축을 상기 터치가 종료된 순간의 카메라 프레임의 세 축으로 갱신하는 단계; (d) 상기 갱신된 카메라 프레임의 회전축을 기준축으로 하여, 상기 (b) 단계를 반복 수행하는 단계; 를 구비한다.

Description

터치스크린상에서의 가상 카메라의 회전 방법{Method for rotating virtual camera on touchscreen-based device}
본 발명은 효과적인 3차원 그래픽스 프로그래밍 방법에 관한 것으로서, 더욱 구체적으로는 터치 스크린을 이용한 가상의 3차원 공간 내비게이션의 핵심 요소인 가상 카메라의 회전 변환 방법에 관한 것이다.
과거 고가의 CPU 및 GPU의 제작에 적용되어 왔던 multi-core 또는 many-core 프로세서 제작 기술이 모바일 응용 프로세서(mobile application processor) 제작에 적용됨에 따라 핸드폰과 태블릿 PC 등의 모바일 장비(mobile device)에서 작동하는 응용 프로그램의 범위와 수준이 빠르게 변하고 있다. 특히 상당한 양의 부동 소수점 연산과 메모리 대역폭을 필요로 하는 3D 그래픽스 컴퓨팅을 효과적으로 가속해주는 프로세서들이 속속 탑재되어, 수년전 만해도 상상하기 힘든 정도의 고급 3D 그래픽스 기능이 이제는 수월하게 구현이 가능하게 됨에 따라, 다양한 산업분야에서 핸드폰과 태블릿 PC 등의 모바일 장비에 대한 효과적인 3D 그래픽스 기술의 적용이 큰 이슈로 떠오르고 있다. 하지만, 모바일 장비는 아직 상당한 양의 부동 소수점 연산과 메모리 대역폭을 요구하는 3D 그래픽스 컴퓨팅을 효과적으로 수행하기에는 적지 않은 제약이 있어, 상대적으로 고급인 PC 환경에서와는 달리 주어진 기기에 최적화된 프로그래밍 기법의 개발이 절실히 요구되고 있다.
특히, 충분치 못한 부동 소수점 숫자 및 연산의 정밀도, 이로 인한 프레임 버퍼의 정밀도, 아직은 부족한 클록 속도로 인한 성능 문제, 제한된 메모리 크기 및 대역폭으로 인한 병목 현상, 그리고 아직 장비마다 일관성에 문제가 있어 보이는 3D 그래픽스 API용 드라이버의 특성 등 고려해야 할 점이 많이 있다. 또한 터치스크린(touch screen) 조작에 기반을 둔 모바일 장비 상에서 3D 그래픽스 관련 기능을 효과적으로 작동하기 위해서는 PC 환경에서의 마우스나 키보드 등의 입력 장치에 기반을 둔 입력 방식과는 다른, 효과적인 사용자 인터페이스 기술의 개발이 요구되고 있다.
한편, 종래의 3D 그래픽스에 있어서, 터치 스크린 조작을 통한 3차원 가상 카메라의 회전 변환 방법에는 오일러 각을 이용한 회전 변환과 쿼터니언 회전 변환 등이 있다.
오일러 각(Euler angles)을 이용한 회전 변환은 고정된 x, y, z축을 기준으로 하여 pitch, yaw, roll을 나타내는 3개의 각도를 통하여 물체를 회전시킨다. 오일러 각을 이용한 회전 변환시, yaw, pitch, roll 순서로 회전변환을 하는 경우, pitch 값이 90도 또는 180도에 가까워지면 yaw와 roll 의 회전축이 겹치게 되어 회전의 자유도가 상실되는 짐벌락(gimbal lock) 현상이 발생하게 되는 문제점이 있다. 도 1은 종래의 오일러 각을 이용한 회전 변환 방법을 수행한 결과를 도시한 것들이다. 도 1에 도시된 바와 같이, 도 1의 (a)는 pitch 값이 90도에 가까워진 상태에서 도 1의 (b)나 (c) 처럼 yaw나 roll을 통한 회전을 수행하면 짐벌락 현상이 발생하여 같은 축, 즉 현재 바라보는 방향을 기준으로 회전하게 된다. 이와 같이, 초기에 3개의 회전축의 자유도를 가지던 회전 변환이 2축의 자유도가 되어 1개의 회전축을 잃어버리게 된다. 이러한 상황에서 사용자가 카메라 조작시 불편함을 느끼게 된다.
쿼터니언(Quaternion) 회전 변환 방법은 고정축이 아닌 임의의 축을 기준으로 카메라를 회전시킴으로써 짐벌락 현상을 방지할 수 있다. 쿼터니언 회전 변환 방법은 카메라라는 물체를 기준점, 각각 오른쪽, 위쪽, 그리고 바라보는 방향의 반대 방향을 가리키는 u, v, n 축으로 구성된 프레임으로 정의하고, OpenGL 시스템의 눈 좌표계(Eye Coordinates, EC)와 같은 카메라를 기준으로 하는 좌표계와 자연스럽게 대응된다. 쿼터니언 회전 변환 방법은 u,v,n 축을 기준으로 하여 카메라 프레임을 회전시키면 자연스럽게 pitch, yaw, roll 조작을 구현할 수 있게 된다. 이 방법을 사용하면 회전이 진행될 때마다 새로운 카메라 프레임에 대한 기하 정보, 그리고 뷰잉변환 행렬을 쉽게 갱신할 수 있게 되며, 또한 회전 기준축이 계속해서 변하기 때문에 고정된 기준축의 사용으로 발생하는 짐벌락 문제도 해결된다.
하지만, 쿼터니언 회전 변환 방법은 사용자가 특정한 입력을 가하는 경우, 사용자가 직관적으로 받아들이기 어려운 문제가 발생하게 된다. 도 2는 종래의 쿼터니언 회전 변환 방법에 따라 회전시의 상태를 도시한 그림들이다. 도 2의 (a)와 같은 초기 화면에서, (b)와 같이 사용자가 터치 포인트를 원모양으로 회전하듯이 움직여 제자리로 돌아오면 카메라 이동에 대한 증분의 합이 0이 되므로 카메라는 원래의 상태로 돌아오는 것이 직관적으로 자연스럽다. 하지만, 쿼터니언 회전 변환 방법에 따라 도 2의 (b)와 같이 터치하면, 도 2의 (c)와 같이 카메라의 방향이 원래의 방향에서 벗어나게 되는 문제가 발생한다. 또한, 쿼터니언 회전 변환 방법은 사용자가 어떤 경로를 통하여 제자리로 돌아오는가에 따라 카메라의 방향이 예측 불가능하게 뒤틀어지는 문제점을 갖는다.
한국공개특허공보 10-2009-0085821호 한국공개특허공보 10-2011-0066545호 한국공개특허공보 10-2011-0104096호
전술한 문제점을 해결하기 위한 본 발명의 목적은 짐벌락 현상을 방지하면서도 사용자가 직관적으로 받아들일 수 있는 터치스크린을 기반으로 한 가상 카메라의 회전변환방법을 제공하는 것이다.
전술한 목적을 달성하기 위한 본 발명의 특징에 따른 터치스크린을 이용한 가상 카메라의 회전 변환 방법은, (a) 초기 카메라 프레임에 대한 고정된 회전축들을 설정하는 단계; (b) 터치스크린에 터치가 연속되면서 회전 조작이 입력되는 경우, 상기 고정된 회전축을 기준축으로 하여 오일러 각을 이용하여 회전 변환을 수행하는 단계; (c) 터치스크린으로의 터치 입력이 종료되면, 상기 고정된 회전축을 상기 터치 입력이 종료된 순간의 카메라 프레임의 세 축으로 갱신하는 단계; (d) 상기 갱신된 카메라 프레임의 회전축을 기준축으로 하여, 상기 (b) 단계를 반복 수행하는 단계; 를 구비한다.
전술한 특징에 따른 터치스크린을 이용한 가상 카메라의 회전 변환 방법은 이동 단말기에 적용되는 것이 바람직하다.
본 발명에 의하여, 짐벌락 현상을 방지하면서도 사용자가 직관적으로 받아들일 수 있는 터치 스크린을 기반으로 한 가상 카메라의 회전변환을 수행할 수 있게 된다. 또한, 본 발명에 따른 회전 변환 방법에 의하여, 모바일 장비에 대하여 3D 그래픽스 기술을 효과적으로 적용할 수 있게 된다.
도 1은 종래의 오일러 각을 이용한 회전 변환 방법을 수행한 결과를 도시한 것들이다.
도 2는 종래의 쿼터니언 회전 변환 방법에 따라 회전시의 상태를 도시한 그림들이다.
도 3은 본 발명의 바람직한 실시예에 따른 가상 카메라의 회전 변환 방법을 적용한 그림들이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 터치 스크린을 기반으로 한 가상 카메라의 회전변환 방법에 대하여 구체적으로 설명한다.
본 발명에 따른 회전변환방법은 이동 단말기의 응용 프로세서(application processor)에 의해 실행되는 것으로서, 먼저 초기 카메라 프레임의 세축을 고정된 회전축으로 설정한다. 다음, 터치스크린에 사용자의 터치가 연속되면서 회전 조작이 입력되는 경우, 즉 사용자가 터치스크린에 손을 댄 후 떼지않고 연속하여 회전 조작을 가하는 경우, 초기 설정된 카메라 프레임의 고정된 회전축을 기준축으로 하여 오일러 각을 이용하여 회전 변환을 수행한다. 다음, 터치스크린으로의 터치가 종료되면, 즉 사용자가 터치스크린에 손을 떼면, 상기 고정된 회전축을 상기 터치가 종료된 순간의 카메라 프레임의 세 축으로 갱신한다. 다음, 상기 갱신된 카메라 프레임의 회전축을 기준축으로 하여, 오일러 각을 이용하여 회전 변환을 수행하는 과정을 반복 수행한다.
상기 터치스크린을 이용한 가상 카메라의 회전 변환 방법은 이동 단말기에 적용하는 것을 특징으로 한다.
본 발명에 따른 회전 변환 방법은, 도 2의 (b)에 도시된 바와 같이 사용자의 입력이 연속하여 움직인 후 동일한 위치로 되돌아 오는 경우, 오일러 각을 이용하여 회전 변환하면 결과적으로 pitch, yaw, roll 값에 대한 증분의 합이 모두 '0'가 되기 때문에 카메라의 방향이 뒤틀어지는 현상이 사라지게 된다.
도 3은 본 발명의 바람직한 실시예에 따른 가상 카메라의 회전 변환 방법을 적용한 그림들이다. 도 3을 참조하면, 도 3의 (a)에 도시한 카메라의 초기 상태에서 도 2의 (b)와 같은 입력을 하면 도 3의 (b)와 같이 정확하게 원래의 상태로 돌아올 수 있게 된다. 도 3의 (c)에서처럼 pitch 조작을 한 상태에서 도 3의 (d)와 (e)에서처럼 yaw 와 roll 조작을 할 경우 짐벌락 현상없이 원하는 회전이 바르게 적용됨을 확인할 수 있게 된다.
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 따른 회전변환방법은 터치스크린을 기반으로 하는 모바일 기기에서 가상의 3D 카메라를 구현하는 분야에 널리 사용될 수 있다.

Claims (3)

  1. (a) 초기 카메라 프레임에 대한 고정된 회전축들을 설정하는 단계;
    (b) 터치스크린에 터치가 연속되면서 회전 조작이 입력되는 경우, 상기 고정된 회전축들을 기준축으로 하여 오일러 각을 이용하여 회전 변환을 수행하는 단계;
    (c) 터치스크린으로의 터치 입력이 종료되면, 상기 고정된 회전축들을 상기 터치 입력이 종료된 순간의 카메라 프레임의 세 축으로 갱신하는 단계;
    (d) 상기 갱신된 카메라 프레임의 회전축들을 기준축으로 하여, 상기 (b) 단계를 반복 수행하는 단계;
    를 구비하는 터치스크린을 이용한 가상 카메라의 회전 변환 방법.
  2. 제1항에 있어서, 상기 터치스크린을 이용한 가상 카메라의 회전 변환 방법은 이동 단말기에 적용되는 것을 특징으로 하는 터치스크린을 이용한 가상 카메라의 회전 변환 방법.
  3. 제1항에 있어서, 상기 (a) 단계의 고정된 회전축은 초기 카메라 프레임의 세축으로 설정되는 것을 특징으로 하는 터치스크린을 이용한 가상 카메라의 회전 변환 방법.
KR1020120136326A 2012-11-28 2012-11-28 터치스크린상에서의 가상 카메라의 회전 방법 KR101420727B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120136326A KR101420727B1 (ko) 2012-11-28 2012-11-28 터치스크린상에서의 가상 카메라의 회전 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120136326A KR101420727B1 (ko) 2012-11-28 2012-11-28 터치스크린상에서의 가상 카메라의 회전 방법

Publications (2)

Publication Number Publication Date
KR20140070869A true KR20140070869A (ko) 2014-06-11
KR101420727B1 KR101420727B1 (ko) 2014-07-23

Family

ID=51125491

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120136326A KR101420727B1 (ko) 2012-11-28 2012-11-28 터치스크린상에서의 가상 카메라의 회전 방법

Country Status (1)

Country Link
KR (1) KR101420727B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4100195B2 (ja) * 2003-02-26 2008-06-11 ソニー株式会社 3次元オブジェクトの表示処理装置、表示処理方法、およびコンピュータプログラム
US7489299B2 (en) * 2003-10-23 2009-02-10 Hillcrest Laboratories, Inc. User interface devices and methods employing accelerometers
JP2011215692A (ja) * 2010-03-31 2011-10-27 Hokkaido Univ 3次元3自由度回転パラメータ処理装置

Also Published As

Publication number Publication date
KR101420727B1 (ko) 2014-07-23

Similar Documents

Publication Publication Date Title
US11829576B2 (en) User interface object manipulations in a user interface
US10275117B2 (en) User interface object manipulations in a user interface
US8378985B2 (en) Touch interface for three-dimensional display control
EP3042271B1 (en) User interface object manipulations in a user interface
US9436369B2 (en) Touch interface for precise rotation of an object
US10289214B2 (en) Method and device of controlling virtual mouse and head-mounted displaying device
EP3192064A1 (en) Enhanced display rotation
US9478070B2 (en) Coordinate information updating device
US20160091988A1 (en) System and method for controlling a virtual input interface
US20160026363A1 (en) Apparatus and method for manipulating the orientation of an object on a display device
EP4231242A1 (en) Graphics rendering method and related device thereof
US20150106709A1 (en) Guiding gesture operations
US11275501B2 (en) Creating tables using gestures
WO2024066756A1 (zh) 交互方法、装置和显示设备
KR101420727B1 (ko) 터치스크린상에서의 가상 카메라의 회전 방법
US10102310B2 (en) Precise object manipulation system and method
EP3295291B1 (en) Drawing object inferring system and method
KR102392675B1 (ko) 3차원 스케치를 위한 인터페이싱 방법 및 장치
US20160334971A1 (en) Object Manipulation System and Method
CN115033097A (zh) 一种智能眼镜的控制方法、装置和智能眼镜
CN117944031A (zh) 一种柔性机械臂的控制方法、柔性机械臂、设备及介质
CN112486397A (zh) 一种多点触控方法、终端设备及存储介质
CN117111742A (zh) 图像交互方法、装置、电子设备及存储介质
KR20130114847A (ko) 컴퓨터 화면내 활성화 윈도우를 회전하는 사용자 인터페이스 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 4