KR20090084900A - 3d 표면에 대하여 입력 장치의 위치를 제공하기 위한 방법, 3d표면에 위치된 2d성분과의 상호작용을 가능하게 하는 방법 및 컴퓨터 판독 가능 매체 - Google Patents

3d 표면에 대하여 입력 장치의 위치를 제공하기 위한 방법, 3d표면에 위치된 2d성분과의 상호작용을 가능하게 하는 방법 및 컴퓨터 판독 가능 매체 Download PDF

Info

Publication number
KR20090084900A
KR20090084900A KR1020097010916A KR20097010916A KR20090084900A KR 20090084900 A KR20090084900 A KR 20090084900A KR 1020097010916 A KR1020097010916 A KR 1020097010916A KR 20097010916 A KR20097010916 A KR 20097010916A KR 20090084900 A KR20090084900 A KR 20090084900A
Authority
KR
South Korea
Prior art keywords
input device
component
hidden
capture
scene
Prior art date
Application number
KR1020097010916A
Other languages
English (en)
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 마이크로소프트 코포레이션
Publication of KR20090084900A publication Critical patent/KR20090084900A/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/0481Interaction 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/04815Interaction 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
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • 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
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

3D 표면 상에 위치되는 2D 성분과의 상호작용을 가능하게 하는 다양한 기술 및 기법들을 개시한다. 본 시스템은 3D 표면에 대하여 입력 장치의 위치를 판단한다. 입력 장치가 3D 표면에 닿아 있다면, 2D의 숨겨진 성분은 3D 표면 상에 닿은 영역을 나타내는 포인트가 2D의 숨겨진 성분 상의 대응 포인트와 정렬되도록 위치된다. 예를 들면, 입력 장치가 한 장면에서의 위치에서 검출될 때의 입력 장치 위치에 대한 요청이 수신될 때, 3D 표면은 2차원으로 투사된다. 입력 장치의 2D 위치에 가장 근접한 포인트가 투사된 3D 표면에서 연산된다. 가장 근접한 포인트는 3D 표면의 대응 포인트로 숨겨진 성분을 위치시키는데 사용되는 것에 응답하여 제공된다.
Figure P1020097010916
3D 표면, 2D 객체(object), 2D 성분, 텍스쳐

Description

3D 표면에 대하여 입력 장치의 위치를 제공하기 위한 방법, 3D표면에 위치된 2D성분과의 상호작용을 가능하게 하는 방법 및 컴퓨터 판독 가능 매체{INTERACTING WITH 2D CONTENT ON 3D SURFACES}
2차원(2D) 환경에서 시스템은, 사용자가 어떤 영역을 선택했는지 또는 X 와 Y 활동 좌표를 단순히 결정함으로써 어떤 영역과 상호작용하는지 말해줄 수 있다. 그러나, 3차원(3D) 세계에서, 3D 표면 상의 대화형 2D 성분에 대한 X/Y 좌표를 찾는 것은 쉽지만은 않다. 예를 들면, 사용자 인터페이스와 같은 2D 객체(object)는 구(sphere)와 같은 3D 표면 상에 위치될 수 있다. 이러한 2D 객체가 3D 표면에 위치되면, 3D로 투사되는 2D 객체와의 사용자 상호작용을 처리하는 것은 곤란할 수 있다.
3D 표면 상에 위치된 2D 성분과의 상호작용을 가능하게 하는 다양한 기술을 개시한다. 본 시스템은 3D 표면에 대하여 입력 장치가 어디에 위치되는지를 결정한다. 입력 장치가 3D 표면에 닿아 있다면, 3D 표면 상에 닿아 있는 영역을 나타내는 포인트(point)가 숨겨진 2D 성분 상의 대응 포인트와 정렬되도록 숨겨진 2D 성분이 위치된다. 일 구현예에서, 대화형 2D 성분의 경계 위에 있지 않은 입력 장치가 한 장면에서의 위치에서 검출될 때의 입력 장치 위치에 대한 요청이 수신되면, 3D 표면은 2차원으로 투사된다. 입력 장치의 2D 위치에 가장 근접한 포인트가 투사된 3D 표면 상에서 연산된다. 가장 근접한 포인트는 3D 표면의 대응 포인트에 숨겨진 성분을 위치시키는데 사용되는 것에 대한 응답으로 제공된다.
일 구현예에서, 특정 3D 표면이 캡쳐를 가지는지 여부에 따라 상이한 프로세스들이 실행된다. 예를 들면, 3D 장면에서의 3D 표면이 캡쳐를 가지지 않고, 입력 장치가 3D 표면에 닿아 있다면, 3D 삼각형에 대한 텍스쳐 좌표들을 이용하여 숨겨진 2D 성분에 어떤 포인트가 닿았는지를 판단하게 된다. 이후, 숨겨진 성분이 3D 표면 상의 대응 포인트와 정렬되는 위치로 이동한다. 마찬가지로, 3D 장면에서의 3D 표면이 캡쳐를 가지고, 캡쳐 성분을 지닌 3D 표면에 닿아 있다고 입력 장치가 판단된다면, 텍스쳐 좌표 및 설명된 프로세스를 이용하여 숨겨진 성분을 정렬한다.
다른 구현예에서, 3D 장면에서의 3D 표면이 캡쳐를 가지고, 캡쳐 성분을 지닌 3D 표면에 닿아 있지 않다고 입력 장치가 판단되었다면, 시스템은 캡쳐 성분의 경계를 연산하여 입력 장치의 위치에 가장 근접한 경계 상의 포인트를 찾아서, 경계 상의 가장 근접한 포인트를 입력 장치의 위치 아래에 위치시킨다.
이러한 요약은 상세한 설명으로 이하에 더 설명된 간략화된 형태의 개념의 선택을 도입하기 위하여 제공되었다. 이러한 요약은 청구된 안건의 요지 또는 본질적 특징을 규정하기 위함이 아니며, 오히려 청구된 안건의 범위 결정을 용이하게 하기 위한 것이다.
도 1은 일 구현예의 컴퓨터 시스템을 나타내는 도면.
도 2는 도 1의 컴퓨터 시스템 상에서 동작하는 일 구현예의 대화형 3D 애플리케이션을 나타내는 도면.
도 3은 도 1의 시스템의 일 구현예에 대한 하이-레벨 프로세스 순서도.
도 4는 입력 장치 위치에 3D 객체를 제공하는데 포함되는 단계들을 설명하는, 도 1의 시스템의 일 구현예에 대한 프로세스 순서도.
도 5는 3D 표면 상에 위치되는 2D 성분과의 상호작용을 가능하게 하는데 포함되는 보다 상세한 단계들을 나타내는, 도 1의 시스템의 일 구현예에 대한 프로세스 순서도.
도 6은 캡쳐가 없을 때의 숨겨진 성분의 2D 표현을 나타내는, 도 1의 시스템의 일 구현예의 시뮬레이트된 화상.
도 7은 캡쳐가 없을 때의 숨겨진 성분과 상호작용하는 3D 표면을 나타내는, 도 1의 시스템의 일 구현예의 시뮬레이트된 화상.
도 8은 캡쳐가 없을 때의 3D 표면으로 덮여진 2D 표현을 나타내는, 도 1의 시스템의 일 구현예의 시뮬레이트된 화상.
도 9는 캡쳐가 있을 때에 디스플레이되는 Button 과 텍스트를 가지는 3D 표현을 나타내는, 도 1의 시스템의 일 구현예의 시뮬레이트된 화상.
도 10은 캡쳐가 있을 때에 선택되는 텍스트의 일부를 지닌 도 9에 도시된 3D 표면을 나타내는, 도 1의 시스템의 일 구현예의 시뮬레이트된 화상.
도 11은 도 10에 도시된 바와 같은 3D 표면의 방향 상에서 2D에 대하여 입력 장치가 예상되는 위치에 가장 근접한 에지 포인트를 나타내는, 도 1의 시스템의 일 구현예의 시뮬레이트된 화상.
도 12는 캡쳐를 가지는 2D 텍스트 박스를 나타내는 도 1의 시스템의 일 구현예의 시뮬레이트된 화상.
도 13은 도 12의 화상 에지를 얻어 이들 에지를 2D 로 다시 투사하여 3D 상의 2D 성분의 윤곽을 2D로 제공하는 것을 나타내는 도 1의 시스템의 일 구현예의 시뮬레이트된 화상.
본 발명의 원리를 용이하게 이해시키기 위해서, 참조부호가 도면에 도시된 실시형태에 제공될 것이며, 특정 용어가 실시형태에 사용될 것이다. 그러나, 이로써 본 발명의 범위를 한정하려는 의도가 아님을 이해하여야 한다. 당업자라면 일반적으로 알 수 있는 바와 같이, 설명된 본 실시형태들에서의 임의의 대체 및 다른 변경과, 본 명세서에 설명된 바와 같은 원리의 임의의 다른 애플리케이션도 가능하다.
본 시스템은 일반적인 관점에서는 3D 표면 상에 위치되는 2D 성분과의 상호작용을 제공하는 애플리케이션으로 설명될 수 있으나, 또한 이 이외의 다른 목적을 위해 제공될 수 있다. 일 구현예로서, 본 명세서에 설명되는 하나 이상의 기술은 마이크로소프트® 원도우즈®와 같은 운영 체제 환경에 포함되는 것과 같은 그래픽 렌더링 프로그램 내의 특징으로서, 또는 그래픽 렌더링을 처리하는 임의의 다른 형태의 프로그램 또는 서비스로부터 구현될 수 있다. 다른 구현으로서, 본 명세서에 설명되는 하나 이상의 기술은 2D 성분이 3D 표면에서 사용되도록 처리되는 다른 애 플리케이션의 특징으로 구현된다.
일 구현예로서, 본 시스템은 숨겨진 2D 성분을 사용함으로써 3D 표면과의 상호작용을 제공한다. 실제 대화형 2D 성분은 숨겨진 상태를 유지하지만, 숨겨진 2D 성분의 외형(appearance)은 숨겨지지 않고 3D 상에 위치된다. 숨겨진 성분은 3D 표면 상의 렌더링된 2D 성분의 외형과 상호작용하려는 사용자의 시도를 인터셉트하는 방식으로 위치된다. 본 명세서에 사용되는 "숨겨진 성분(hidden content)"이라는 용어는 2D 성분이 다른 객체 뒤에 위치되어 보이지 않는 크기로 인하여 눈에 띄지 않기 때문에 사용자에 의해 인식되지 않는 2D 성분을 포함하는 것을 의미한다. 다른 구현예에서, 2D 성분의 임의의 부분이 입력 장치의 위치를 요청하거나 캡쳐를 요청할 때, 이러한 2D 성분의 3D 표현은 다시 2D로 투사된다. 이후, 이러한 투사된 성분의 경계는 캡쳐된 3D 표면으로부터의 임의의 입력 요청에 어떻게 응답할지를 결정하는데 사용된다. 본 명세서에 사용된 "캡쳐(capture)"라는 용어는 입력 장치 상태 변경이 알려지도록 2D 성분이 요청할 때를 의미한다.
도 1에 도시된 바와 같이, 본 시스템의 하나 이상의 파트를 구현하는데 사용되는 예시적 컴퓨터 시스템은 컴퓨팅 장치(100)와 같은 컴퓨팅 장치를 포함한다. 이의 가장 기본적인 구성으로서, 컴퓨팅 장치(100)는 일반적으로 적어도 하나의 프로세싱 유닛(102)과 메모리(104)를 포함한다. 컴퓨팅 장치의 해당 구성 및 형태에 따라, 메모리(104)는 휘발성(RAM 과 같은), 비휘발성(ROM, 플래쉬 메모리 등과 같은) 또는 이 둘의 몇몇 조합일 수 있다. 이러한 기본 구성은 점선(106)에 의해 도 1에 도시된다.
추가로, 장치(100) 또한 추가 특징/기능을 가질 수 있다. 예를 들면, 장치(100)는 자기 또는 광학 디스크들 또는 테이프를 포함하나 이들로 한정되지는 않는 추가 저장소(이동식 및/또는 비-이동식)를 또한 포함할 수 있다. 이러한 추가 저장소는 이동식 저장소(108) 및 비-이동식 저장소(110)로 도 1에 도시된다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은, 정보 저장소에 대한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비-이동식 매체를 포함한다. 메모리(104), 이동식 저장소(108) 및 비-이동식 저장소(110)의 모두는 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 다른 메모리 테크놀러지, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 장치들, 또는 원하는 정보를 저장하는데 사용될 수 있고 장치(100)에 의해 접근가능한 임의의 다른 매체를 포함하나, 이들로 한정되지는 않는다. 임의의 이러한 컴퓨터 저장 매체는 장치(100)의 일부일 수 있다.
컴퓨팅 장치(100)는 컴퓨팅 장치(100)가 다른 컴퓨터들/애플리케이션들(115)과 통신하게 해주는 하나 이상의 통신 연결(114)을 포함한다. 장치(100)는 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등과 같은 입력 장치(들)(112)를 가질 수 있다. 디스플레이, 스피커들, 프린터 등과 같은 출력 장치(들)(111) 또한 포함될 수 있다. 이들 장치들은 당해 기술 분야에 공지된 것이기 때문에, 여기서 상세히 논의될 필요는 없다. 일 구현에 있어서, 컴퓨팅 장치(100)는 대화형 3D 애 플리케이션(200)을 포함한다. 대화형 3D 애플리케이션(200)은 도 2에 더 상세히 설명될 것이다.
도 1을 참조하여, 도 2를 살펴보면, 컴퓨팅 장치(100) 상에서 구동되는 대화형 3D 애플리케이션(200)이 도시된다. 대화형 3D 애플리케이션(200)은 컴퓨팅 장치(100)에 상주하는 애플리케이션 프로그램들 중의 하나이다. 그러나, 대화형 3D 애플리케이션(200)이 달리 또는 추가적으로 컴퓨터 실행가능 명령어들로서 하나 이상의 컴퓨터 상에서 구체화되거나 또는 도 1에 도시된 것과는 상이한 변형으로 구체화될 수 있다는 것을 이해할 수 있을 것이다. 달리 또는 추가적으로, 대화형 3D 애플리케이션(200)의 하나 이상의 파트는 다른 컴퓨터들 및/또는 애플리케이션(115) 상의 시스템 메모리(104)의 일부일 수 있거나 또는 컴퓨터 소프트웨어 분야에 존재할 수 있는 다른 변형일 수 있다.
대화형 3D 애플리케이션(200)은 본 명세서에 설명되는 기술의 일부 또는 전체의 실행을 담당하는 프로그램 로직(204)을 포함한다. 프로그램 로직(204)은 숨겨진 성분(hidden content)을 업데이트할 필요가 있는지(예컨대, 요청을 받거나 또는 프로그램적으로 결정될 시에)를 결정하기 위한 로직(206); 3D 표면에 대하여 입력 장치(예컨대, 마우스, 스타일러스(stylus) 등)가 어디에 위치되는지를 결정하기위한 로직(208); 입력 장치가 3D 표면에 닿아 있는지 여부를 결정하기 위한 로직(210); 입력 장치가 3D 표면에 닿아있지 않다고 시스템이 판단한 경우에 숨겨진 성분을 불활성으로 하기(예컨대, 숨겨진 성분을 입력 장치로부터 멀어지게 이동시키거나 또는 숨겨진 성분을 제거시키거나 불활성 상태로 하여 사용자가 뜻하지 않 게 숨겨진 성분과 상호작용하지 않게 됨) 위한 로직(212); 입력 장치가 3D 표면에 닿아 있다고 본 시스템이 판단한 경우에 입력 장치에 닿은 3D 표면 상의 포인트와 숨겨진 2D 객체가 정렬되도록(예컨대, 동일 포인트들이 정렬되도록 이동함) 2D 객체를 위치시키는 로직(214); 숨겨진 성분을 업데이트할 필요가 있는지에 대한 다른 표시(예컨대, 요청을 수신하거나 프로그램적으로 판단)를 대기하여 이에 따라 대응하는 로직(216); 및 애플리케이션을 구동시키기 위한 다른 로직(220)을 포함한다. 일 구현예에서, 프로그램 로직(204)은 예를 들어 프로그램 로직(204)의 프로시저에 대하여 단일 호출(call)을 이용함으로써, 다른 프로그램으로부터 프로그램적으로 호출되도록 동작가능하다.
도 1 및 도 2를 참조로 하여 도 3 내지 도 5로 가서, 대화형 3D 애플리케이션(200)의 하나 이상의 구현을 구현하기 위한 단계를 더 상세히 설명한다. 도 3은 대화형 3D 애플리케이션(200)에 대한 하이 레벨 프로세스 순서도이다. 일 형태로서, 도 3의 프로세스는 적어도 일부가 컴퓨팅 장치(100)의 구동 로직에서 구현된다. 프로시저는 시작 단계(240)에서 시작되며, 선택적으로는 숨겨진 성분을 업데이트할 필요가 있는지(예컨대, 요청을 수신할 시 또는 프로그램적으로 판단될 시에)를 결정한다(단계(242)). 시스템은 입력 장치(예컨대, 마우스, 스타일러스 등)가 3D 표면에 대하여 어디에 위치되는지를 판단한다(단계(244)). 입력 장치가 3D 표면(예컨대, 3D 공간에서의 일반적인 영역)에 닿지(예컨대 접촉(contact)) 않았다면(판단 단계(246)), 숨겨진 성분은 불활성으로 된다(예컨대, 숨겨진 성분이 입력 장치로부터 멀리 이동되거나 제거 또는 불활성으로 되어 사용자가 뜻하지 않게 숨 겨진 성분과 상호작용하지 않음)(단계(248)). 입력 장치가 3D 표면에 닿았다면(판단 단계(246)), 2D 객체는 입력 장치에 닿은 3D 표면 상의 포인트와 숨겨진 2D 객체가 정렬되도록(예컨대, 동일 포인트들이 정렬되도록 이동함) 위치된다(단계(250)). 본 시스템은 선택적으로 숨겨진 성분을 업데이트할 필요가 있는지에 대한 다른 표시를 대기하여 이에 따라 대응한다(단계 252). 프로세스는 종료 단계(256)에서 종료한다.
도 4는 3D 표면에 대한 입력 장치 위치를 제공하는데 포함되는 단계들의 일 구현을 나타낸다. 일 형태로서, 도 4의 프로세스는 컴퓨팅 장치(100)의 구동 로직에서 적어도 일부가 구현된다. 본 프로시저는 시작 단계(270)에서 시작하며, 입력 장치가 어떤 위치의 장면(scene)에서 검출될 때의 입력 장치 위치에 대한 요청 또는 질문(예컨대, 임의의 3D 형상, 구형 등과 같은 영역으로부터의 요청 또는 질문)을 수신한다(단계(272)). 3D 표면을 취하여 2차원으로 투사시킨다(단계(274)). 이러한 투사 상에서 입력 장치의 2D 위치에 가장 근접한 포인트가 계산된다(단계(276)). 투사된 객체 상에서 가장 근접한 포인트는 요청 또는 질문(예컨대, 3D 공간에서의 요청 객체에 대한 요청 또는 질문)에 응답하여 되돌려지는 위치이다(단계(278)). 본 프로세스는 종료 단계(280)에서 종료한다.
도 5는 3D 표면에 위치된 2D 성분과의 상호작용을 가능하게 하는 것에 포함되는 보다 상세한 단계의 일 구현예를 나타낸다. 일 형태로서, 도 5의 프로세스는 컴퓨팅 장치(100)의 구동 로직에서 적어도 일부가 구현된다. 본 프로시저는 시작 단계(310)에서 시작되며, 선택적으로 숨겨진 성분을 업데이트할 필요가 있는지(이 벤트 등의 때에)를 판단한다(단계(312)). 3D 표면이 캡쳐를 가지지 않았다고 시스템이 판단하면(결정 단계(314)), 3D 표면에 대하여 입력 장치의 위치가 판단되도록 닿음 테스트 3D 장면(hit test 3D scene)이 수행된다(단계(316)). 3D 표면에 닿지 않았다면(판단 단계(320)), 숨겨진 성분은 입력 장치로부터 멀어지도록 이동된다(단계(324)). 3D 표면에 닿았다면(결정 포인트(320)), 3D 트라이앵글에 대한 텍스쳐(texture) 좌표들을 사용하여 어떤 포인트가 2D 성분 상에서 닿았는지를 찾는다(단계(326)). 2D 성분은 숨겨진 층에 위치되며, 숨겨진 층은 포인트들이 정렬(line up)되도록 이동된다(단계(326)).
3D 표면이 캡쳐를 갖는다고 본 시스템이 판단하면(판단 단계(314)), 닿음 테스트 3D 장면이 수행되어 3D 표면에 대하여 입력 장치의 위치가 판단된다(단계(318)). 시스템은 캡쳐 성분을 지닌 3D 표면에 닿았는지(예컨대, 입력 장치에 의해)를 판단한다(판단 단계(322)). 만약 닿았다면, 3D 트라이앵글에 대해 텍스쳐 좌표들을 사용하여 어떤 포인트가 2D 성분 상에서 닿았는지 찾는다(단계(326)). 2D 성분은 숨겨진 층에 위치되며, 숨겨진 층은 포인트들이 정렬되도록 이동된다(단계(326)). 캡쳐 성분을 지닌 3D 표면에 닿지 않았다고 본 시스템이 판단하면(판단 단계(322)), 캡쳐된 성분의 경계가 연산된다(단계(328)). 경계 상에서 입력 장치 위치에 가장 근접한 포인트가 위치되며, 경계 상에서 가장 근접한 포인트가 입력 장치 위치 아래에 위치된다(단계(328)). 프로세스는 종료 포인트(330)에서 종료한다.
도 6 ~ 도 13으로 가서, 도 3 ~ 도 5의 단계들을 더 상세히 나타내는데 시뮬 레이트된 화상들을 사용한다. 도 6 ~ 도 8에는, 3D 표면이 캡쳐를 가지지 않을 때의 몇몇 가능한 시나리오를 나타내는데 몇몇 예시 시뮬레이트 화상이 사용된다. 이들 시뮬레이트된 화상 및 이들의 첨부 설명은 도 5의 단계(314, 316, 320, 324, 326) 및/또는 본 명세서에 설명되는 몇몇 다른 기술을 더 나타낸다. 도 6은 캡쳐가 없을 때의 숨겨진 성분의 2D 표현을 나타내는 도 1의 시스템의 일 구현예의 시뮬레이트된 화상(400)이다. 시뮬레이트된 화상(500)은 구에 맵핑된 성분을 포함한다. 도 7은 구(예컨대, 3D)에 맵핑된 도 6의 화상(400)을 나타내는 시뮬레이트된 화상(500)을 포함한다. 도 8은 입력 장치가 3D 표면 위에 있는 슬라이더(slider)의 일부가 2D에서의 슬라이더의 일부와 동일하도록 숨겨진 성분이 어떻게 정렬되는지를 보여주는 시뮬레이트된 화상(600)을 포함한다. 입력 장치를 클릭하면 썸 컨트롤(thumb control)과 상호작용할 것이다. 이러한 맵핑이 유지되기 때문에, 입력 장치가 이들 3D 표면 및 이 3D 표면들이 겹쳐지는 3D 표면들의 일부에 진입 및 이탈할 때 3D 표면에 올바르게 통지된다. 이는 3D 상의 2D 성분과 상호작용가능한 결과를 만들어낸다. 일 구현예에서, 입력 장치 움직임은 숨겨진 성분이 업데이트될 필요가 있다라는 신호로서 추적(track)된다.
몇몇 비제한 예들은 2D 성분이 어떻게 3D 표면에 맵핑되어 도 6 ~ 도 8에 도시된 결과를 달성하는지를 설명하는데 사용될 것이다. 입력 장치가 3D 표면 위에 있지 않으면, 숨겨진 층은 입력 장치가 3D 표면 위에 있지 않게되는 어디든지 있을 수 있다. 일 구현예에서 원하는 거동은, 3D 표면 상의 2D 성분은 마치 입력 장치가 3D 표면 위에 있는 것처럼 거동하지 않는다는 것과, 임의의 다른 이벤트가 3D 표면에 영향을 미치지 않아야 한다는 것이다. 입력 장치로부터 숨겨진 층을 멀리 배치하면 숨겨진 층에는 입력 장치의 이동때는 클릭 등이 통보되지 않는다.
예시를 위하여, 모든 3D 표면이 삼각형으로 구성되며, 모든 삼각형이 3D 표면과 관련되는 텍스쳐 좌표를 갖는다고 가정해 보자. 텍스쳐 좌표는 어떤 화상의 일부(텍스쳐)가 삼각형 상에서 디스플레이되어야 하는지를 나타낸다. 예를 들면, 텍스쳐 좌표들이 (0, 0)에서 (1, 1)의 범위에 있다고 가정하자(여기서, (0, 0)은 화상의 좌측 상부 코너이며, (1, 1)은 화상의 우측 하부 코너이다). 텍스쳐 좌표들이 (0, 0), (1, 0), (0, 1)이라면, 화상의 좌측 상부 절반은 삼각형 상에서 디스플레이된다. 또한, 3D 표면 상에서 디스플레이되는 2D 성분이 화상으로 표현될 수 있으며, 이러한 화상이 적용되는 3D 표면에 대한 텍스쳐라고 가정해 보자. 예를 들어, 도 6을 텍스쳐라 하면, 텍스쳐 좌표들은 도 7에 나타낸 바와 같이 구의 둘레를 감싸게 하는 것이다.
입력 장치가 3D 표면 위에 있으면, 광선을 3D 장면에 조사하여 3D 표면의 어떤 부분에 광선이 교차하는지를 알아본다. 이는 많은 표준 기술로 행해질 수 있다. 일단 무엇이 교차되었는지를 시스템이 안다면, 닿았었던 삼각형 상의 포인트 뿐만 아니라 상기 삼각형 상의 포인트에 대한 텍스쳐 좌표도 결정할 수 있다. 텍스쳐 좌표가 결정되면, 텍스쳐 또한 알고 있기 때문에, 시스템은 텍스쳐 좌표로부터 2D 성분 상의 위치로 맵핑할 수 있다. 이러한 위치는 3D 표면 위인 바로 그 포인트이다. 위치를 정확히 하기 위해서, 시스템은 이전 부분에서 연산이 이루어졌던 위치가 입력 장치 위치 바로 아래이도록 숨겨진 성분을 이동한다. 3D 표면 위 의 포인트는 숨겨진 성분 상의 바로 그 위치 바로 아래이며, 이러한 두(both) 위치는 입력 장치 바로 아래이다. 그래서, 사용자가 이러한 위치로부터 클릭 또는 입력한다면, 숨겨진 성분과 3D 상의 2D 성분 모두에서 정확한 동일 포인트를 클릭/입력하게 될 것이다. 또한, 입력 장치가 이동하면, 이러한 위치로 인하여, 숨겨진 성분과 3D 상의 숨겨진 성분의 2D 표현 모두는 정확히 동일한 포인트 상에서의 입력 장치 움직임에 대해 통보할 것이다.
도 9 ~ 도 13으로 가서, 3D 표면이 캡쳐를 가지는 몇몇 가능한 시나리오를 나타내기 위해 몇몇 예시적으로 시뮬레이트된 화상들을 도시한다. 이들 시뮬레이트된 화상 및 이들 화상들의 첨부 설명은 도 5의 단계 (314, 318, 322, 326, 328) 및/또는 본 명세서에 설명되는 몇몇 다른 기술의 도시를 더 제공한다. 일 구현예에서, 숨겨진 성분의 올바른 위치는 3D 상의 2D 성분이 캡쳐를 획득할 때 더욱 복잡해질 수 있다. 일 예로서, 3D에서는, 2D 평면으로의 3D의 투사로 인하여, 입력 장치의 위치는 실제로 3D 공간의 라인에 대응한다. 또한, 캡쳐를 지닌 3D 표면은 임의의 형상(geometry)으로 맵핑될 것이다. 그래서, 입력 장치가 3D 표면 위에 있으면, 닿음 테스트는 2D 비쥬얼에 대한 입력 장치의 위치를 나타낸다. 이러한 상황으로 인하여, 입력 장치가 3D 표면을 벗어날 때에 대한 명료한 대답은 없다 : 2D 포인트는 3D 라인에 대응하며, 2D 성분은 임의의 형상에 있을 것이다. 또한, 3D 표면이 캡쳐를 가지기 때문에, 모든 이벤트(event)를 받아들이기를 희망한다. 캡쳐가 포함되기 전이라면, 시스템은 입력 장치가 항상 올바른 객체 위에 있을 것만을 필요로 할 것이다. 이제, 캡쳐를 지닌다면, 시스템은 캡쳐를 지닌 객체에 대하 여 숨겨진 성분이 적합한 위치에 있도록 숨겨진 성분을 위치시킬 필요가 있다. 도 9 ~ 도 11에 도시된 시뮬레이트된 화상들은 이것을 상세히 더욱 설명한다.
일 구현예에서, 이러한 문제에 대한 하나의 가능한 방안은 3D 문제를 2D로 되돌리는 것이다. 정상적인 2D 경우에서, 성분에 적용되는 변환은 입력 장치 위치를 성분의 국소 좌표계로 변환하는데 사용될 수 있다. 이러한 변환된 위치는 성분에 대한 입력 장치의 위치를 성분이 알게 해준다. 3D에서는, 형상의 여러 배향 및 텍스쳐 좌표 레이아웃으로 인하여, 가끔 3D 상에서의 2D 성분의 상대 좌표계에서 3D 포인트가 어디에 있는지 알 수 없을 수 있다. 일 구현예에서, 이것에 근사시키기 위해서, 3D 상에서의 2D 성분의 윤곽(outline)을 스크린 공간에 투사시킨 후, 이 윤곽을 연산한 후에, 이러한 투사에 기초하여 입력 장치를 위치시킨다. 도 9 ~ 도 11은 이를 더욱 상세히 도시한다.
도 9의 시뮬레이트된 화상(700)은 3D 상에서의 2D 성분을 나타낸다. 도 10 상의 시뮬레이트된 화상(750)은 텍스트가 선택된 것을 나타내며, 입력 장치는 객체를 벗어난 포인트로 이동한다. 도 11은 텍스트 박스(즉, 캡쳐를 가지는 객체)의 윤곽을 지닌 시뮬레이트된 화상(800)을 도시한다. 이후, 이러한 윤곽은 숨겨진 성분을 위치시키는데 사용된다.
윤곽이 사용가능한 후에는, 이러한 윤곽 상에서 입력 장치 위치에 가장 근접한 포인트가 연산되어, 윤곽 상의 이러한 포인트는 입력 장치 위치 아래에 위치되어 닿아있었던 것으로 여겨진다. 도시된 예에서, 하이라이트부는 화상(750) 중앙의 "T"까지 수행된다. 3D 상의 2D 성분 상에서 입력 장치가 가장 근접한 것에 기 초하여 숨겨진 성분이 위치되기 때문에, 입력 장치가 가장 근접한 에지 포인트에 의해 위치됨으로 인하여, 2D에서와 같이 상호작용이 이루어진다. 가장 근접한 에지 포인트에 숨겨진 성분을 위치시킴으로써, 시스템은 입력 장치가 3D 표면의 방향 상의 2D에 대하여 어디에 있는지를 나타낸다.
도 9 ~ 도 11을 참조로 하여 설명된 프로세스를 실제로 수행하기 위해서, 시스템은 포함되어 있는 2D 성분에 대해 캡쳐를 갖는 객체의 경계를 연산한다. 예로서, 도 12 ~ 도 13에 도시된 2D 성분을 고려해 보자. 텍스트 박스가 캡쳐를 가진다고 가정하자. 도 12에서, 화상(900)에 포함되는 텍스트 박스의 경계는 볼드(bold)로 윤곽이 나타나 있다. 캡쳐를 지닌 3D 표면의 경계가 알려져 있고 2D 성분의 크기 전체가 알려져 있기 때문에, 이들 경계는 텍스쳐 좌표로 변환될 수 있다. 시스템은 텍스쳐 좌표로 3D 표면 상에 있는 모든 삼각형 메쉬를 검사할 수 있으며, 경계 좌표와 교차하는 텍스쳐 좌표를 포함하는 이들 삼각형을 찾을 수 있다. 예컨대, 삼각형이 있으며, 이 삼각형은 도 12의 2D 성분 상에 도시된 바와 같은 텍스쳐 좌표를 가진다고 가정해 보자. 시스템은 삼각형의 에지가 캡쳐를 지닌 3D 표면의 경계와 교차하는지를 확인하며, 이러한 경우에 삼각형의 에지는 3D 표면의 경계와 교차한다(삼각형의 에지는 캡쳐를 가지는 텍스트 박스와 교차한다). 삼각형이 관찰자와 대향하고 있고, 임의의 경계 에지는 삼각형과 교차한다면, 경계 에지와 삼각형이 교차하는 에지가 최종 리스트에 추가된다. 추가될 수 있는 에지를 도 13의 화상(950)에 도시한다. 이러한 단계들을 수행함으로써, 캡쳐된 3D 표면의 경계와 교차하는 가시적인 에지가 결정된다.
일 구현예에서, 시스템은 또한 어떤 삼각형이 관찰자와 대향하고 있는지 및 어떤 삼각형이 관찰자로부터 멀어지는지를 추적한다. 에지를 공유하는 두 개의 삼각형 - 하나는 사용자와 대향하며 하나는 사용자로부터 멀리있음 - 이 존재한다면, 시스템은 캡쳐된 3D 표면의 경계 내에 있는 이러한 공유된 에지의 일부를 최종 리스트에 추가할 수 있다. 이는 가시적인 경계가 연산되는데 필요한 것일 수 있다. 이러한 상황의 비제한적인 예로서, 도 9의 구를 고려해보자. 좌측 에지와 우측 에지 모두는 실루엣 에지(즉, 에지가 가시적 및 비가시적 삼각형 모두를 가짐)이다. 시스템은 이들을 추가하여 캡쳐된 3D 표면의 전체 가시적 윤곽(도 11에 도시된 것과 같은)을 연산한다. 이와는 달리, 먼 좌측 화상과 먼 우측 화상은 소실될 수 있으며, 전체 윤곽이 연산되지 않을 수 있다. 에지의 리스트가 결정되면, 에지는 2D 로 다시 투사된다. 이는 3D 상의 2D 성분의 윤곽을 2D로 제공한다. 이후, 입력 장치에 가장 근접한 이들 에지 상의 포인트가 계산된다. 이러한 포인트는 그 자신의 텍스쳐 좌표를 가지므로, 상기와 같이 이러한 텍스쳐 좌표가 숨겨진 성분을 위치시키는데 사용된다. 원하는 동작에 따라, 캡쳐된 3D 표면으로부터 더 멀리 이동해야 할 필요가 있다면, 캡쳐된 3D 표면의 경계는 두껍게 될 수 있다.
본 발명의 요지가 구조적 특징 및/또는 방법론적 단계를 상술하는 언어로 설명되었을지라도, 첨부된 청구항에 규정된 본 발명의 안건은 특정 특징 또는 상기 설명된 단계로 제한될 필요는 없다. 오히려, 상기 설명된 특정 특징들 및 단계들은 본 청구항들을 구현하는 예시 형태로 개시된다. 본 명세서에서 설명된 바와 같은 구현의 취지 내에 있으며/또는 이하의 청구항들에 의한 모든 등가물, 변경 및 변형은 보호되어야 하는 것이 바람직하다.
예를들면, 컴퓨터 소프트웨어에서의 당업자라면, 본 명세서에 설명된 예들에서 설명된 바와 같은 클라이언트 및/또는 서버 배치, 사용자 인터페이스 스크린 성분 및/또는 데이터 레이아웃은 본 발명의 예들에 나타낸 것보다 적은 또는 추가적인 옵션 또는 특징을 가지도록 하나 이상의 컴퓨터 상에서 상이하게 구성될 수 있다.

Claims (20)

  1. 컴퓨터로 하여금 이하의 단계들을 수행하도록 하기 위한 컴퓨터 판독 가능 명령어들을 가지는 컴퓨터 판독 가능 매체로서,
    상기 단계들은
    3D 표면에 대하여 입력 장치의 위치를 결정하는 단계; 및
    상기 입력 장치가 상기 3D 표면에 닿아 있다면, 상기 3D 표면 상에 닿아 있는 영역을 나타내는 포인트가 2D에서의 숨겨진 성분 상의 대응 포인트와 정렬되도록 상기 숨겨진 성분을 2D로 위치시키는 단계
    를 포함하는, 컴퓨터 판독 가능 매체.
  2. 제1항에 있어서,
    컴퓨터로 하여금,
    상기 입력 장치가 상기 3D 표면에 닿지 않았다면, 상기 숨겨진 성분을 불활성으로 하는 단계
    를 수행하도록 하기 위한 컴퓨터 판독 가능 명령어들을 더 가지는 컴퓨터 판독 가능 매체.
  3. 제1항에 있어서,
    컴퓨터로 하여금,
    3D 표면에 대한 상기 입력 장치의 위치를 결정하기 전에, 상기 숨겨진 성분을 업데이트할 필요가 있는지를 판단하는 단계
    를 수행하도록 하기 위한 컴퓨터 판독 가능 명령어들을 더 가지는 컴퓨터 판독 가능 매체.
  4. 3D 표면에 대하여 입력 장치 위치를 제공하기 위한 방법으로서,
    입력 장치가 한 장면(a scene)의 위치에서 검출될 때의 입력 장치 위치에 대한 요청을 수신하는 단계;
    상기 장면에서 3D 표면을 2차원으로 투사시키는 단계;
    투사된 3D 표면 상에서 상기 입력 장치의 2D 위치에 가장 근접한 포인트를 계산하는 단계; 및
    상기 요청에 응답하여 상기 가장 근접한 포인트를 되돌려주는 단계
    를 포함하는, 3D 표면에 대하여 입력 장치 위치를 제공하기 위한 방법.
  5. 제4항에 있어서,
    상기 입력 장치는 마우스인, 3D 표면에 대하여 입력 장치 위치를 제공하기 위한 방법.
  6. 제4항에 있어서,
    상기 입력 장치는 스타일러스(stylus)인, 3D 표면에 대하여 입력 장치 위치 를 제공하기 위한 방법.
  7. 제4항에 있어서,
    상기 요청은 영역(a region)으로부터 수신되는, 3D 표면에 대하여 입력 장치 위치를 제공하기 위한 방법.
  8. 제7항에 있어서,
    상기 영역은 임의의 3D 형상인, 3D 표면에 대하여 입력 장치 위치를 제공하기 위한 방법.
  9. 컴퓨터로 하여금 청구항 제4항의 단계들을 수행하도록 하기 위한 컴퓨터 판독 가능 명령어들을 가지는 컴퓨터 판독 가능 매체.
  10. 3D 표면에 위치된 2D 성분과의 상호작용을 가능하게 하는 방법으로서,
    한 3D 장면(a 3D scene)에 있는 2D의 숨겨진 성분이 업데이트를 필요로 하는 지를 판단하는 단계;
    상기 3D 장면에서 입력 장치의 위치를 결정하는 단계; 및
    상기 3D 장면에서의 3D 표면이 캡쳐를 갖지 않는다면, 상기 입력 장치가 상기 3D 장면에서의 3D 표면에 닿아 있는지와 상기 입력 장치가 3D 표면에 닿았는지를 판단한 후에, 3D 삼각형에 대한 텍스쳐 좌표들을 사용하여 2D의 숨겨진 성분 상 에서 복수의 포인트 중의 어떤 포인트가 닿았는지를 판단하여, 상기 숨겨진 성분이 3D 표면 상의 대응 포인트와 정렬되는 위치로 상기 숨겨진 성분을 이동시키는 단계
    를 포함하는, 3D 표면에 위치되는 2D 성분과의 상호작용을 가능하게 하는 방법.
  11. 제10항에 있어서,
    상기 3D 장면에서의 3D 표면이 캡쳐를 갖는다면, 상기 입력 장치가 캡쳐 성분을 지닌 3D 표면에 닿아 있는지를 판단하는 단계를 더 포함하는, 3D 표면에 위치되는 2D 성분과의 상호작용을 가능하게 하는 방법.
  12. 제11항에 있어서,
    상기 3D 장면에서의 3D 표면이 캡쳐를 갖고, 상기 캡쳐 성분을 지닌 3D 표면에 닿아 있다고 상기 입력 장치가 판단된다면, 3D 삼각형에 대한 텍스쳐 좌표들을 이용하여 2D의 상기 숨겨진 성분 상에서 복수의 포인트 중의 어떤 포인트가 닿았는지 판단하여, 상기 숨겨진 성분이 상기 3D 표면 상에서의 대응 포인트와 정렬되는 위치로 상기 숨겨진 성분을 이동시키는 단계를 더 포함하는, 3D 표면에 위치되는 2D 성분과의 상호작용을 가능하게 하는 방법.
  13. 제11항에 있어서,
    상기 3D 장면에서의 3D 표면이 캡쳐를 갖고, 상기 캡쳐 성분을 지닌 3D 표면 에 닿아 있지 않다고 상기 입력 장치가 판단된다면, 상기 캡쳐 성분의 경계를 연산하여, 상기 입력 장치의 위치에 가장 근접한 상기 경계 상의 포인트를 찾아서, 상기 가장 근접한 상기 경계 상의 포인트를 상기 입력 장치의 위치 아래에 위치시키는 단계를 더 포함하는, 3D 표면에 위치되는 2D 성분과의 상호작용을 가능하게 하는 방법.
  14. 제10항에 있어서,
    상기 숨겨진 성분은 상기 입력 장치로부터 온 무브 이벤트(on move event)가 발생할 시에 업데이트될 필요가 있는 것으로 판단되는, 3D 표면에 위치되는 2D 성분과의 상호작용을 가능하게 하는 방법.
  15. 제10항에 있어서,
    상기 입력 장치는 마우스인, 3D 표면에 위치되는 2D 성분과의 상호작용을 가능하게 하는 방법.
  16. 제10항에 있어서,
    상기 입력 장치는 스타일러스(stylus)인, 3D 표면에 위치되는 2D 성분과의 상호작용을 가능하게 하는 방법.
  17. 제10항에 있어서,
    상기 숨겨진 성분을 업데이트할 필요성은 상기 입력 장치의 위치에 대한 영역으로부터의 요청을 수신할 시에 판단되는, 3D 표면에 위치되는 2D 성분과의 상호작용을 가능하게 하는 방법.
  18. 제17항에 있어서,
    상기 영역은 임의의 3D 형상인, 3D 표면에 위치되는 2D 성분과의 상호작용을 가능하게 하는 방법.
  19. 제10항에 있어서,
    상기 3D 장면에서의 3D 표면이 캡쳐를 갖지 않고, 상기 입력 장치가 상기 3D 장면에서의 3D 표면에 닿아있지 않다고 판단된다면, 상기 숨겨진 성분을 상기 입력 장치의 위치로부터 멀리 이동시키는 단계를 더 포함하는, 3D 표면에 위치되는 2D 성분과의 상호작용을 가능하게 하는 방법.
  20. 컴퓨터로 하여금 제10항의 단계들을 수행하도록 하기 위한 컴퓨터 실행가능 명령어들을 가지는 컴퓨터 판독 가능 매체.
KR1020097010916A 2006-11-28 2007-11-27 3d 표면에 대하여 입력 장치의 위치를 제공하기 위한 방법, 3d표면에 위치된 2d성분과의 상호작용을 가능하게 하는 방법 및 컴퓨터 판독 가능 매체 KR20090084900A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/605,183 2006-11-28
US11/605,183 US20080122839A1 (en) 2006-11-28 2006-11-28 Interacting with 2D content on 3D surfaces

Publications (1)

Publication Number Publication Date
KR20090084900A true KR20090084900A (ko) 2009-08-05

Family

ID=39463202

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097010916A KR20090084900A (ko) 2006-11-28 2007-11-27 3d 표면에 대하여 입력 장치의 위치를 제공하기 위한 방법, 3d표면에 위치된 2d성분과의 상호작용을 가능하게 하는 방법 및 컴퓨터 판독 가능 매체

Country Status (8)

Country Link
US (1) US20080122839A1 (ko)
EP (1) EP2095326A1 (ko)
JP (1) JP2010511228A (ko)
KR (1) KR20090084900A (ko)
CN (1) CN101553843A (ko)
MX (1) MX2009004894A (ko)
TW (1) TW200828098A (ko)
WO (1) WO2008067330A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220120141A (ko) 2021-02-23 2022-08-30 이동건 혼합 현실 입출력 확장 시스템

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101416235B1 (ko) * 2008-02-12 2014-07-07 삼성전자주식회사 3차원 위치 입력 방법 및 장치
US8436816B2 (en) 2008-10-24 2013-05-07 Apple Inc. Disappearing button or slider
US8854357B2 (en) 2011-01-27 2014-10-07 Microsoft Corporation Presenting selectors within three-dimensional graphical environments
CN102915232B (zh) * 2011-08-01 2016-08-10 华为技术有限公司 一种3d控件的交互方法及通信终端
US9361283B2 (en) 2011-11-30 2016-06-07 Google Inc. Method and system for projecting text onto surfaces in geographic imagery
US9167999B2 (en) 2013-03-15 2015-10-27 Restoration Robotics, Inc. Systems and methods for planning hair transplantation
US9320593B2 (en) 2013-03-15 2016-04-26 Restoration Robotics, Inc. Systems and methods for planning hair transplantation
CN103529943B (zh) * 2013-10-17 2016-05-04 合肥金诺数码科技股份有限公司 一种基于流体物理模拟系统的人体投影交互方法
CN109087402B (zh) * 2018-07-26 2021-02-12 上海莉莉丝科技股份有限公司 在3d场景的特定表面上覆盖特定表面形态的方法、系统、设备和介质
JP2024502701A (ja) 2020-12-20 2024-01-23 ルムス エルティーディー. 空間光変調器上のレーザ走査による画像プロジェクタ
WO2022056499A1 (en) * 2021-10-13 2022-03-17 Innopeak Technology, Inc. 3d rendering and animation support for ui controls

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6037936A (en) * 1993-09-10 2000-03-14 Criticom Corp. Computer vision system with a graphic user interface and remote camera control
US5511157A (en) * 1993-12-13 1996-04-23 International Business Machines Corporation Connection of sliders to 3D objects to allow easy user manipulation and viewing of objects
JPH0869274A (ja) * 1994-08-30 1996-03-12 Sega Enterp Ltd 画像処理装置およびその方法
US5903271A (en) * 1997-05-23 1999-05-11 International Business Machines Corporation Facilitating viewer interaction with three-dimensional objects and two-dimensional images in virtual three-dimensional workspace by drag and drop technique
KR20010087256A (ko) * 2000-03-03 2001-09-15 김종민 3차원 사이버 공간 제공 시스템
US6556227B1 (en) * 2000-03-16 2003-04-29 Autodesk, Inc. Visualization techniques for constructive systems in a computer-implemented graphics system
JP2001276420A (ja) * 2000-03-30 2001-10-09 Namco Ltd ゲーム装置および情報記憶媒体
JP4167390B2 (ja) * 2000-11-20 2008-10-15 日本電気株式会社 物体照合方法,物体照合装置,およびそのプログラムを記録した記録媒体
FR2820269A1 (fr) * 2001-01-30 2002-08-02 Koninkl Philips Electronics Nv Procede de traitement d'images en 2d appliquees sur des objets en 3d
JP2005502936A (ja) * 2001-04-30 2005-01-27 アクティブマップ エルエルシー 双方向性電子提示地図
US7236178B2 (en) * 2001-07-19 2007-06-26 Autodesk, Inc. Dynamically adjusted brush for direct paint systems on parameterized multi-dimensional surfaces
JP2005502111A (ja) * 2001-08-31 2005-01-20 ソリッドワークス コーポレイション 2dおよび3dモデリングデータの同時使用法
US7554541B2 (en) * 2002-06-28 2009-06-30 Autodesk, Inc. Widgets displayed and operable on a surface of a volumetric display enclosure
AU2003303099A1 (en) * 2002-11-29 2004-08-13 Bracco Imaging, S.P.A. System and method for managing a plurality of locations of interest in 3d data displays
US7480873B2 (en) * 2003-09-15 2009-01-20 Sun Microsystems, Inc. Method and apparatus for manipulating two-dimensional windows within a three-dimensional display model
JP2005339060A (ja) * 2004-05-25 2005-12-08 Nec Electronics Corp クロストーク計算装置およびクロストーク計算方法
US7540866B2 (en) * 2004-06-04 2009-06-02 Stereotaxis, Inc. User interface for remote control of medical devices
US7178111B2 (en) * 2004-08-03 2007-02-13 Microsoft Corporation Multi-planar three-dimensional user interface
US20060177133A1 (en) * 2004-11-27 2006-08-10 Bracco Imaging, S.P.A. Systems and methods for segmentation of volumetric objects by contour definition using a 2D interface integrated within a 3D virtual environment ("integrated contour editor")

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220120141A (ko) 2021-02-23 2022-08-30 이동건 혼합 현실 입출력 확장 시스템
KR20240036543A (ko) 2021-02-23 2024-03-20 이동건 혼합 현실 입출력 확장 시스템

Also Published As

Publication number Publication date
WO2008067330A1 (en) 2008-06-05
MX2009004894A (es) 2009-05-19
US20080122839A1 (en) 2008-05-29
EP2095326A1 (en) 2009-09-02
TW200828098A (en) 2008-07-01
JP2010511228A (ja) 2010-04-08
CN101553843A (zh) 2009-10-07

Similar Documents

Publication Publication Date Title
KR20090084900A (ko) 3d 표면에 대하여 입력 장치의 위치를 제공하기 위한 방법, 3d표면에 위치된 2d성분과의 상호작용을 가능하게 하는 방법 및 컴퓨터 판독 가능 매체
CN107810465B (zh) 用于产生绘制表面的系统和方法
US11443490B2 (en) Snapping, virtual inking, and accessibility in augmented reality
US8243061B2 (en) Image processing apparatus and method of controlling operation of same
US11475636B2 (en) Augmented reality and virtual reality engine for virtual desktop infrastucture
KR101650269B1 (ko) 화면 제어를 위한 효율적인 인터페이스를 제공하는 시스템 및 방법
US10789766B2 (en) Three-dimensional visual effect simulation method and apparatus, storage medium, and display device
US10855481B2 (en) Live ink presence for real-time collaboration
CN110969687A (zh) 一种碰撞检测方法、装置、设备和介质
CN112156467A (zh) 虚拟相机的控制方法、系统、存储介质与终端设备
CN110286906B (zh) 用户界面显示方法、装置、存储介质与移动终端
CN110215686B (zh) 游戏场景中的显示控制方法及装置、存储介质及电子设备
US11120592B2 (en) System and method for oriented bounding box tool defining an orientation of a tilted or rotated object
CN111459266A (zh) 一种在虚拟现实的3d场景中操作2d应用的方法和装置
US10621768B2 (en) Augmented reality and virtual reality engine at the object level for virtual desktop infrastucture
CN111625805B (zh) 验证方法、装置、电子设备及存储介质
US20030001906A1 (en) Moving an object on a drag plane in a virtual three-dimensional space
CN116129085B (zh) 虚拟物体处理方法、设备、存储介质及程序产品
CN112569601B (zh) 一种游戏中模型组件的拼接方法、装置及电子设备
US10930077B1 (en) Systems and methods for rendering augmented reality mapping data
CN107464131B (zh) 三维城市模型的广告展示方法及装置、设备及可读介质
WO2020061702A1 (en) System and method for bounding box tool
CN114011058A (zh) 一种游戏控制的方法和装置
CA3018739A1 (en) System and method for bounding box tool

Legal Events

Date Code Title Description
SUBM Surrender of laid-open application requested