KR101212350B1 - 정보처리 시스템과 프로그램 - Google Patents
정보처리 시스템과 프로그램 Download PDFInfo
- Publication number
- KR101212350B1 KR101212350B1 KR1020060053809A KR20060053809A KR101212350B1 KR 101212350 B1 KR101212350 B1 KR 101212350B1 KR 1020060053809 A KR1020060053809 A KR 1020060053809A KR 20060053809 A KR20060053809 A KR 20060053809A KR 101212350 B1 KR101212350 B1 KR 101212350B1
- Authority
- KR
- South Korea
- Prior art keywords
- coordinate set
- dimensional
- predetermined
- calculated
- indicated
- Prior art date
Links
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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- 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/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing 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
-
- 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/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03542—Light pens for emitting or receiving light
-
- 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/042—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Position Input By Displaying (AREA)
Abstract
본 발명은 이미지 획득수단, 방향 계산수단, 이동수단, 및 표시 제어수단을 구비하는 게임시스템에 관한 것이다. 이미지 획득수단은 이미지화 장치에 의해 획득된 이미지를 얻고, 방향 계산수단은 이미지화 장치에 의해 획득된 이미지에 포함된 이미지화 대상의 이미지로부터 원래 결정된 방향을 계산하고, 이동수단은 계산된 방향에 따라 소정의 방향으로 조작 대상을 이동시키며, 표시 제어수단은 이동수단에 의해 수행된 조작 대상의 이동에 따라 이미지를 생성하고 생성된 이미지를 표시장치의 스크린에 표시한다.
이미지 획득수단, 방향 계산수단, 이동수단, 표시 제어수단, 게임시스템, 조작 대상, 이미지화 장치
Description
도 1은 본 발명의 일 실시 형태에 따른 정보처리 시스템의 일 예로서 게임시스템(1)의 외형도,
도 2는 게임장치(3)의 기능 블록도,
도 3a는 컨트롤러(7)를 위에서 본 등축 사시도,
도 3b는 컨트롤러(7)를 아래에서 본 등축 사시도,
도 4는 컨트롤러(7)의 정면도,
도 5a는 컨트롤러(7)의 상부 케이스가 제거된 상태를 도시하는 등축 사시도,
도 5b는 컨트롤러(7)의 하부 케이스가 제거된 상태를 도시하는 등축 사시도,
도 6은 컨트롤러(7)의 구조를 도시하는 블록도,
도 7은 컨트롤러(7)를 사용하는 게임 조작의 일반적인 도면,
도 8은 마커(8a, 8b)와 컨트롤러(7)의 시야각을 도시하는 도면,
도 9는 대상 이미지를 포함하는 획득된 이미지의 예,
도 10은 컨트롤러(7)의 위치 및/또는 방향이 변경될 때 획득된 이미지의 변화를 도시하고,
도 11은 게임장치(3)의 메인 메모리(13)에 저장된 메인 데이터를 도시하고,
도 12는 게임장치(3)에 의해 실행되는 게임처리의 흐름을 도시하는 흐름도,
도 13은 도 12에 도시된 조작 상태 계산 처리(S2)의 상세 흐름을 도시하는 흐름도,
도 14는 제 1 좌표 세트와 제 2 좌표 세트를 결정하는 처리를 도시하는 도면,
도 15a 및 15b는 조작 대상의 이동 모션의 예를 도시하고,
도 16a 및 16b는 상기 조작 대상의 이동 모션의 예를 도시하고,
도 17은 제 1 예의 게임 스크린의 예를 도시하고,
도 18은 윈도우(72)에 표시할 수 있는 메뉴 이미지와 실제로 표시되는 메뉴 이미지의 영역 사이의 관계를 도시하고,
도 19는 회전 조작에 의한 윈도우에서의 이미지의 변화를 도시하고,
도 20은 제 1 실시예에서 게임장치(3)의 메인 메모리(13)에 저장된 메인 데이터를 도시하고,
도 21은 제 1 실시예에서 게임 처리의 흐름을 도시하는 흐름도,
도 22는 제 1 실시예에서 단계 S2에서의 상세 흐름을 도시하는 흐름도,
도 23은 도 22에 도시된 단계 S32에서의 처리의 상세 흐름을 도시하는 흐름도,
도 24는 제 1 실시예에서 이동 처리의 상세 흐름을 도시하는 흐름도,
도 25는 제 1 실시예의 변형에서 이동 처리의 상세 흐름을 도시하는 흐름도,
도 26은 제 2 실시예에서 게임 스크린의 예를 도시하고,
도 27은 제 2 실시예에서 게임 스크린의 다른 예를 도시하고,
도 28은 회전 조작에 의한 플레이어 캐릭터(81)의 이동 모션을 도시하고,
도 29는 제 2 실시예에서 게임장치(3)의 메인 메모리(13)에 저장된 메인 데이터를 도시하고,
도 30은 제 2 실시예에서 게임 처리의 흐름을 도시하는 흐름도,
도 31은 제 2 실시예에서 이동 처리의 상세 흐름을 도시하는 흐름도,
도 32는 제 3 실시예에서 게임 스크린의 예를 도시하고,
도 33은 회전 조작에 의한 플레이어 카트(91)의 가속도의 변화를 도시하고,
도 34는 제 3 실시예에서 게임장치(3)의 메인 메모리(13)에 저장된 메인 데이터를 도시하고,
도 35는 제 3 실시예에서 게임 처리의 흐름을 도시하는 흐름도, 및
도 36은 제 3 실시예에서 이동 처리의 상세 흐름을 도시하는 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
2: 모니터 3: 게임장치
7: 컨트롤러 8a, 8b: 마커(marker)
71, 72: 윈도우 75: 스크롤 바
76: 스크롤 박스 77: 메뉴 이미지
78: 표시 영역 74a - 74f: 아이템 이미지
8a', 8b': 대상 이미지 81: 플레이어 캐릭터
91 - 93: 플레이어 카트
본 발명에 대한 이들 및 다른 목적, 특징, 형태 및 이점들이 첨부한 도면과 함께 고려할 때 본 발명의 다음 상세한 설명으로부터 명백해질 것이다.
일본 특허출원 제2005-253715호에 개시된 내용은 본 명세서에 통합된다. 또한 본 출원은 2005년 11월 3일자 미국 특허출원 제60/732,649호의 전체 내용을 포함한다.
본 발명은 정보처리 시스템과 프로그램에 관한 것이며, 보다 구체적으로는 영상장치와 그에 사용되는 프로그램을 포함하는 조작장치를 사용하는 이용자가 조작할 수 있는 정보처리 시스템에 관한 것이다.
종래, 광학 포인팅 시스템을 사용하여 디스플레이 스크린상의 특정 위치를 지시하는 기술이 소개되었다. 예를 들면, 일본 특허 공개 제6-308879호에 설명된 광학 포인팅 시스템은 다수의 관람자를 위해 개최된 컨퍼런스 등에서 사용된다. 이 시스템에 의하면, 발광소자가 디스플레이 스크린 근처에 제공되고, 광/전 변환을 사용하는 영상장치가 지시기(indicator)에 설치된다. 이용자는 다음과 같이 지시기를 사용하여 디스플레이 스크린상의 임의의 위치를 지시할 수 있다. 지시기는 영상장치에 의해 발광소자의 이미지를 취하고 사용자에 의해 지시된 위치가 상기 얻어진 이미지를 기초하여 계산된다. 계산된 위치에 마크가 표시됨으로써, 지시된 위치가 마크로 표시된다.
상기와 실질적으로 같은 광학 포인팅 시스템을 사용하는 게임 컨트롤러가 제안되었다(예를 들어 일본특허공개 제8-71252호 참조). 상기 컨트롤러는 총의 형상을 가지며 슈팅게임을 위해 사용된다. 슈팅게임은 스크린상에 표시된 대상을 총으로 슈팅하는 것이다. 상기 총은 스크린상의 임의의 위치(총탄이 명중하는 위치)를 지시하는데 사용된다. 총 모양의 컨트롤러는 CCD 카메라를 내장하고 있으며, 스크린 주변 4개 위치에 배치된 발광소자가 CCD 카메라에 의해 이미지화된다. 컨트롤러는 얻어진 이미지를 사용하여 총의 회전각 또는 경사각을 계산한다. 컨트롤러는 총이 스크린상에 표시된 대상으로 정확하게 향하고 있는지를 검출하는데 상기 계산 결과를 사용하며, 총탄이 대상을 명중했는지를 판단한다. 이와 같은 구조에 의해, 플레이어가 손에 잡은 컨트롤러(총)를 움직임으로써 게임 조작을 수행하는 게임 시스템이 실현될 수 있다.
상술한 기술에 의해, 이용자가 손에 잡은 조작장치(지시기 또는 총 모양의 컨트롤러)는 디스플레이 스크린상의 위치를 지시하는데 사용될 뿐이다. 즉, 상기한 지시기나 총 모양의 컨트롤러는 디스플레이 스크린상에 한 위치를 지시하는 한가지 조작만을 수행하는 것을 허용하고 다른 조작을 허용하지 않는다. 예를 들면, 게임 장치를 위해 사용 시, 이와 같은 조작장치는 플레이어가 디스플레이 스크린상에 한 위치를 지시하는 단순한 게임 조작만을 수행할 수 있도록 허용한다. 게임 조작이 단순하기 때문에 게임 자체가 간단하고 재미가 없다.
따라서 본 발명의 목적은 사용자가 손에 잡은 입력장치를 사용하여 새로운 형태의 조작을 수행하도록 하는 정보처리 시스템과 이와 같은 정보처리 시스템에 사용되는 프로그램을 제공하는 것이다.
본 발명은 전술한 목적을 달성하기 위해 다음과 같은 특징이 있다. 명세서 부분의 괄호 안의 참조번호, 부가설명 등은 본 발명의 이해를 돕기 위해 나중에 설명될 실시 형태들에 대한 대응을 가리키며 어떤 식으로든 본 발명을 제한하는 것은 아니다.
본 발명의 제 1 형태는 이미지화 대상(마커(8a, 8b))의 이미지를 획득하고 소정의 조작 대상(윈도우에서 이미지, 플레이어 오브젝트(81), 플레이어 카트(91))에 대해 조작 데이터를 사용하여 계산처리를 수행함으로써 얻어진 가상 공간을 표시장치(모니터(2))에 표시하는 이미지화 수단(이미지화 소자(40))을 포함하는 조작장치(컨트롤러(7))로부터 조작 데이터를 수신하는 정보처리장치(게임장치(3))의 컴퓨터(CPU(10))에 의해 실행 가능한 프로그램을 저장한 컴퓨터로 읽을 수 있는 저장매체에 관한 것이다. 상기 프로그램은 획득단계(S1), 벡터 계산단계(S16), 제 1 이동 단계(S3), 및 표시단계(S4)를 상기 컴퓨터에 실행시킨다. 상기 획득단계는 상기 조작장치의 이미지화 수단에 의해 획득된 획득 이미지를 조작 데이터로서 획득한다. 상기 벡터 계산단계는 상기 획득 이미지에서의 이미지화 대상의 위치를 사용하여 2차원 벡터(방향 데이터(57)에 의해 표시된 벡터)를 계산한다. 제 1 이동단계는 상기 2차원 벡터의 계산된 값에 따라 소정의 방향으로 상기 조작 대상을 이동시킨다. 상기 표시단계는 상기 제 1 이동단계에서 조작 대상의 이동에 따라 변경된 상기 가상 공간을 상기 표시장치의 표시영역에 표시한다.
본 발명의 제 2 형태에 있어서, 상기 벡터 계산단계는, 상기 이미지화 대상의 이미지에서 소정의 2개 포인트의 좌표 세트를 상기 획득 이미지에 대응하는 좌표계에서 계산하는 제 1 계산단계와, 상기 소정의 2개 포인트의 좌표 세트를 연결시키는 2차원 벡터를 계산하는 제 2 계산단계를 포함하는 것이다.
본 발명의 제 3 형태는 정보처리장치(게임장치(3))의 컴퓨터(CPU(10) 등)에 의해 실행 가능한 프로그램을 저장한 컴퓨터로 읽을 수 있는 저장매체에 관한 것이다. 정보처리장치는 조작장치(컨트롤러(7))로부터 조작 데이터를 수신하고 소정의 조작 대상(윈도우에서 이미지, 플레이어 오브젝트(81), 플레이어 카트(91))에 대해 상기 조작 데이터를 사용하여 계산처리를 수행함으로써 얻어진 가상 공간을 표시장치(모니터(2))에 표시한다. 상기 조작장치는 이미지화 대상의 이미지를 획득하는 이미지화 수단(이미지화 소자(40))과, 상기 이미지화 수단에 의해 획득된 획득 이미지에 포함된 상기 이미지화 대상의 이미지에서 2개의 소정의 포인트의 좌표 세트를 계산하는 제 1 계산수단(이미지 처리회로(41))을 포함한다. 상기 프로그램은,상기 조작장치의 이미지화 수단에 의해 획득된 획득 이미지를 조작 데이터로서 획득하는 획득단계(S1), 상기 2개의 소정의 포인트의 좌표 세트를 연결하는 2차원 벡터를 계산하는 제 2 계산단계, 상기 2차원 벡터의 계산된 값에 따라 소정의 방향으로 상기 조작 대상을 이동시키는 제 1 이동 단계(S3), 및 상기 제 1 이동단계에서 조작 대상의 이동에 따라 변경된 상기 가상 공간을 상기 표시장치의 표시 영역에 표시하는 표시단계(S4)를 포함한다.
본 발명의 제 4 형태는 정보처리장치(게임장치(3))의 컴퓨터(CPU(10) 등)에 의해 실행 가능한 프로그램을 저장한 컴퓨터로 읽을 수 있는 저장매체에 관한 것이다. 정보처리장치는 조작장치(컨트롤러(7))로부터 조작 데이터를 수신하고 소정의 조작 대상(윈도우에서의 이미지, 플레이어 오브젝트(81), 플레이어 카트(91))에 대해 상기 조작 데이터를 사용하여 계산처리를 수행함으로써 얻어진 가상 공간을 표시장치(모니터(2))에 표시한다. 상기 조작장치는 이미지화 대상의 이미지를 획득하는 이미지화 수단(이미지화 소자(40))과, 상기 이미지화 수단에 의해 획득된 획득 이미지에서 상기 이미지화 대상의 위치를 사용하여 2차원 벡터를 계산하는 벡터 계산수단(이미지 처리회로(41))을 포함한다. 상기 프로그램은,상기 2차원 벡터를 조작 데이터로서 획득하는 획득단계(S1), 상기 2차원 벡터의 얻어진 값에 따라 소정의 방향으로 상기 조작 대상을 이동시키는 제 1 이동 단계(S3), 및 상기 제 1 이동단계에서 조작 대상의 이동에 따라 변경된 상기 가상 공간을 상기 표시장치의 표시 영역에 표시하는 표시단계(S4)를 포함한다.
본 발명의 제 5 형태에 있어서, 상기 프로그램은, 지시된 좌표 세트 계산단계(S24)를 추가로 상기 컴퓨터에 실행시키는 것이다. 상기 지시된 좌표 세트 계산단계는 상기 획득단계에서 얻어진 획득 이미지에서의 이미지화 대상의 이미지의 위치에 대응하여 상기 표시영역 상의 위치에 대응하는 소정의 지시된 좌표 세트를 계산한다. 상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시킨다.
본 발명의 제 6 형태에 있어서, 상기 프로그램은 지시된 좌표 세트 계산단계를 추가로 상기 컴퓨터에 실행시키는 것이다. 상기 지시된 좌표 세트 계산단계는 상기 2개의 소정의 포인트 사이의 중간 포인트의 좌표 세트에 대응하여 상기 표시영역 상의 위치에 대응하는 소정의 지시된 좌표 세트를 계산한다. 상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시킨다.
본 발명의 제 7 형태에 있어서, 상기 조작 데이터는 이미지화 대상의 이미지의 위치에 대응하는 하나 이상의 포인트의 좌표 세트를 포함한다. 이 경우, 상기 프로그램은 추가로 지시된 좌표 세트 계산단계를 상기 컴퓨터에 실행시킨다. 상기 지시된 좌표 세트 계산단계는 상기 하나 이상의 좌표 세트에 대응하여 상기 표시 영역 상의 위치에 대응하는 소정의 지시된 좌표 세트를 계산한다. 상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시킨다.
본 발명의 제 8 형태에 있어서, 상기 지시된 좌표 계산단계는, 상기 이미지화 수단에 의해 획득된 이미지가 상기 이미지의 중심 둘레에서 회전하고 상기 2차원 벡터가 상기 회전에 의해 하나의 특정 방향을 향하는 경우에 상기 이미지화 대상의 이미지의 위치를 계산하는 제 1 단계(S31, S32)와, 상기 제 1 단계에서 계산된 위치에 대응하여 상기 표시 영역 상의 위치에 대응하는 상기 지시된 좌표 세트를 계산하는 제 2 단계를 포함한다.
본 발명의 제 9 형태에 있어서, 상기 프로그램은 지시된 좌표 세트 계산단계를 추가로 상기 컴퓨터에 실행시키는 것이다. 상기 지시된 좌표 세트 계산단계는 상기 표시 영역 상의 위치에 대응하는 소정의 지시된 좌표 세트를 지시된 좌표 세 트로 설정한다. 상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 조작 대상을 이동시킨다.
본 발명의 제 10 형태에 있어서, 상기 프로그램은 오브젝트 배치단계(S42, S51)를 추가로 상기 컴퓨터에 실행시키는 것이다. 오브젝트 배치단계는 하나 이상의 오브젝트(플레이어 오브젝트(81), 플레이어 카트(91))를 상기 가상 공간에 배치한다. 상기 제 1 이동단계는 가상 공간에 배치된 상기 하나 이상의 오브젝트 중 어느 하나를 조작 대상으로서 이동시킨다.
본 발명의 제 11 형태에 있어서, 상기 프로그램은, 하나 이상의 오브젝트를 가상 공간에 배치하는 오브젝트 배치단계(S42, S51), 상기 하나 이상의 오브젝트 중 어느 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 표시 영역 상의 위치에 표시되는지 여부를 판정하는 판정단계(S25), 및 상기 하나 이상의 오브젝트 중 하나가 상기 지시된 좌표 세트에 대응하는 위치에 표시된 것으로 판정되는 경우 상기 하나의 오브젝트를 조작 대상으로 설정하는 조작 대상 설정단계를, 상기 컴퓨터에 추가로 실행시키는 것이다. 상기 제 1 이동단계는 상기 조작 대상 설정단계에서 설정된 상기 하나의 오브젝트를 이동시킨다.
본 발명의 제 12 형태에 있어서, 상기 가상 공간은 가상의 3차원 공간이다. 이 경우, 상기 오브젝트 배치단계는 하나 이상의 3차원 오브젝트를 상기 가상의 3차원 공간에 배치한다. 상기 제 1 이동단계는 상기 하나 이상의 3차원 오브젝트 중 하나를 상기 가상 공간에서 소정의 3차원 방향으로 이동시킨다.
본 발명의 제 13 형태에 있어서, 상기 가상 공간은 가상의 3차원 공간이다. 이 경우, 상기 프로그램은 가상 카메라 설정단계(S51)와 조작 대상 설정단계를 상기 컴퓨터에 추가로 실행시킨다. 가상 카메라 설정단계는 상기 가상 공간에서 소정의 위치에 소정의 방향을 향하도록 설정한다. 조작 대상 설정단계는 상기 가상 카메라를 조작 대상으로 설정한다. 상기 제 1 이동단계는 가상 카메라를 조작 대상으로서 가상 공간에서 소정의 3차원 방향으로 이동시킨다. 상기 표시단계는 가상 카메라에서 본 가상 공간의 이미지를 표시 영역에 표시한다.
본 발명의 제 14 형태에 있어서, 상기 가상 공간은 가상의 3차원 공간이다. 이 경우, 상기 프로그램은 3차원 지시된 좌표 세트 설정단계(S46)를 상기 컴퓨터에 추가로 실행시킨다. 3차원 지시된 좌표 세트 설정단계는 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 가상 공간에서의 3차원 좌표 세트를 계산하고 상기 3차원 좌표 세트(제 2 실시예에서 대상 위치의 좌표 세트)를 3차원 지시된 좌표 세트로서 설정한다. 상기 제 1 이동단계는 상기 2차원 벡터와 상기 3차원 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시킨다.
본 발명의 제 15 형태에 있어서, 상기 제 1 이동단계는 상기 조작 대상을 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트의 위치를 향해 이동시킨다.
본 발명의 제 16 형태에 있어서, 상기 제 1 이동단계는 상기 조작 대상을 상기 3차원 지시된 좌표 세트 설정단계에서 계산된 상기 3차원 지시된 좌표 세트의 위치를 향해 이동시킨다.
본 발명의 제 17 형태에 있어서, 상기 가상 공간은 표시단계에서 표시 영역의 소정의 범위(윈도우)에 표시될 오브젝트(윈도우에서의 이미지; 예컨대, 제 1 실시예에서의 메뉴 이미지)를 포함한다. 상기 가상 공간은 예컨대 3차원적으로 구성된 게임 공간, 2차원 공간, 및 PC의 데스크탑 공간을 포함하는 개념을 갖는다. 이 경우, 상기 제 1 이동단계는 소정의 범위에 표시된 이미지가 소정의 방향으로 스크롤 되도록 상기 오브젝트의 표시 내용을 이동시킨다.
본 발명의 제 18 형태에 있어서, 상기 가상 공간은 표시단계에서 표시 영역의 소정의 범위(윈도우)에 표시될 오브젝트(윈도우에서의 이미지; 예컨대, 제 1 실시예에서의 메뉴 이미지)를 포함한다. 이 경우, 상기 프로그램은 조작 대상 설정단계(S25)를 추가로 상기 컴퓨터에 실행시킨다. 조작 대상 설정단계는 상기 지시된 좌표 세트가 상기 소정의 범위에 대응하는 범위에 포함되는지 여부를 판정하고, 상기 지시된 좌표 세트가 포함되는 경우, 상기 오브젝트를 조작 대상으로 설정한다. 상기 제 1 이동단계는 상기 소정의 범위에 표시된 이미지가 상기 소정의 방향으로 스크롤 되도록 상기 조작 대상 설정단계에서 설정된 오브젝트의 표시 내용을 이동시킨다.
본 발명의 제 19 형태에 있어서, 상기 가상 공간은 선택 가능한 아이템들을 나타내는 아이템 이미지로서 상기 표시단계에서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함한다. 이 경우, 상기 제 1 이동단계는 상기 선택 가능한 아이템들이 상기 소정의 방향으로 스크롤되어 상기 소정의 범위에 순차적으로 표시되도록, 상기 조작 대상 설정단계에서 설정된 상기 오브젝트의 표시 내용을 이동시킨 다. 상기 프로그램은, 상기 선택 가능한 아이템들 중 하나가 선택된 것을 보여주는 지시입력을 수용하는 선택입력 수용단계(S26)와, 상기 아이템 이미지 중 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트의 위치에 표시되는 시점에 상기 지시입력이 수용되는 경우, 상기 아이템 이미지들 중 상기 하나에 의해 표시된 상기 선택 가능한 아이템이 선택된 것으로 결정하는 아이템 결정단계(S27, S28)를 상기 컴퓨터에 추가로 실행시킨다.
본 발명의 제 20 형태에 있어서, 상기 조작 대상의 이동 경로는 미리 정해진다. 이 경우, 상기 제 1 이동단계는 상기 이동 경로를 따라 상기 조작 대상을 이동시킨다.
본 발명의 제 21 형태에 있어서, 상기 프로그램은, 상기 2차원 벡터의 방향과 소정의 기준 방향 사이의 차이를 각도 또는 벡터로서 계산하는 경사도 계산단계(S33, S44, S53)를 상기 컴퓨터에 추가로 실행시킨다. 상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이에 따라 상기 조작 대상을 이동시킨다.
본 발명의 제 22 형태에 있어서, 상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 상기 조작 대상의 이동량을 결정한다.
본 발명의 제 23 형태에 있어서, 상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 속도를 결정한다.
본 발명의 제 24 형태에 있어서, 상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 가속도를 결정한다.
본 발명의 제 25 형태에 있어서, 상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 상기 소정의 방향에서의 위치를 결정한다.
본 발명의 제 26 형태에 있어서, 상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값이 소정의 값을 초과할 때 상기 조작 대상을 이동시킨다.
본 발명의 제 27 형태에 있어서, 상기 조작 대상은 2개의 소정의 방향으로 이동 가능하다. 이 경우, 상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값과 소정의 기준값의 비교 결과에 따라 상기 조작 대상이 이동하는 방향을 상기 2개의 소정의 방향 중에서 결정한다.
본 발명의 제 28 형태에 있어서, 상기 정보처리장치는 상기 기준 방향을 저장하는 저장수단(메인 메모리(13))과, 이용자로부터 소정의 조작을 수용하는 조작 수용수단(컨트롤러(7)의 조작부(32))을 구비한다. 상기 프로그램은 소정의 조작이 조작 수용수단에 의해 수용되는 시점에 계산된 상기 2차원 벡터의 방향을 새로운 기준 방향으로 상기 저장수단에 저장하는 저장 제어단계(S41)를 상기 컴퓨터에 추가로 실행시킨다.
본 발명의 제 29 형태에 있어서, 정보처리장치는 저장수단(메인 메모리(13))을 포함한다. 상기 저장수단은 기준방향을 저장한다. 상기 프로그램은 저장 제어단계를 컴퓨터에 추가로 실행시킨다. 상기 저장 제어단계는 2차원 벡터가 새로 계산된 경우 이전에 계산된 상기 2차원 벡터의 방향을 저장수단에 기준방향으로 저장 한다.
본 발명의 제 30 형태에 있어서, 상기 조작장치는 자신의 경사도를 결정하는 경사도 결정수단(가속도 센서(37)를 포함한다)을 구비할 수 있다. 이 경우, 상기 프로그램은, 상기 벡터 계산단계에서 상기 획득 이미지로부터 벡터가 계산될 수 있는지 여부를 판정하는 판정단계와, 상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우 상기 경사도 결정수단에 의해 결정된 상기 조작장치의 경사도를 나타내는 경사도 데이터를 획득하는 경사도 획득단계, 및 상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우 상기 경사도 데이터에 의해 표시된 상기 경사도에 따라 소정의 방향으로 조작 대상을 이동시키는 제 2 이동단계를 상기 컴퓨터에 추가로 실행시킨다. 상기 벡터 계산단계는 상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우 상기 벡터를 계산하는 처리를 중지시킨다.
본 발명의 제 31 형태는, 이용자에 의해 조작 가능하고 소정의 이미지화 대상(마커(8a, 8b))의 이미지를 획득하는 이미지화 수단(이미지화 소자(40))을 포함하는 조작장치(컨트롤러(7)), 상기 조작장치에 통신 가능하게 연결된 정보처리장치(게임장치(3)), 및 상기 정보처리장치에 의해 실행된 처리에 의해 얻어진 결과를 표시하는 표시장치(모니터(2))를 구비하는 정보처리시스템에 관한 것이다. 상기 정보처리시스템은 상기 표시장치에 윈도우를 표시하는 표시 제어수단(단계 S4를 실행하는 CPU(10) 등; 이하 각 수단에 의해 실행되는 단계 번호만 표시된다), 상기 이미지화 수단에 의해 얻어진 획득 이미지에 포함된 상기 이미지화 대상의 이미지에서 2개의 소정의 포인트의 좌표 세트를 계산하는 제 1 계산수단(이미지 처리회 로(41), 상기 2개의 소정의 포인트의 상기 좌표 세트를 연결하는 2차원 벡터를 계산하는 제 2 계산수단(S16), 및 상기 2차원 벡터의 계산된 값과 이전에 계산된 2차원 벡터에 기초하여 회전량을 얻고 상기 회전량에 따라 상기 윈도우의 내용을 스크롤하는 제 1 이동수단(S3)을 포함한다.
본 발명의 제 32 형태는, 상기 표시 제어수단이 복수의 윈도우를 표시하는 기능을 갖고, 상기 시스템은, 상기 획득 이미지에서 상기 2개의 소정의 포인트의 좌표 세트 사이의 위치상의 관계에 기초하여 상기 표시장치의 상기 표시 영역 상의 한 포인트의 지시된 좌표 세트를 계산하는 지시된 좌표 세트 계산수단을 추가로 포함하며, 상기 제 1 이동수단은 상기 지시된 좌표 세트와 중첩하는 복수의 윈도우 중 하나를 검출하고 상기 회전량에 따라 상기 하나의 윈도우에서 내용을 스크롤 하는 것이다.
본 발명의 제 1 형태에 의하면, 2차원 벡터가 이미지화 대상의 이미지(획득된 이미지)로부터 벡터 계산단계에서 계산된다. 상기 2차원 벡터의 값은 상기 이미지 장치를 포함하는 조작장치의 회전 상태에 따라서 변한다. 따라서, 상기 2차원 벡터의 방향에 따라 움직이도록 조작 대상을 디스플레이함으로써, 조작 대상은 조작장치를 회전시키는 조작에 따라서 움직일 수 있다. 즉, 제 1 형태에 의하면, 이용자가 손에 잡은 조작장치를 회전시킴으로써 조작 대상을 움직일 수 있는 새로운 조작 방법이 제공된다. 또한 제 1 형태에 의하면, 상기 획득된 이미지는 조작장치로부터 얻어지고, 그러므로 상기 조작장치는 단지 이미지를 획득하는 기능만 필요하다. 이와 같이 조작장치의 구조는 단순화될 수 있다. 제 1 형태에 의하면, 이미지화 대상의 이미지에서 2개의 소정의 점들의 위치가 계산된다. 그러므로, 2차원적 벡터는 상기 2개의 점들의 위치를 사용하여 용이하게 계산될 수 있다.
제 3 형태에 의하면, 제 1 형태에서와 같이, 이용자가 손에 잡은 조작장치를 회전시킴으로써 상기 조작 대상을 움직일 수 있는 새로운 조작 방법이 제공된다. 또한 제 3 형태에 의하면, 이미지화 대상의 이미지에서 2개의 소정의 점들의 위치가 상기 조작장치에 의해 계산된다. 그러므로, 정보처리 장치는 상기 2개의 점들의 위치를 사용하여 용이하게 2차원 벡터를 계산할 수 있다. 그리하여, 상기 정보처리 장치의 컴퓨터의 처리 부하는 경감될 수 있다.
제 4 형태에 의하면, 제 1 형태에서와 같이, 이용자가 손에 잡은 조작장치를 회전시킴으로써 조작 대상을 움직일 수 있는 새로운 조작 방법이 제공된다. 또한 제 4 형태에 의하면, 2차원 벡터가 상기 조작 장치에 의해 계산된다. 그러므로 정보처리 장치는 2차원 벡터의 처리를 실행할 필요가 없다. 그리하여, 정보처리 장치의 컴퓨터의 처리 부하는 경감될 수 있다.
제 5 형태에 의하면, 디스플레이 영역 상의 한 위치가 상기 획득된 이미지의 이미지화 대상의 이미지의 위치로부터 지시된 좌표 세트 계산에서 계산된다. 그러므로, 이용자는 손에 잡고서 이용할 수 있는 조작장치를 가지고 상기 디스플레이 영역에 한 위치를 지정할 수 있다. 또한, 상기 조작 대상은 상기 이용자와 2차원 벡터에 의해 지정된 위치를 사용하여 이동된다. 그러므로, 좀더 복잡한 이동 조작이 이용자가 손에 잡고서 사용할 수 있는 조작장치를 가지고 가능하게 되며, 이용자는 상기 조작 대상의 움직임을 더욱 정밀하게 제어할 수 있다.
제 6 형태에 의하면, 디스플레이 영역 상의 한 위치가 상기 획득된 이미지의 이미지화 대상의 이미지의 위치로부터 지시된 좌표 세트 계산단계에서 계산된다. 그러므로, 이용자는 손에 잡고 사용할 수 있는 조작장치를 가지고 디스플레이 영역 상에 한 위치를 지정할 수 있다. 또한, 상기 조작 대상은 이용자와 2차원 벡터에 의해 지정된 위치를 사용하여 이동된다. 그러므로, 더욱 복잡한 이동 조작이 이용자가 손에 잡고 사용할 수 있는 조작장치를 가지고 가능하게 되며, 이용자는 조작 대상의 움직임을 더욱 정밀하게 제어할 수 있다.
제 7 형태에 의하면, 지시된 좌표 세트 계산단계에서 상기 획득된 이미지의 이미지화 대상의 이미지의 위치로부터 디스플레이 상의 한 위치가 계산된다. 그러므로, 이용자는 손에 잡고서 사용할 수 있는 조작장치를 가지고 디스플레이 영역 상에 한 위치를 지정할 수 있다. 또한, 상기 조작 대상은 이용자와 2차원 벡터에 의해 지정된 상기 위치를 사용하여 움직인다. 그러므로, 더욱 복잡한 이동 조작이 이용자가 손에 잡고 사용할 수 있는 조작장치를 가지고 가능하게 되며, 이용자는 조작 대상의 움직임을 더욱 정밀하게 제어할 수 있다.
상기 획득된 이미지에서 이미지화 대상의 이미지의 위치는 조작장치의 회전 상태에 따라서 다르다(도 23 참조). 즉, 조작장치가 한 위치를 지시하더라도, 이미지화 대상의 이미지의 위치는 조작장치의 회전 상태에 따라 다를 수 있다. 이 경우, 조작장치에 의해 지시된 위치(즉, 지시된 좌표 세트 계산단계에서 계산되는 지시된 좌표 세트의 위치)는 이미지화 대상의 이미지의 위치로부터 정확하게 계산될 수 없다. 이와 달리, 제 8 형태에 의하면, 이미지화 대상의 이미지의 위치는, 이미지화 수단에 의해 획득된 이미지가 하나의 특정 방향이 되도록 회전되는 경우에, 계산된다. 그러므로, 조작장치의 회전 상태의 영향이 제거될 수 있고, 디스플레이 스크린상의 또는 가상 공간에서의 위치는 상기 획득된 이미지의 위치로부터 상기 지시된 좌표 세트 계산단계에서 정확하게 계산될 수 있다.
제 9 형태에 의하면, 디스플레이 영역 상의 한 위치가 상기 획득된 이미지에서 이미지화 대상의 이미지의 위치로부터 상기 지시된 좌표 세트 계산단계에서 계산된다. 그러므로, 이용자는 손에 잡고 사용할 수 있는 조작장치를 가지고 디스플레이 상에 한 위치를 지정할 수 있다. 또한, 상기 조작 대상은 이용자와 2차원 벡터에 의해 지정된 위치를 사용하여 이동된다. 그러므로, 더욱 복잡한 이동 조작이 이용자가 손에 잡고 사용할 수 있는 조작장치를 가지고 가능하게 되며, 이용자는 조작 대상의 이동을 더욱 정밀하게 제어할 수 있다.
제 10 형태에 의하면, 이용자는 조작장치 자체를 회전시키는 새로운 조작에 의해 가상의 3차원 공간에 있는 듯한 오브젝트를 움직일 수 있다.
제 11 형태에 의하면, 지시된 좌표 세트 계산단계에서 계산된 지시된 좌표 세트에 대응하는 디스플레이 영역 상의 위치에 표시된 오브젝트는 조작 대상으로서 설정된다. 그러므로, 이용자는 상기 조작장치를 사용하여 디스플레이 스크린에 표시된 오브젝트를 지정하는 조작을 수행할 수 있다. 또한, 이용자는 조작장치를 사용하여 지정된 대상을 움직일 수 있다. 이와 같이, 이용자는 2가지 형태의 지시 즉, 조작 대상으로서 상기 오브젝트의 선택에 관한 지시와 선택된 오브젝트를 한가지 형태의 조작 즉, 상기 조작장치를 손에 잡고 있는 동안 조작장치의 상태에 대한 조작에 의해 이동시키는 지시를 발생한다.
제 12 형태에 의하면, 가상의 3차원 공간에 있는 오브젝트는 조작장치 자체를 회전시키는 새로운 조작에 의해 이동될 수 있다.
제 13 형태에 의하면, 제 1 이동단계에서 가상 카메라를 이동시킴으로써, 디스플레이 상에 표시된 가상 공간의 이미지에 대한 시선 위치 또는 보는 방향이 변할 수 있다. 이용자는 조작장치 자체의 회전시키는 새로운 조작을 사용하여 디스플레이 스크린에 표시된 가상 공간의 이미지에 대한 주목하는 점 또는 시선 방향의 위치를 변경할 수 있다.
제 14 형태에 의하면, 가상 3차원 공간에 존재하는 오브젝트가 상기 조작장치 자체를 회전시키는 새로운 조작에 의해 움직일 수 있다.
제 15 형태에 의하면, 상기 조작 대상은 지시된 좌표 세트에 의해 표현되는 디스플레이 스크린상의 위치로 이동된다. 이와 같이, 이용자는 디스플레이 스크린상에 한 위치를 지정하고 조작 대상을 조작장치를 사용하여 상기 지정된 위치로 이동시킬 수 있다. 이와 같이, 이용자는 조작장치를 사용하여 조작 대상을 단지 이동시키는 것에 대응하여, 원하는 위치를 지정하고 상기 조작장치를 사용하여 조작 대상을 상기 지정된 위치로 이동시킬 수 있다. 또한, 이용자는 한 가지 형태의 조작, 즉 하나의 조작장치의 자세에 대한 조작으로 2가지 형태의 지시를 생성할 수 있는데, 하나는 이동을 실행하는 것이고 다른 하나는 조작 대상을 이동시킬 위치를 지정하는 것이다.
제 16 형태에 의하면, 조작 대상은 지시된 좌표 세트에 의해 표현되는 가상 공간의 위치로 이동된다. 이와 같이, 이용자는 가상 공간의 한 위치를 지정하고 조작 대상을 조작 장치를 사용하여 상기 지정된 위치로 이동시킬 수 있다. 이와 같이, 이용자는 조작장치를 사용하여 조작 대상을 단지 이동시키는 것에 대응하여, 원하는 위치를 지정하고 상기 조작장치를 사용하여 조작 대상을 상기 지정된 위치로 이동시킬 수 있다. 그러므로, 이용자는 조작 대상의 움직임을 더욱 정밀하게 제어할 수 있다. 또한, 이용자는 한 가지 형태의 조작, 즉 하나의 조작장치의 자세에 대한 조작으로 2가지 형태의 지시를 생성할 수 있는데, 하나는 이동을 실행하는 것이고 다른 하나는 조작 대상을 이동시킬 위치를 지정하는 것이다.
제 17 형태에 의하면, 소정의 범위에 표시된 이미지를 스크롤하는 조작이 조작장치 자체를 회전키시는 새로운 조작에 의해 실행될 수 있다.
제 18 형태에 의하면, 상기 지시된 좌표 세트에 의해 표현된 위치에 있는 소정의 범위의 오브젝트가 조작 대상으로서 설정된다. 이와 같이, 이용자는 디스플레이 영역에 표시된 오브젝트를 지정하는 조작을 조작장치를 사용하여 수행할 수 있다. 또한, 이용자는 조작장치를 사용하여 상기 지정된 오브젝트를 스크롤할 수 있다. 그러므로, 이용자는 조작장치를 자신의 손에 잡은 상태에서 한 가지 형태의 조작, 즉 하나의 조작장치의 자세에 대한 조작으로, 두 가지 형태의 지시, 즉 조작 대상으로서 상기 오브젝트를 선택하는 것에 대한 지시와 상기 선택된 오브젝트를 스크롤하는 지시를 할 수 있다.
제 19 형태에 의하면, 이용자는 디스플레이 영역에 표시된 아이템을 선택하는 조작을 조작장치를 사용하여 수행할 수 있다. 또한, 이용자는 소정의 영역에 이미지를 조작장치를 사용하여 스크롤 할 수 있다. 그러므로, 이용자는, 한 가지 형태의 조작, 즉 하나의 조작장치의 자세에 대한 조작으로, 조작 대상으로서 상기 오브젝트를 선택하는 것에 관한 지시, 상기 선택된 오브젝트를 스크롤 하는 지시, 및 소정의 영역에 표시된 아이템을 선택하는 지시를 생성할 수 있다.
제 20 형태에 의하면, 조작 대상은 조작장치 자체를 회전시키는 조작에 의해 이동경로를 따라 이동될 수 있다. 상기 이동 경로를 자유롭게 설정함으로써 상기 조작 대상은 자유롭게 이동될 수 있다.
제 21 형태에 의하면, 조작 대상은 2차원 벡터의 방향과 기준 방향 사이의 차이에 따라서 이동된다. 이 차이는 상기 조작장치가 회전되는 정도에 따라 변한다. 그러므로, 상기 조작 대상의 이동하는 방식은 조작 장치가 회전되는 정도에 의해 변경될 수 있다.
제 22 형태에 의하면, 조작 대상의 이동량이 상술한 차이에 기초하여 결정된다. 그러므로, 이용자는 조작 장치가 회전되는 정도를 변경함으로써 조작 대상의 이동량을 변경할 수 있다. 이와 같이, 이용자는 상기 조작 대상의 이동량을 직관적으로 그리고 용이하게 제어할 수 있다.
제 23 형태에 의하면, 조작 대상의 속도가 상술한 차이에 기초하여 결정된다. 그러므로, 이용자는 조작 장치가 회전되는 정도를 변경함으로써 조작 대상의 속도를 변경할 수 있다. 이와 같이, 이용자는 조작 대상의 속도를 직관적으로 그리고 용이하게 제어할 수 있다.
제 24 형태에 의하면, 조작 대상의 가속도가 상술한 차이에 기초하여 결정된 다. 그러므로, 이용자는 조작 장치가 회전되는 정도를 변경함으로써 조작 대상의 가속도를 변경할 수 있다. 이와 같이, 이용자는 조작 대상의 가속도를 직관적으로 그리고 용이하게 제어할 수 있다.
제 25 형태에 의하면, 조작 대상의 위치가 상술한 차이에 기초하여 결정된다. 그러므로, 이용자는 상기 조작장치가 회전되는 정도를 변경함으로써 조작 대상의 위치를 변경할 수 있다. 이와 같이, 이용자는 직관적으로 그리고 용이하게 조작 대상의 위치를 제어할 수 있다.
만일 조작 대상이 조작장치의 회전각에 대해 너무 민감하게 반응한 결과로서 이동되면, 이용자는 조작장치를 정밀하게 조작하는 것이 요구되고, 이는 조작장치의 조작성을 저하시킨다. 이에 반해, 제 26 형태에 의하면, 조작 대상은 상술한 차이가 소정의 범위를 초과하지 않는다면 이동되지 않는다. 그러므로, 소위 "플레이" 마진이 소작장치의 회전 조작에 설정될 수 있다. 이와 같이, 조작장치의 조작성이 향상될 수 있다.
제 27 형태에 의하면, 조작 대상이 이동되는 방향은 상술한 차이와 소정의 기준값 중 어느 것이 더 큰가에 따라 다르다. 그러므로, 이용자는 조작장치가 회전되는 방향을 변경함으로써 조작 대상의 이동 방향을 변경시킬 수 있다.
제 28 형태에 의하면, 기준 방향은 이용자가 소정의 조작을 실행함으로써 갱신된다. 이용자는 기준 방향을 자유롭게 설정할 수 있으며, 따라서 용이하게 이용할 수 있도록 조작장치의 설정을 변경할 수 있다.
제 29 형태에 의하면, 조작 대상은 미리 계산된 2차원 벡터의 방향과 현재 계산된 2차원 벡터의 방향 사이의 차이에 따라 이동된다. 그러므로, 조작 대상은 조작 대상의 상대적인 회전각에 의해 이동될 수 있다.
제 30 형태에 의하면, 이미지화 수단이 이미지화 대상의 이미지를 획득할 수 있는 범위(나중에 설명되는 조작 범위)를 초과하는 상태에서 이용자에 의해 유지될 때, 조작 대상은 경사 결정 수단에 의해 결정된 경사에 따라 회전된다. 그러므로, 이용자가 조작장치를 이동하는 동작 중에 동작범위를 초과하더라도, 조작 대상의 회전은 계속될 수 있다.
제 31 형태에 의하면, 2차원 벡터가 제 2 계산단계에서 이미지화 대상의 이미지(획득된 이미지)로부터 계산된다. 2차원 벡터의 값은 이미지화 장치를 포함하는 조작장치의 회전상태에 따라 변한다. 정보처리 장치는 2차원 벡터에 기초하여 얻어진 회전량에 따라 윈도우에서 컨텐츠를 스크롤한다. 그러므로, 이용자는 조작장치를 회전시키는 조작에 따라 조작 대상을 움직일 수 있다. 즉, 제 31 형태에 의하면, 이용자가 자신이 소지한 조작장치 자체를 회전시킴으로써 윈도우를 스크롤할 수 있는 새로운 조작방법이 제공된다.
제 32 형태에 의하면, 지시된 좌표 세트에 의해 표현된 위치의 윈도우는 스크롤링하는 대상이다. 그러므로, 이용자는 조작장치를 사용하여 윈도우를 지정하는 조작을 실행할 수 있다. 또한, 이용자는 조작장치를 사용하여 지정된 오브젝트를 스크롤 할 수 있다. 따라서, 이용자는 한 가지 형태의 조작, 즉 하나의 조작장치를 소지한 상태에서 상기 조작장치의 자세에 대한 조작으로, 조작 대상으로서 윈도우를 선택하는 것에 대한 지시와 상기 선택된 윈도우를 스크롤하는 지시를 생성 할 수 있다.
도 1을 참조하여, 본 발명의 일 실시예에 따른 정보처리 시스템의 한 예로서 게임시스템(1)이 설명될 것이다. 도 1은 게임시스템(1)의 외형도이다. 다음의 실시예의 설명에서, 본 발명에 따른 게임시스템(1)은 설치형이다.
도 1에 도시된 바와 같이, 게임시스템(1)은, 스피커(22)를 포함하는 가정용 TV 수신기와 같은 디스플레이 장치(이하, "모니터"라고 함)에 연결 코드를 통해 연결되는 설치형 게임장치(이하, 간단히 "게임장치"라고 함)(3), 및 조작 데이터를 게임장치(3)에 제공하는 컨트롤러(7)를 포함한다. 2개의 마커(8a, 8b)가 모니터(2)(도 1에서 모니터(2)의 스크린 상단에)의 근처에 제공된다. 마커(8a, 8b)는 구체적으로는 적외선 LED이고, 각각은 적외광을 포함하는 광을 모니터(2)로부터 전방으로 출력한다. 게임장치(3)는 연결 단자를 통해 수신유닛(6)에 연결된다. 수신유닛(6)은 컨트롤러(7)로부터 무선으로 전송되는 조작 데이터를 수신한다. 컨트롤러(7)와 게임장치(3)는 무선 통신에 의해 서로 연결된다. 게임장치(3)에, 광디스크(4)가 교환가능한 정보 저장매체의 예로서 착탈 가능하게 설치된다. 게임장치(3)는 그 상부 주 표면에 파워 온/오프 스위치, 게임 처리 리셋 스위치, 및 게임장치(3)의 상부 뚜껑을 개방하는 개방 스위치를 갖는다. 플레이어가 개방 스위치를 누르면, 상기 뚜껑이 열리고, 따라서 광디스크(4)가 탑재되거나 제거된다. 게임장치(3)에는, 외부 메모리 카드(5)가 필요 시 탈착 가능하게 장착된다. 외부 메모리 카드(5)는 세이브(saved) 데이터 등을 고정적으로 저장하기 위해 장착된 백업 메모리 등을 갖는다. 게임장치(3)는 광디스크(4)에 저장된 게임 프로그램 등을 실행하고 그 결과를 게임 이미지로서 모니터(2)에 표시한다. 게임장치(3)는 또한 과거에 실행한 게임의 상태를 메모리 카드(5)에 저장된 세이브 데이터를 사용하여 재생하고 그 게임 이미지를 모니터(2)에 표시한다. 게임장치(3)를 가지고 플레이하는 플레이어는 모니터(2)의 디스플레이 스크린에 표시된 게임 이미지를 보면서 컨트롤러(7)를 조작함으로써 게임을 즐길 수 있다.
컨트롤러(7)는 이에 포함된 통신부(36)로부터 수신유닛(6)에 연결된 게임장치(3)로 블루투스(등록상표임)와 같은 기술을 사용하여 무선으로 조작 데이터를 전송한다. 컨트롤러(7)는 조작 대상(모니터(2)의 디스플레이 스크린 또는 가상 카메라에 표시된 오브젝트)을 조작하는 조작 수단이다. 컨트롤러(7)는 다수의 조작 버튼을 갖는 조작부를 포함한다. 나중에 상세히 설명되는 바와 같이, 컨트롤러(7)는 또한 컨트롤러(7)에서 본 이미지를 취하는 이미지화 정보 계산부(35)를 포함한다. 이미지화 정보 계산부(35)는 모니터(2)의 근처에 위치한 마커(8a, 8b) 각각의 이미지를 취한다. 게임장치(3)는 컨트롤러(7)의 위치 및 자세에 대응하는 조작 신호를 얻기 위해 이들 이미지를 사용한다.
도 2를 참조하여, 게임장치(3)의 구조가 설명된다. 도 2는 게임장치(3)의 기능 블록도이다.
도 2에 도시된 바와 같이, 게임장치(3)는 예컨대 다양한 형태의 프로그램을 실행하는 RISC CPU(Central Processing Unit)(10)를 포함한다. CPU(10)는 예컨대 메인 메모리(13)를 포함한 메모리를 초기화하기 위해 부트 ROM(도시되지 않음)에 저장된 시작 프로그램을 실행한 후, 게임 프로그램에 따라 게임 처리 등을 수행하기 위해 광디스크(4)에 저장된 게임 프로그램을 실행한다. CPU(10)는 메모리 컨트롤러(11)를 통해 GPU(Graphical Processing Unit)(12), 메인 메모리(13), DSP(Digital Signal Processor)(14), 및 ARAM(Audio RAM)(15)에 연결된다. 메모리 컨트롤러(11)는 소정의 버스를 통해 컨트롤러 I/F(interface)(16), 비디오 I/F(17), 외부 메모리 I/F(18), 오디오 I/F(19), 및 디스크 I/F(21)에 연결된다. 컨트롤러 I/F(16), 비디오 I/F(17), 외부 메모리 I/F(18), 오디오 I/F(19), 및 디스크 I/F(21)는 각각 수신유닛(6), 모니터(2), 외부 메모리 카드(5), 스피커(22) 및 디스크 드라이브(20)에 연결된다.
GPU(12)는 CPU(10)로부터의 지시에 기초하여 이미지 처리를 수행한다. GPU(12)는 예컨대 3D 그래픽을 표시하기 위해 필요한 연산 처리를 수행하는 반도체 칩을 포함한다. GPU(12)는 이미지 처리 전용의 메모리와 메인 메모리(13)의 저장 영역의 일부를 사용하여 이미지 처리를 수행한다. GPU(12)는 모니터(2)의 디스플레이 스크린에 표시될 게임 이미지 데이터와 무비(movie)를 이와 같은 메모리를 사용하여 생성하고, 생성된 데이터 또는 무비를 필요에 따라 메모리 컨트롤러(11)와 비디오 I/F(17)를 통해 모니터(2)에 출력한다.
메인 메모리(13)는 CPU(10)에 의해 사용되는 저장 영역이고, 필요에 따라 CPU(10)에 의해 수행되는 처리를 위해 필요한 게임 프로그램 등을 저장한다. 예를 들면, 메인 메모리(13)는 CPU(10)에 의해 광디스크(4)로부터 읽혀진 게임 프로그램, 다양한 형태의 데이터 등을 저장한다. 메인 메모리(13)에 저장된 게임 프로그 램, 다양한 형태의 데이터 등은 CPU(10)에 의해 실행된다.
DSP(14)는 상기 게임 프로그램 실행 중 CPU(10)에 의해 생성된 사운드 데이터 등을 처리한다. DSP(14)는 상기 사운드 데이터 등을 저장하기 위해 ARAM(15)에 연결된다. ARAM(15)는 소정의 처리(예컨대, 이미 읽혀진 게임 프로그램 또는 사운드 데이터의 저장)를 수행할 때 사용된다. DSP(14)는 상기 ARAM(15)에 저장된 사운드 데이터를 판독하여 모니터(2)에 포함된 스피커(22)에 메모리 컨트롤러(11)와 오디오 I/F(19)를 통해 출력한다.
메모리 컨트롤러(11)는 데이터 전달을 포괄적으로 제어하며, 상술한 다양한 I/F에 연결된다. 컨트롤러 I/F(16)는 예컨대 4개의 컨트롤러 I/F를 포함하고, 게임장치(3)를 컨트롤러 I/F의 커넥터를 통해 연결할 수 있는 외부 장치에 통신 가능하게 접속한다. 예컨대, 수신유닛(6)은 이와 같은 커넥터를 가지고 연결되며 컨트롤러 I/F(16)를 통해 게임장치(3)에 접속된다. 상술한 바와 같이, 수신유닛(6)은 컨트롤러(7)로부터 조작 데이터를 수신하고 이 데이터를 컨트롤러 I/F(16)를 경유하여 CPU(10)에 출력한다. 다른 실시예에서, 게임장치(3)는 수신유닛(6) 대신에 컨트롤러(7)로부터 전송된 조작 데이터를 수신하는 수신 모듈을 포함할 수 있다. 이 경우, 상기 수신 모듈에 의해 수신된 조작 데이터는 소정의 버스를 통해 CPU(10)에 출력된다. 비디오 I/F(17)는 모니터(2)에 연결된다. 외부 메모리 I/F(18)는 외부 메모리 카드(5)에 연결되고 외부 카드(5)에 제공된 백업 메모리 등에 액세스 가능하다. 오디오 I/F(19)는 모니터(2)에 내장된 스피커(22)에 연결되고, DSP(14)에 의해 ARAM(15)으로부터 판독된 사운드 데이터 또는 디스크 드라이 브(20)로부터 직접 출력된 사운드 데이터가 스피커(22)로부터 출력되도록 연결된다. 디스크 드라이브(20)는 광디스크(4)의 소정의 판독 위치에 저장된 데이터를 판독하여 게임장치(3)의 버스 또는 오디오 I/F(19)에 상기 데이터를 출력한다.
도 3a 내지 도 7을 참조하여, 컨트롤러(7)가 설명된다. 도 3a 내지 도 5b는 컨트롤러의 등축 외형 사시도이다. 도 3a는 컨트롤러(7)를 위에서 본 등축 사시도이다. 도 3b는 컨트롤러(7)를 아래에서 본 등축 사시도이다. 도 4는 컨트롤러(7)의 정면도이다.
도 3a, 도 3b, 및 도 4에서 보는 바와 같이, 컨트롤러(7)는 플라스틱 성형 등에 의해 형성된 하우징(31)을 포함한다. 상기 하우징(31)은 일반적으로 길이 방향 또는 전후 방향(도 3a에서 Z-축 방향)으로 연장하는 평행 6면체 모양을 갖는다. 하우징(31)의 전체 크기는 어른 또는 심지어 아이의 손에 잡힐 정도로 충분히 작다. 플레이어는 그 위에 설치된 버튼을 누르는 게임 조작을 수행하고 또한 컨트롤러(7) 자체의 위치나 방향을 변경시키는 게임 조작을 수행하기 위해 컨트롤러(7)를 사용할 수 있다. 예를 들면, 플레이어는 조작 대상을 움직이기 위해 컨트롤러(7)를 그 길이 방향을 축으로 하여 회전시킬 수 있다. 상기 플레이어는 예들 들어 상기 조작 대상을 변경-후 위치로 이동시키기 위해 디스플레이 스크린에 컨트롤러에 의해 지시된 위치를 변경할 수 있다. "컨트롤러(7)에 의해 디스플레이 스크린에 지시된 위치"는 컨트롤러(7)의 전단으로부터 길이 방향으로 연장하는 가상의 직선이 모니터(2)의 디스플레이 스크린을 교차하는 위치를 가리킨다. 이하에서, 이와 같은 위치는 때때로 "지시된 위치(indicated position)" 또는 "컨트롤러(7)에 의해 지시된 위치"라고 할 것이다. 컨트롤러(7)(하우징(31))의 길이 방향은 때때로 "지시된 방향(indicated direction)"이라고 지칭될 것이다.
하우징(31)은 다수의 조작 버튼을 갖는다. 하우징(31)의 상부에는 십자형 키(32a), X 버튼(32b), Y 버튼(32c), B 버튼(32d), 선택 스위치(32e), 메뉴 스위치(32f), 및 시작 스위치(32g)가 제공된다. 하우징(31)의 바닥 표면에는, 오목한 부분이 형성된다. 상기 오목부의 후면 경사면에는, A 버튼(32i)이 제공된다. 이들 버튼과 스위치들은 게임장치(3)에 의해 실행되는 게임 프로그램에 따라 다양한 기능이 부여되지만, 이에 대해서는 상기 기능들이 본 발명과 직접적인 관련이 없기 때문에 상세히 설명되지는 않을 것이다. 하우징(31)의 상부 표면에는, 게임장치(3)를 원격으로 온오프 전환하는 파워 스위치(32h)가 제공된다.
컨트롤러(7)는 이미지화 정보 계산부(35)를 구비한다(도 5b 참조). 도 4에 도시된 바와 같이, 이미지화 정보 계산부(35)의 광입사 개구(35a)가 하우징(31)의 전면에 제공된다. 하우징(31)의 후면에는, 커넥터(33)가 제공된다. 커넥터(33)는 예를 들면 32핀 에지 커넥터이고, 컨트롤러(7)를 다른 장치에 연결하는데 사용된다. 하우징(31)의 상부 표면의 하단부에는, 복수의 LED(34)가 제공된다. 컨트롤러(7)는 다른 컨트롤러(7)들과 구별되도록 컨트롤러 유형(번호)이 부여된다. 상기 LED(34)들은 플레이어에게 사용할 컨트롤러(7)에 현재 설정된 컨트롤러 유형을 알려준다. 구체적으로는, 컨트롤러(7)가 조작 데이터를 게임장치(3)에 전송할 때, 상기 컨트롤러 유형에 대응하는 복수의 LED(34) 중 하나가 발광된다.
도 5a, 도 5b 및 도 6을 참조하여, 컨트롤러(7)의 내부 구조가 설명된다. 도 5a와 도 5b는 컨트롤러(7)의 내부구조를 도시한다. 도 5a는 컨트롤러(7)의 상부 케이스(하우징(31)의 일부)가 제거된 상태를 도시하는 등축 사시도이다. 도 5b는 컨트롤러(7)의 하부 케이스(하우징(31)의 일부)가 제거된 상태를 도시하는 등축 사시도이다. 도 5b는 도 5a에 도시된 기판(300)의 반대 면을 도시한다.
도 5a에 도시된 바와 같이, 기판(300)은 하우징(31) 내에 고정된다. 기판의 상부 메인 표면에는, 조작 버튼(32a - 32h), 가속도 센서(37), LED(34), 수정 발진자(46), 무선 모듈(44), 안테나(45) 등이 제공된다. 이들 소자들은 기판(300) 등에 형성된 선들(도시되지 않음)을 통해 마이컴(42)에 연결된다. 무선 모듈(44)과 안테나(45)는 컨트롤러(7)가 무선 컨트롤러로서 작동하도록 허용한다. 수정 발진자(46)는 나중에 설명되는 마이컴(42)의 기준 클럭을 생성한다.
도 5b에 도시된 바와 같이, 기판의 하부 메인 표면의 전단에는 이미지화 정보 계산부(35)가 제공된다. 이미지화 정보 계산부(35)는 적외선 필터(38), 렌즈(39), 이미지화 소자(40) 및 이미지 처리 회로(41)가 컨트롤러(7)의 전면으로부터 순서대로 배치되어 있다. 이들 소자들은 기판의 하부 메인 표면에 부착된다. 기판(300)의 하부 메인 표면의 후단에는, 커넥터(33)가 부착된다. 조작 버튼(32i)이 기판(300)의 하부 메인 표면에 이미지화 정보 계산부(35)의 후방으로 부착되고, 전지(47)가 조작 버튼(32i)에 대해 후방에 수용된다. 전지(47)와 커넥터(33) 사이의 기판(300)의 하부 메인 표면에는, 바이브레이터(48)가 부착된다. 바이브레이터(48)는 예컨대 바이브레이션 모터나 솔레노이드이다. 컨트롤러(7)는 바이브레이터(48)의 작동에 의해 진동하고, 상기 진동은 컨트롤러(7)를 잡고 있는 플레이어에 게 전달된다. 그리하여, 소위 진동-반응 게임이 구현된다.
도 6은 컨트롤러(7)의 구조를 도시하는 블럭도이다. 컨트롤러(7)는 상술한 조작부(32)(조작 버튼들)와 이미지화 정보 계산부(35)에 추가하여 통신부(36)와 가속도 센서부(37)를 포함한다.
이미지화 정보 계산부(35)는 이미지화 수단에 의해 획득된 이미지 데이터를 분석하여, 상기 이미지 데이터에서 높은 밝기를 갖는 영역의 중력 중심의 위치, 크기 등을 검출하는 시스템이다. 이미지화 정보 계산부(35)는 예를 들면 최대 약 200 프레임/초의 샘플링 주기를 갖고, 따라서 컨트롤러(7)의 상대적으로 빠른 모션도 추적 및 분석할 수 있다.
구체적으로는, 이미지화 정보 계산부(35)는 적외선 필터(38), 렌즈(39), 이미지화 소자(40) 및 이미지 처리 회로(41)를 포함한다. 적외선 필터(38)는 컨트롤러(7)의 전면에 입사하는 광 중에서 오직 적외광만 통과시킨다. 모니터(2)의 디스플레이 스크린 근처에 위치한 마커(8a, 8b)는 모니터(2)로부터 전방으로 적외광을 출력하는 적외선 LED들이다. 그러므로, 적외선 필터(38)의 제공은 각 마커(8a, 8b)의 이미지가 더욱 정밀하게 획득되도록 한다. 렌즈(39)는 적외선 필터(38)를 통과한 적외광을 집속하여 이미지화 소자(40)에 출력한다. 상기 이미지화 소자(40)는 예컨대 CMOS 센서 또는 CCD와 같은 고체상태 이미지화 장치이다. 이미지화 소자(40)는 렌즈(39)에 의해 집속된 상기 적외광의 이미지를 얻는다. 따라서, 이미지화 소자(40)는 적외선 필터(38)를 통과한 적외광만의 이미지를 얻어서 이미지 데이터를 생성한다. 이후에는, 상기 이미지화 소자(40)에 의해 얻어진 이미지 가 "획득 이미지"로 지칭될 것이다. 이미지화 소자(40)에 의해 생성된 이미지 데이터는 이미지 처리 회로(41)에 의해 처리된다. 이미지 처리 회로(41)는 상기 획득된 이미지에서 이미지화 대상(마커(8a, 8b))의 위치들을 계산하고, 상기 획득 이미지에서 마커(8a, 8b)의 각 위치를 지시하는 좌표 세트를 통신부(36)에 출력한다. 이미지 처리 회로(41)에 의해 실행된 상기 처리는 나중에 상세히 설명될 것이다.
가속도 센서(37)는 컨트롤러(7)의 3축 방향에서 즉, 상하 방향(도 3a에서 Y축 방향), 좌우 방향(도 3a에서 X축 방향), 및 전후 방향(도 3a에서 Z축 방향)에서 가속도를 검출한다. 가속도 센서(37)는 X축, Y축, 및 Z축에서 컨트롤러(7)의 경사가 결정되도록 한다. 게임장치(3)는 상기한 획득 이미지 외에 또한 가속도 센서(37)에 의해서 Z축 주위로의 컨트롤러(7)의 회전각을 결정할 수도 있다. 가속도 센서(37)에 의해 검출된 가속도를 표현하는 데이터는 통신부(36)에 출력된다.
상술한 바와 같이, 컨트롤러(7)는 바람직하게는 3개의 각 축 방향에서 선형 가속도를 검출하는 선형 가속도 센서(37)를 포함하는 것이다. 또는, X축과 Y축(또는 다른 축들의 쌍) 각각에 따라서 선형 가속도만을 검출하는 2축 선형 가속도계가 원하는 제어신호의 유형에 따라 다른 실시예에서 사용될 수 있다. 비 제한적인 예로서, 3축 또는 2축 선형 가속도계(37)는 Analog Devices, Inc. 나 STMicroelectronics N.V. 사로부터 이용 가능한 유형이다. 바람직한 것은, 가속도 센서(37)는 실리콘 마이크로-가공 MEMS(microelectromechanical systems) 기술에 기초한 정전 용량 또는 용량-결합형이다. 그러나, 현재 존재하거나 향후 개발되는 어떤 다른 적당한 가속도계 기술(예컨대, 압전형(piezoelectric type) 또는 압저항 형(piezoresistance type)이 3축 또는 2축 가속도 센서(37)를 제공하기 위해 사용될 수 있다.
당업자가 이해하는 바와 같이, 선형 가속도계는, 가속도 센서(37)에 사용될 때, 오직 가속도 센서의 각 축에 대응하는 직선을 따라 가속도를 검출할 수 있다. 다시 말해서, 가속도 센서(37)의 직접 출력은 상기 2개 또는 3개의 축 각각을 따르는 선형 가속도(정적 또는 동적)를 지시하는 신호에 제한된다. 결과적으로, 가속도 센서(37)는 비-직선(활모양의) 경로, 회전, 회전 운동, 각도 변위, 틸트, 위치, 자세, 또는 다른 물리적인 특성에 따르는 운동을 직접 검출할 수 없다.
그러나, 당업자가 본 명세서로부터 용이하게 이해할 수 있는 바와 같이, 가속도 센서(37)로부터 출력된 선형 가속 신호의 추가적인 처리를 통해, 컨트롤러(7)에 관련된 부가적인 정보가 추론되거나 계산될 수 있다. 예를 들면, 정적 선형 가속도(즉, 중력)를 검출함으로써, 가속도 센서(37)의 선형 가속도 출력은 틸트 각도와 검출된 선형 가속도를 상호 관련시켜 중력 벡터에 대한 오브젝트의 틸트 또는 경사를 추론하거나 계산하는데 사용될 수 있다. 이 방식으로, 가속도 센서(37)는 컨트롤러(7)의 틸트, 자세 또는 위치를 결정하기 위해 마이컴(42)(또는 다른 프로세서)과 조합하여 사용될 수 있다. 마찬가지로, 컨트롤러(7)의 다양한 움직임 및/또는 위치들은 가속도 센서(37)를 포함하는 컨트롤러(7)가 예컨대 이용자의 손에 의해 동적 가속되는 경향이 있을 때 가속도 센서(37)에 의해 생성된 선형 가속 신호의 처리를 통해 계산되거나 추론될 수 있다. 다른 실시예에서, 가속도 센서(37)는 신호를 마이컴(42)에 출력하기 전에 가속도계로부터 출력되는 가속도 신호들에 대한 원하는 처리를 수행하기 위한 합체된 신호 처리기 또는 다른 유형의 전용 처리기를 포함할 수 있다. 예를 들면, 상기 합체된 또는 전용 처리기는 상기 검출된 가속도 신호를 상기 가속도 센서가 정적 가속도(즉, 중력)를 검출하려고 할 때 대응하는 틸트 각도로 변환할 수 있다.
또 다른 예시적인 실시예에서, 가속도 센서(37)는 예컨대 회전 또는 진동 소자를 병합하는 어떤 적당한 기술을 적용한 자이로-센서(gyro-sensor)로 대체될 수 있다. 본 실시예에서 사용될 수 있는 예시적인 MEMS 자이로-센서는 Analog Devices, Inc.사로부터 이용 가능하다. 선형 가속도 센서(37)와 달리, 자이로-센서는 내부의 자이로 소자(또는 소자들)에 의해 규정된 축 주위로의 회전(또는 각속도)을 직접 검출하는 것이 가능하다. 이와 같이, 자이로-센서와 선형 가속도 센서 사이의 기본적인 차이(예컨대, 각도-기준 출력 대 벡터-기준 출력) 때문에, 특정 응용을 위해 어떤 장치가 선택되는지에 따라 이들 장치로부터의 출력 신호에 대해 수행되는 처리 동작에 상응하는 변경이 이루어질 필요가 있다. 더욱 구체적으로, 틸트 또는 경사가 상기 가속도 센서 대신에 자이로-센서를 사용하여 계산될 때, 현저한 변경이 필요하다. 구체적으로, 자이로-센서를 사용할 때, 경사값은 검출 시작시 초기화된다. 그 다음에, 자이로스코프에서 출력되는 각속도에 대한 데이터가 통합된다. 또한, 이전에 초기화된 경사값으로부터 경사의 변화량이 계산된다. 이 경우, 상기 계산된 경사도는 각도에 대응한다. 이에 반해, 가속도 센서가 사용되면, 경사도는 소정의 기준을 가지고 각 축 성분의 중력 가속도의 값을 비교하여 계산된다. 그러므로, 상기 계산된 경사도는 벡터로서 표현될 수 있다. 이와 같이, 초기화를 하지 않고, 절대적인 방향이 가속도계를 가지고 결정될 수 있다. 경사도로서 계산된 값의 유형 또한 자이로스코프와 가속도계 사이에 아주 다를 수 있다; 즉, 자이로스코프가 사용될 때 상기 값은 각도이나 가속도 센서가 사용될 때는 벡터이다. 그러므로, 자이로스코프가 가속도 센서 대신에 사용될 때 또는 그 반대의 경우, 경사도에 대한 데이터 역시 이들 2개의 장치 사이의 기본적인 차이를 고려하는 소정의 변환에 의해 처리될 필요가 있다. 선형 가속도계와 자이로스코프 사이의 기본적인 차이뿐만 아니라, 자이로스코프의 성질이 당해 기술분야의 전문가에게 알려진 사실 때문에, 추가적인 상세한 설명은 이하의 설명을 모호하게 하지 않도록 하기 위해서 하지 않는다. 자이로-센서는 회전을 직접 검출하는 능력 덕분에 어떤 이점을 제공하지만, 선형 가속도 센서가 본 명세서에서 설명된 컨트롤러 응용과 연계하여 사용될 때 일반적으로 더욱 비용 효과적이다.
통신부(36)는 마이컴(42), 메모리(43), 무선 모듈(44) 및 안테나(45)를 포함한다. 마이컴(42)은 무선 모듈(44)을 제어하여 마이컴(42)에 의해 얻어진 데이터를 무선전송하며 처리 동안 메모리(43)를 저장 영역으로 사용한다.
조작부(32), 가속도 센서(37), 및 이미지화 정보 계산부(35)로부터 마이컴(42)으로 출력되는 데이터는 메모리(43)에 일시적으로 저장된다. 통신부(36)로부터 수신유닛(6)으로의 무선 전송은 소정의 시간 간격으로 수행된다. 게임 처리는 일반적으로 1/60초 사이클로 수행되기 때문에, 상기 무선 전송은 더 짧은 시간의 사이클로 수행될 필요가 있다. 수신유닛(6)에 대한 전송 시에, 마이컴(42)은 메모리(43)에 저장된 데이터를 조작 데이터로서 무선 모듈(44)에 출력한다. 무선 모듈(44)은 예를 들어 소정의 주파수를 갖는 반송파를 조작 데이터를 가지고 블루투스(등록상표임) 기술을 사용하여 변조하고 생성된 미약한 전기신호를 안테나(45)로부터 방사한다. 즉, 상기 조작 데이터는 무선 모듈(44)에 의해 미약한 전기 신호로 변조되어 컨트롤러(7)로부터 전송된다. 상기 미약한 전기 신호는 게임장치(3) 측의 수신유닛(6)에 의해 수신된다. 상기 수신된 미약한 전기 신호는 게임장치(3)가 상기 조작 데이터를 얻을 수 있도록 복조되거나 디코딩된다. 게임장치(3)의 CPU(10)는 상기 획득된 조작 데이터와 게임 프로그램을 기초로 게임 처리를 실행한다.
도 3a 내지 도 5b에 도시된 컨트롤러(7)의 형태와, 조작 버튼 및 스위치의 형태, 개수, 위치 등은 단지 예시적인 것이며, 본 발명의 범위를 벗어나지 않으면서 변경될 수 있다. 컨트롤러(7)의 이미지화 정보 계산부(35)의 위치(이미지화 정보 계산부(35)의 광 입사 개구(35a))는 하우징(31)의 전면에 있을 필요는 없으며, 하우징(31)의 외부로부터 광이 입사할 수 있는 한 다른 표면에 있어도 좋다. 이 경우, "지시된 방향"은 광 입사 개구에 수직한 방향이다.
컨트롤러(7)를 사용함으로써, 조작 버튼 또는 스위치를 누르는 외에, 플레이어는 종래에는 불가능했던 컨트롤러(7) 자체의 위치를 변경하거나 컨트롤러(7)를 회전시키는 게임 조작을 수행할 수 있다. 이하에서는, 컨트롤러(7)를 사용하는 게임 조작이 설명된다.
도 7은 컨트롤러(7)를 사용하여 게임 조작하는 일반적인 모습이다. 도 7에 도시된 바와 같이, 게임시스템(1)과 컨트롤러(7)를 사용하여 게임을 할 때, 플레이 어는 컨트롤러(7)를 한 손(예컨대, 왼손)으로 잡는다. 마커(8a, 8b)는 모니터(2)의 가로 또는 너비 방향에 평행하게 배치된다. 플레이어는 컨트롤러(7)의 전면(이미지화 정보 계산부(35)가 각 마커(8a, 8b)의 이미지를 획득하는 광 입사 개구(35a)를 구비함)이 마커(8a, 8b)를 대면하도록 컨트롤러(7)를 잡는다. 이 상태에서, 플레이어는 컨트롤러(7)를 회전시키거나(도 7에서 화살표로 표시된 것과 같이) 디스플레이 스크린상에 컨트롤러(7)에 의해 표시된 위치를 변경하여 게임 조작을 수행한다.
도 8은 컨트롤러(7)와 마커(8a, 8b)의 시야각을 도시한다. 도 8에 도시된 바와 같이, 마커(8a, 8b)는 각각 시야각(θ1)으로 적외광을 방사한다. 이미지화 정보 계산부(35)의 이미지화 소자(40)는 시야각(θ2)으로 입사하는 광을 수광한다. 예를 들면, 각 마커(8a, 8b)의 시야각(θ1)은 34°(중간 값 각도)이고, 이미지화 소자(40)의 시야각(θ2)은 41°이다. 플레이어는 이미지화 정보 계산수단(35)이 마커(8a, 8b) 둘 다로부터 적외광을 수광할 수 있는 위치 및 방향으로 컨트롤러(7)를 유지한다. 구체적으로, 플레이어는 마커(8a, 8b) 둘 다 시야각(θ2) 내에 존재하고 컨트롤러(7)가 마커(8a)의 시야각(θ1) 내에 있고 또한 마커(8b)의 시야각(θ1) 내에 존재하는 범위에서 컨트롤러(7)를 유지한다.
플레이어는 이 범위에서 컨트롤러(7)의 위치 및 방향을 변경함으로써 게임 조작을 수행할 수 있다. 컨트롤러(7)의 위치 및 방향이 상술한 범위를 벗어나면, 컨트롤러(7)의 위치 및 방향에 기초한 게임 조작은 수행될 수 없다. 이하, 상술한 범위는 "조작 가능 범위"로서 지칭될 것이다.
컨트롤러(7)가 상기 조작 가능 범위 내에 유지될 때, 이미지화 정보 계산부(35)는 마커(8a, 8b) 각각의 이미지를 획득한다. 이미지화 소자(40)에 의해 획득된 획득 이미지는 이미지화 대상인 마커(8a, 8b) 각각의 이미지(대상 이미지)를 포함한다. 도 9는 대상 이미지들을 포함하는 획득 이미지의 예를 도시한다. 대상 이미지를 포함하는 획득 이미지의 이미지 데이터를 사용하여, 이미지 처리 회로(41)는 획득 이미지에서 마커(8a, 8b) 각각의 위치를 나타내는 좌표 세트를 계산한다.
대상 이미지는 획득 이미지의 이미지 데이터에서 고휘도 영역으로 보인다. 그러므로, 이미지 처리 회로(41)는 먼저 대상 이미지의 후보로서 고휘도 영역을 검출한다. 다음, 검출된 각 고휘도 영역의 크기에 기초하여, 이미지 처리 회로(41)는 상기 고휘도 영역이 대상 이미지인지 여부를 판정한다. 상기 획득 이미지는 창을 통해 들어오는 일광이나 형광 램프의 광에 기인한 대상 이미지(마커(8a, 8b)의 이미지(8a', 8b') 이외의 이미지를 포함한다. 상기 판정은 대상 이미지가 정확하게 검출되도록 다른 이미지들로부터 대상 이미지(8a', 8b')를 식별하기 위해 수행된다. 구체적으로, 검출된 각각의 고휘도 영역이 소정의 크기 범위 내의 크기를 갖는지 여부가 판정된다. 고휘도 영역이 소정의 크기 범위 내의 크기를 가지면, 고휘도 영역은 대상 이미지로 판정되나; 고휘도 영역이 소정의 크기 범위 밖의 크기를 가지면, 고휘도 영역은 대상 이미지가 아닌 것으로 판정된다.
이미지 처리 회로(41)는 상기 판정의 결과로서 대상 이미지인 것으로 판정된 고휘도 영역의 위치를 계산한다. 구체적으로는, 이미지 처리 회로(41)는 고휘도 영역의 무게 중심의 위치를 계산한다. 만일 대상 이미지가 정확하게 검출되면, 2개의 고휘도 영역이 상기 판정에 의해 대상 이미지인 것으로 판정된다. 상기 획득 이미지에서의 위치는 획득 이미지의 좌측 상단 모서리가 원점이고, 원점으로부터 하방이 양의 y축이고, 원점으로부터 우측 방향이 양의 x축 방향인 좌표계(x-y 좌표계)로 표현된다. 따라서, 이미지 처리 회로(41)는 상기 계산에 의해 얻어진 2개의 위치를 지시하는 2개의 좌표 세트 값들에 대한 데이터를 출력한다.
수신된 조작 데이터에 포함된 좌표 세트 값들에 대한 데이터를 사용하여, 게임장치(3)는 지시된 위치(컨트롤러(7)에 의해 디스플레이 스크린에 지시된 위치), 지시된 방향 주위로 컨트롤러(7)의 회전각(자세), 및 컨트롤러(7)로부터 마커(8a, 8b) 각각에 이르는 거리를 계산할 수 있다. 도 10은 컨트롤러의 위치 및/또는 방향이 변경될 때 상기 획득 이미지의 변화를 도시한다. 도 10은 컨트롤러(7)의 상태와 상기 컨트롤러(7)가 각 상태에 있을 때 얻어진 획득 이미지 사이의 대응관계를 도시한다. 도 10에서, 대상 이미지 I1은 컨트롤러(7)가 상태 A에 있을 때 얻어진다. 대상 이미지 I1에서, 마커(8a, 8b)의 대상 이미지(8a', 8b')는 대상 이미지 I1의 중심 부근에 위치한다. 대상 이미지(8a', 8b')는 일반적으로 x축 방향에 평행하게 위치한다. 상태 A에서, 컨트롤러(7)는 마커(8a, 8b)의 중간 위치를 가리킨다. 본 명세서에서, 용어 "중간"은 2개의 점, 좌표 세트 또는 이미지 사이의 사실상 정확히 중간을 의미한다.
도 10에 도시된 상태 B는 컨트롤러(7)를 상태 A로부터 지시된 방향을 축으로 하여(Z축 주위로) 시계방향으로 90°회전시킴으로써 얻어진다. 본 명세서에서, 컨 트롤러(7)에 관해서 사용된 용어 "시계 방향" 과 "반시계 방향"은 컨트롤러(7)의 뒤에서 보았을 때 회전 방향을 가리킨다(도 3a에서 Z축 방향의 음의 종단으로부터, 즉 하우징(31)의 후방 종단으로부터). 상태 B에서, 획득된 이미지 I2는 이미지화 정보 계산부(35)에 의해 얻어진다. 획득된 이미지 I2에서, 대상 이미지(8a', 8b')는 획득 이미지 I1으로부터 반시계 방향으로 90°원호를 따라 이동되었다. 컨트롤러(7)의 자세가 이와 같이 변경될 때, 획득 이미지에서 대상 이미지의 방향(이미지 8a'로부터 8b'까지의 방향, 또는 이미지 8b'로부터 8a'까지의 방향)은 변경된다. 따라서, 지시된 방향을 축으로 한 회전에 대한 컨트롤러(7)의 자세는 상기 획득 이미지에서 대상 이미지의 방향을 검출함으로써 알 수 있다.
도 10에 도시된 상태 C는 컨트롤러(7)를 상태 A로부터 우측으로(양의 x축 방향으로) 이동함으로써 얻어진다. 상태 C에서, 획득 이미지 I3은 이미지화 정보 계산부(35)에 의해 얻어진다. 획득 이미지 I3에서, 대상 이미지(8a', 8b')는 획득 이미지 I1으로부터 좌측으로(음의 x축 방향으로) 이동되었다. 상태 C에서, 컨트롤러(7)의 지시된 방향은 상태 A에 대해서 우측 방향이다. 컨트롤러(7)의 지시된 방향은 컨트롤러(7)를 우측으로 이동시키는 것에 의해서뿐만 아니라 Y축 주위로 컨트롤러(7)를 회전시킴으로써 우측 방향이 될 수 있다. 컨트롤러(7)가 Y축 주위로 회전할 때, 사실상 획득 이미지 I3와 같은 획득 이미지가 얻어진다. 그러므로, 컨트롤러(7)가 컨트롤러(7)의 지시된 방향을 우측으로 향하도록 이동될 때(회전함), 사실상 획득 이미지 I3와 같은 획득 이미지가 얻어진다. 즉, 대상 이미지(8a', 8b')의 이동된 이미지가 얻어진다. 따라서, 컨트롤러(7)의 지시된 방향은 획득 이미지 에서 대상 이미지의 위치(아래에 설명된 예에서, 이미지(8a', 8b') 사이의 중간 포인트)를 검출함으로써 알 수 있다.
다음, 게임장치(3)에 의해 실행된 게임 처리가 상세히 설명된다. 먼저, 게임 처리를 위해 사용되는 메인 데이터가 도 11을 참조하여 설명된다. 도 11은 게임장치(3)의 메인 메모리(13)에 저장된 메인 데이터를 도시한다. 도 11에 도시된 바와 같이, 메인 메모리(13)는 현재 조작 데이터(50), 이전 조작 데이터(53), 조작 상태 데이터(56), 조작 대상 데이터(58) 등을 저장하고 있다. 도 11에 도시된 데이터에 추가하여, 메인 메모리(13)는 게임에서 나타나는 플레이어 캐릭터에 대한 데이터(플레이어 캐릭터의 이미지 데이터, 위치 데이터 등)와 게임 공간에 대한 데이터(토포그래피(topography) 데이터 등)를 포함한 게임 처리를 위해 필요한 다른 데이터를 저장하고 있다.
현재 조작 데이터(50)는 컨트롤러(7)로부터 전송된 최신의 데이터이다. 현재 조작 데이터(50)는 현재 제 1 좌표 세트 데이터(51)와 현재 제 2 좌표 세트 데이터(52)를 포함한다. 현재 제 1 좌표 세트 데이터(51)는 2개의 마크 중 하나의 이미지의 위치(획득 이미지에서의 위치)를 나타낸다. 현재 제 2 좌표 세트 데이터(52)는 다른 마크의 이미지의 위치(획득 이미지에서의 위치)를 나타낸다. 각 마크의 이미지의 위치는 x-y 좌표계로 표현된다(도 9 참조). 이하에서, 현재 제 1 좌표 세트 데이터(51)에 의해 표현된 좌표 세트는 "제 1 좌표 세트"라 하고, 현재 제 2 좌표 세트 데이터(52)에 의해 표현된 좌표 세트는 "제 2 좌표 세트"라고 할 것이다. 제 1 좌표 세트와 제 2 좌표 세트는 이후 설명되는 방향 데이터(57)를 정 확하게 계산하기 위해 서로 식별된다. 제 1 좌표 세트와 제 2 좌표 세트의 어느 하나는 마커 8a 또는 8b의 이미지의 위치를 나타낸다. 그러나, 제 1 좌표 세트가 하나의 프레임에서 마커들 중 하나의 이미지를 나타내는 경우, 제 1 좌표 세트는 다음 프레임에서 같은 마커의 이미지를 나타낼 필요가 있다(이후 설명되는 단계 S13 내지 S15 참조).
현재 조작 데이터(50)는 획득 이미지로부터 얻어진 좌표 세트(현재 제 1 좌표 세트 데이터(51)와 현재 제 2 좌표 세트 데이터(52))에 추가하여 조작부(32)와 가속도 센서(37)로부터 얻어진 데이터를 포함한다. 게임장치(3)는 소정의 시간 간격으로(예컨대, 1프레임의 간격으로) 컨트롤러(7)로부터 조작 데이터를 얻는다. 얻어진 조작 데이터 중 최신의 데이터는 메인 메모리(13)에 현재 조작 데이터(50)로서 저장된다.
이전 조작 데이터(53)는 이전 제 1 좌표 세트 데이터(54)와 이전 제 2 좌표 세트 데이터(55)를 포함한다. 본 명세서에서, 용어 "이전"은 "직전"을 의미한다. 이전 제 1 좌표 세트 데이터(54)는 현재 제 1 좌표 세트 데이터(51) 직전에 얻어진 제 1 좌표 세트 데이터이다. 즉, 새로운 조작 데이터가 얻어지는 경우, 지금까지 현재 제 1 좌표 세트 데이터(51)이었던 데이터는 이전 제 1 좌표 세트 데이터(54)로서 저장된다. 새로운 조작 데이터에 포함된 2개의 좌표 세트 데이터 중 하나는 메인 메모리(13)에 현재 제 1 좌표 세트 데이터(51)로서 저장된다. 마찬가지로, 이전 제 2 좌표 세트 데이터(55)는 현재 제 2 좌표 세트 데이터(52) 직전에 얻어진 제 2 좌표 세트 데이터이다. 즉, 새로운 조작 데이터가 얻어지는 경우, 지금까지 현재 제 2 좌표 세트 데이터(52)이었던 데이터는 이전 제 2 좌표 세트 데이터로서 저장된다. 새로운 조작 데이터(제 1 좌표 세트를 나타내는 데이터가 아닌 데이터)에 포함된 2개의 좌표 세트 데이터 중 다른 것은 현재 제 2 좌표 세트 데이터(52)로서 메인 메모리(13)에 저장된다.
조작 상태 데이터(56)는 획득 이미지에 기초하여 판정되는 컨트롤러(7)의 조작 상태를 나타낸다. 조작 상태 데이터(56)는 획득 이미지 내에 포함된 대상 이미지의 위치, 방향, 및 크기를 나타낸다. 조작 상태 데이터(56)는 방향 데이터(57)를 포함한다. 방향 데이터(57)는 제 1 좌표 세트로부터 제 2 좌표 세트로의 방향을 나타낸다. 이 실시예에서, 방향 데이터(57)는 제 1 좌표 세트의 위치를 시작점으로 갖고 제 2 좌표 세트를 종점으로 갖는 벡터를 나타낸다. 방향 데이터(57)는 획득 이미지에서 대상 이미지(마커 8a, 8b)의 방향을 나타낸다.
조작 대상 데이터(58)는 디스플레이 스크린에서 또는 게임 공간에서 조작 대상의 위치 및 자세를 나타낸다. 상기 "조작 대상"은 디스플레이 스크린에 표시된 오브젝트이거나, 가상의 게임 공간에 나타난 오브젝트이거나, 또는 가상의 3차원 게임 공간이 구성되는 경우에, 디스플레이 스크린에 3차원 게임 공간을 표시하는 가상 카메라일 수 있다. 상기 조작 대상은 디스플레이 스크린에 표시된 이미지이거나 디스플레이 스크린에 표시된 윈도우에서의 이미지일 수 있다. 조작 대상 데이터(58)는 위치 데이터(59)를 포함한다. 위치 데이터(59)는 게임 공간에서 또는 디스플레이 스크린에서 조작 대상의 위치를 나타낸다. 상기 조작 대상이 윈도우에서의 이미지인 경우, 위치 데이터(59)는 상기 윈도우에 표시 가능한 이미지의 전체 영역 중에서 윈도우에 실제로 표시된 이미지 영역의 위치를 나타낸다.
다음, 게임장치(3)에 의해 실행된 게임 처리가 도 12 내지 도 16b를 참조하여 상세히 설명된다. 도 12는 게임장치(3)에 의해 실행되는 게임 처리의 흐름을 도시하는 흐름도이다. 게임장치(3)에 전원이 공급되면, 게임장치(3)의 CPU(10)는 부트 ROM(도시되지 않음)에 저장된 시작 프로그램을 실행하여 메인 메모리(13)와 같은 각 유닛을 초기화한다. 광디스크(4)에 저장된 게임 프로그램이 메인 메모리(13)에 읽어 들여지고 CPU(10)는 게임 프로그램의 실행을 시작한다. 도 12에 도시된 흐름도는 상술한 처리가 완료된 후 게임 처리를 도시한다. 도 12 내지 도 16b를 참조하여 이하의 설명에서, 컨트롤러(7)의 위치 및 방향에 관한 게임 처리가 상세히 설명될 것이며, 다른 게임 처리는 본 발명과 직접적인 관련이 없기 때문에 생략한다.
도 12를 참조하면, 단계 S1에서, 조작 데이터가 컨트롤러(7)로부터 얻어진다. CPU(10)는 상기 조작데이터를 현재 조작 데이터(50)로서 메인 메모리(13)에 저장한다. 지금까지 현재 제 1 좌표 세트 데이터(51)와 현재 제 2 좌표 세트 데이터(52)이었던 데이터의 내용은 이전 제 1 좌표 세트 데이터(54)와 이전 제 2 좌표 세트 데이터(55)로서 메인 메모리(13)에 저장된다. 이때, 상기 조작 데이터에 포함된 2개의 좌표 세트 데이터 중 어느 것이 현재 제 1 좌표 세트 데이터(51)가 되고 어느 것이 현재 제 2 좌표 세트 데이터(52)가 될 것인지는 결정되지 않았다. 따라서, 이때, 현재 제 1 좌표 세트 데이터(51)와 현재 제 2 좌표 세트 데이터(52) 중 어느 것도 메인 메모리(13)에 저장되지 않으며, 조작 데이터에 포함된 2개의 좌 표 세트 데이터는 현재 제 1 좌표 세트 데이터(51)와 현재 제 2 좌표 세트 데이터(52)와 별도로 메인 메모리(13)에 저장된다.
단계 S1에서 얻어진 조작 데이터는 획득 이미지에서 마커(8a, 8b)의 위치를 나타내는 좌표 세트 데이터를 포함하며, 또한 컨트롤러(7)의 각 조작 버튼이 눌려졌는지를 나타내는 데이터와, 상하 및 좌우 방향으로 컨트롤러(7)의 가속도를 나타내는 데이터를 포함한다. 이 실시예에서, 컨트롤러(7)는 조작 데이터를 한 프레임의 시간 간격으로 전송하고, CPU(10)는 프레임 단위로 조작 데이터를 얻는다. 따라서, 도 12에 도시된 단계 S1 내지 S5의 처리 루프는 프레임 단위로 반복된다.
다음 단계 S2에서, 조작 상태 계산 처리가 실행된다. 상기 조작 상태 계산 처리에서, 컨트롤러(7)의 조작 상태(컨트롤러(7)의 위치, 자세 등에 대응하는 값)는 컨트롤러(7)로부터의 조작 데이터에 기초하여 계산된다. 이하, 도 13과 도 14를 참조하여, 조작 상태 계산 처리가 상세히 설명된다.
도 13은 도 12에 도시된 조작 상태 계산 처리(S2)의 상세한 흐름을 도시하는 흐름도이다. 상기 조작 상태 계산 처리는 다음과 같이 실행된다. 먼저 단계 S11에서, 2개의 마커(8a, 8b)의 이미지가 컨트롤러(7)의 이미지화 정보 계산부(35)에 의해 획득되었는지 판정된다. 단계 S11에서의 판정은 컨트롤러(7)가 조작 가능한 범위 내에 유지되고 있는지를 판정하기 위해 실행된다. 2개의 마커(8a, 8b)의 이미지가 이미지화 정보 계산부(35)에 의해 획득되지 않았다면(컨트롤러(7)가 조작 가능한 범위에 유지되지 않음), 컨트롤러(7)로부터의 조작 데이터는 2개의 좌표 세트 데이터를 포함하지 않는다. 즉, 단 한 개의 마커의 이미지가 이미지화 정보 계 산부(35)에 의해 획득되는 경우, 이미지 처리 회로(41)는 단 한 개의 좌표 세트 데이터를 출력하고, 컨트롤러(7)로부터의 조작 데이터는 단 한 개의 좌표 세트를 포함한다. 마커(8a, 8b)의 어느 이미지도 이미지화 정보 계산부(35)에 의해 획득되지 않은 경우, 이미지 처리 회로(41)는 좌표 세트 데이터를 출력하지 않고, 컨트롤러(7)로부터의 조작 데이터는 어떤 좌표 세트 데이터도 포함하지 않는다. 따라서, 단계 S11에서 판정은 단계 S1에서 얻어진 조작 데이터가 2개의 좌표 세트 데이터를 포함하는지 여부를 기초로 수행될 수 있다. 단계 S11에서 2개의 마커(8a, 8b)의 이미지가 획득된 것으로 판정되면, 단계 S13의 처리가 실행된다. 단계 S11에서 2개의 마커(8a, 8b)의 이미지가 획득된 것으로 판정되지 않으면, 단계 S12의 처리가 실행된다.
단계 S12에서, 메인 메모리(13)에 저장된 조작 상태 데이터(56)의 내용이 지워진다. 조작 상태 데이터(56)가 메인 메모리(13)에 저장되지 않은 경우, 조작 대상은 나중에 설명되는 이동 처리에서 이동되지 않는다. 즉, 이 실시예에서, 2개의 마커(8a, 8b)의 이미지가 획득되지 않은 경우, 어떤 게임 처리도 실행되지 않는다. 단계 S12 이후, CPU(10)는 조작 상태 계산 처리를 종료한다.
단계 S13 내지 S15에서, 2개의 좌표 세트 데이터 중 어느 것이 제 1 좌표 세트를 나타내고 어느 것이 제 2 좌표 세트를 나타내는지가 판정된다. 도 14는 어느 것이 제 1 좌표 세트이고 어느 것이 제 2 좌표 세트인지를 판정하는 처리를 도시한다. 도 14에서, 점선 원으로 표시된 포인트 P1'는 이전 제 1 좌표 세트의 위치를 나타내고, 점선 원으로 표시된 포인트 P2'는 이전 제 2 좌표 세트의 위치를 나타낸 다. 실선 원으로 표시된 포인트 P1과 P2는 현재 시간에 얻어진 2개의 좌표 세트 데이터에 의해 표시된 좌표 세트의 위치를 보여준다.
도 14를 참조하면, 좌표 세트 P1과 P2만으로, 현재 얻어진 2개의 좌표 세트 데이터에 의해 표현된 좌표 세트 P1과 P2 중 어느 것이 제 1 좌표 세트이고 어느 것이 제 2 좌표 세트인지 검출될 수 없다. 즉, 게임장치(3)는 좌표 세트 P1과 P2만으로는 좌표 세트 P1'가 이동되어 좌표 세트 P1이 되었는지 또는 좌표 세트 P2'가 이동되어 좌표 세트 P1이 되었는지 판정할 수 없다. 제 1 좌표 세트와 제 2 좌표 세트 중 어느 하나는 마커 8a 또는 8b의 이미지의 위치를 나타낸다. 그러나 제 1 좌표 세트에서 제 2 좌표 세트로의 방향을 계산하기 위해(나중에 설명되는 단계 S16), 어느 것이 제 1 좌표 세트를 나타내고 어느 것이 제 2 좌표 세트를 나타내는지 정확하게 검출하는 것이 중요하다. 만일 제 1 좌표 세트와 제 2 좌표 세트가 반대로 검출되면, 상기 계산에 의해 얻어진 방향은 반대이다. 만일 예를 들어 이전 제 1 좌표 세트가 현재 제 2 좌표 세트로서 검출되면, 단계 S16에서 계산된 방향은 정확하지 않다.
이것을 회피하기 위해, 이 실시예에서, 제 1 좌표 세트와 제 2 좌표 세트는 이전 좌표 세트들과 현재 좌표 세트들간의 거리를 기초로 검출된다. 구체적으로, 현재 새로 얻어진 2개의 좌표 세트 중, 이전 제 1 좌표 세트에 더 가까운 좌표 세트가 제 1 좌표 세트로 판정되고, 다른 좌표 세트는 제 2 좌표 세트로 판정된다. 도 14에 도시된 예에서, 이전 좌표 세트 P1'에 더 가까운 좌표 세트 P1은 제 1 좌표 세트로 정해지고, 다른 좌표 세트 P2는 제 2 좌표 세트로 정해진다. 컨트롤 러(7)가 한 프레임에서 다음 프레임까지 90°이상의 각도로 회전하는 경우, 이전 제 1 좌표 세트로부터 더 떨어진 좌표 세트는 정확한 제 1 좌표 세트이다. 그러나, 컨트롤러(7)는 좌표 세트가 얻어지는 시간 간격(이미지화 정보 계산부(35)가 이미지를 획득하는 시간 간격)이 보통 아주 짧기 때문에(예를 들어, 1/60초 간격), 한 프레임 동안 90°보다 큰 각도로 회전하는 것이 실제로 불가능하다. 그러므로, 제 1 좌표 세트는 이전 제 1 좌표 세트에 더 가까운 좌표 세트를 제 1 좌표 세트로 설정함으로써 정확하게 검출될 수 있다.
구체적으로, 단계 13에서, 제 1 좌표 세트 데이터와 제 2 좌표 세트 데이터가 이전 프레임에서 검출되었는지 여부가 판정된다. 단계 S13에서의 판정은 조작 상태 데이터(56)가 메인 메모리(13)에 저장되었는지 여부를 기초로 수행된다. 단계 S12의 처리가 이전 프레임에서 수행된 경우, 조작 상태 데이터(56)는 메인 메모리(13)에 저장되지 않는다. 이 경우, 제 1 좌표 세트와 제 2 좌표 세트 중 적어도 하나는 이전 프레임에서 얻어지지 않았으며, 따라서 제 1 좌표 세트와 제 2 좌표 세트는 이전 좌표 세트를 사용하여 판정될 수 없다. 단계 S13의 처리가 이전 프레임에서 실행되었을 때, 조작 상태 데이터(56)는 메인 메모리(13)에 저장된다. 이 경우, 제 1 좌표 세트와 제 2 좌표 세트는 이전 좌표 세트를 사용하여 판정될 수 있다. 단계 S13의 처리는 제 1 좌표 세트와 제 2 좌표 세트가 이전 좌표 세트를 사용하여 판정될 수 있는지 여부를 판정하기 위해 수행된다. 단계 S13에서 제 1 좌표 세트와 제 2 좌표 세트가 이전 프레임에서 검출된 것으로 판정되는 경우, 단계 S14의 처리가 실행된다. 단계 S13에서 제 1 좌표 세트와 제 2 좌표 세트 중 적 어도 하나가 이전 프레임에서 검출되지 않은 것으로 판정되는 경우, 단계 15의 처리가 실행된다.
단계 S14에서, 단계 S1에서 얻어진 조작 데이터에 포함된 2개의 좌표 세트에 의해 표현된 2개의 좌표 세트 중, 이전 제 1 좌표 세트에 더 가까운 좌표 세트가 제 1 좌표 세트로 판정된다. 구체적으로, CPU(10)는 메인 메모리(13)에 저장된 이전 제 1 좌표 세트 데이터(54)와 조작 데이터에 포함된 2개의 좌표 세트 데이터를 참조하여, 상기 2개의 좌표 세트 데이터에 의해 표현된 좌표 세트 중에서, 이전 제 1 좌표 세트 데이터(54)에 의해 표현된 좌표 세트에 더 가까운 좌표 세트를 지정한다. CPU(10)는 상기 지정된 좌표 세트의 좌표에 대한 좌표 세트 데이터를 현재 제 1 좌표 세트 데이터(51)로 메인 메모리(13)에 저장하고, 또한 다른 좌표 세트에 대한 좌표 세트 데이터를 현재 제 2 좌표 세트 데이터(52)로 메인 메모리(13)에 저장한다.
단계 S15에서, 2개의 좌표 세트 데이터에 의해 표현된 좌표 세트 중 하나는 소정의 조건에 따라 제 1 좌표 세트로 정해진다. 상기 소정의 조건은 임의의 조건일 수 있다. 예를 들면, CPU(10)는 더 작은 y축 좌표값을 갖는 좌표 세트를 제 1 좌표 세트로 결정하고, 다른 좌표 세트를 제 2 좌표 세트로 정한다. 제 1 좌표 세트로 정해진 좌표 세트에 대한 데이터는 현재 제 1 좌표 세트 데이터(51)로 메인 메모리(13)에 저장되고, 제 2 좌표 세트로 정해진 좌표 세트에 대한 데이터는 현재 제 2 좌표 세트 데이터(52)로 메인 메모리(13)에 저장된다.
단계 S16에서, 제 1 좌표 세트로부터 제 2 좌표 세트로의 방향이 정해진다. 구체적으로, CPU(10)는 시작점으로서 제 1 좌표 세트의 위치를 갖고 종점으로서 제 2 좌표 세트의 위치를 갖는 벡터를 계산하기 위해 현재 제 1 좌표 세트 데이터(51)와 현재 제 2 좌표 세트 데이터(52)를 참조한다. 상기 계산된 벡터에 대한 데이터는 방향 데이터(57)로서 메인 메모리(13)에 저장된다. 상기 계산된 벡터는 상기 지시된 방향 주위로의 컨트롤러(7)의 회전각을 나타낸다. 즉, 단계 S16의 처리의 결과로서, 상기 지시된 방향의 주위로의 컨트롤러(7)의 회전이 계산된다. 단계 S16 이후, CPU(10)는 조작 상태 계산 처리를 종료한다.
도 12에 돌아가서, 단계 S3에서, 조작 대상을 이동시키는 이동 처리가 실행된다. 상기 이동 처리에서, 조작 대상은 단계 S16에서 계산된 방향에 따라 소정의 방향으로 이동된다. 이하, 단계 S3의 처리가 설명된다.
단계 S3의 조작 대상은 가상 게임 공간, 가상 카메라, 또는 전체 디스플레이 스크린에 표시된 이미지, 또는 윈도우에 표시된 이미지에서 보이는 오브젝트일 수 있다. 즉, 이 실시예에서, 상기 오브젝트는 게임 공간에서 움직일 때 디스플레이 스크린에 표시되거나, 또는 게임 공간의 이미지가 게임 공간에 대한 시선이 변하는 동안 디스플레이 스크린에 표시될 수 있다. 윈도우에 표시된 이미지는 디스플레이 되는 동안 스크롤되거나, 전체 디스플레이 스크린에 표시된 이미지가 디스플레이 스크린에 표시되는 동안 스크롤 될 수 있다.
단계 S3에서 조작 대상의 이동 모션은 소정의 방향으로 움직이는 임의의 모션일 수 있다. 상기 "소정의 방향"은 이용자에 의해 또는 게임의 상황에 따라 고정적으로 미리 정해진 방향이거나 가변적으로 정해진 방향일 수 있다. 예컨대, 상 기 조작 대상은 이용자에 의해 지정된 위치(디스플레이 스크린상의 위치 또는 게임 공간에서의 위치)로 이동하도록 설정될 수 있다.
도 15a 내지 도 16b는 조작 대상의 이동 모션을 도시한다. 도 15a 내지 도 16b에서, 게임 공간에 등장하는 오브젝트(Ob)를 조작대상의 일 예로 도시한다. 게임장치(3)는 도 15a에 도시된 바와 같이 일직선으로, 또는 도 15b에 도시된 바와 같이 소정의 탄도(Tr)의 방향으로 오브젝트(Ob)를 움직인다. 게임장치(3)는 2개의 방향, 즉 한 방향과 반대 방향으로 가역적으로 상기 조작 대상을 이동시키거나 오직 한 방향으로 상기 조작 대상을 이동시킨다.
조작 대상은 디스플레이 스크린상에서 이동하거나 게임 공간에서 이동한다. 도 16a 및 도 16b는 가상 3차원 게임 공간에서 이동하는 오브젝트(Ob)를 도시한다. 이동 전 오브젝트(Ob)는 점선으로 표시되고, 이동 후 오브젝트(Ob)는 실선으로 표시된다. 음의 Y축 방향에서 양의 X축 방향으로 본 게임 공간이 디스플레이 스크린에 표시되는 경우, 오브젝트(Ob)가 도 16a에 도시된 바와 같이 디스플레이 스크린에 대해 더 깊게(양의 Y축 방향으로) 이동할 때, 오브젝트(Ob)는 크기가 축소하는 것처럼 표시된다(도 16b). 조작 대상이 게임 공간에서 이동하는 경우, 조작 대상이 디스플레이 스크린에서 움직이고 있는지 용이하게 알 수 없다. 그러나, 조작 대상의 이동 모션은 게임 공간에서 이동하는 모션일뿐만 아니라 디스플레이 스크린에서 움직이는 모션이다. 전자의 경우, 조작 대상이 움직이는 것을 디스플레이 스크린에서 보는 것은 어렵지만, 이것 역시 본 발명의 범위에 속한다.
단계 S3에서, 게임장치(3)는 단계 S16에서 계산된 방향에 따라 조작 대상을 이동시킨다. 구체적으로, 게임장치(3)는, 단계 S16에서 정해진 방향에 기초하여, 조작 대상이 이동할 방향, 조작 대상이 이동할 이동량 또는 속도(단위 시간당 이동량) 또는 조작 대상이 움직이는 가속도를 정한다.
게임장치(3)가 단계 S16에서 정해진 방향을 기초로 조작 대상이 이동할 방향을 정하는 경우, 게임장치(3)는 예컨대 단계 S16에서 정해진 방향과 소정의 기준 방향 사이의 각도 차이에 따라 조작 대상의 이동 방향을 정한다. 구체적으로, 게임장치(3)는 상기 각도 차이가 양의 값을 가질 때 상기 각도 차이가 음의 값을 가질 때로부터 반대로 상기 조작 대상을 이동시킨다.
게임장치(3)가 단계 S16에서 정해진 방향을 기초로 조작 대상이 이동할 이동량을 정하는 경우, 게임장치(3)는 예컨대 단계 S16에서 정해진 방향과 소정의 기준 방향 사이의 각도 차이에 따라 조작 대상의 이동량을 정한다. 구체적으로, 게임장치(3)는 상기 각도 차이가 커지면서 이동량이 더 커지도록 정하거나, 또는 상기 각도 차이가 소정의 값 또는 그 이상일 때 조작 대상을 이동시키도록 정한다. 게임장치(3)가 단계 S16에서 정해진 방향에 기초하여 조작 대상의 속도(가속도)를 정하는 경우, 게임장치(3)는 상기 각도 차이가 커지면서 조작 대상의 속도(가속도)가 더 커지도록 정한다. 조작 대상의 이동량, 속도 또는 가속도(이하, "이동량 등"이라 함)는 단계 S16에서 계산된 방향에 기초하여 정해진다. 조작 대상의 이동 방향이 단계 S16에서 계산된 방향에 기초하여 정해지는 경우, 상기 이동량 등은 소정의 값으로 정해진다. 상기 조작 대상의 이동량 등이 단계 S16에서 계산된 방향에 따라 결정되는 경우, 상기 이동량 등은 단계 S16에서 계산된 방향을 나타내는 벡터와 기준 방향을 나타내는 벡터 사이의 각도 차이에 기초하거나 또는 단계 S16에서 계산된 방향을 나타내는 벡터와 이전 프레임에서의 벡터 사이의 각도 차이에 기초하여, 단계 S16에서 계산된 방향을 나타내는 벡터만을 기초로 정해질 수 있다. 더욱 상세하게는, 상기 이동량은 다음과 같이 정해질 수 있다. 단계 S16에서 계산된 방향을 나타내는 벡터의 방향과 상기 벡터가 각자의 방향을 가질 때 조작 대상의 이동량 사이의 대응관계는 미리 정해진다. 상기 조작 대상의 이동량은 상기 대응관계를 기초로 상기 벡터로부터 계산된다. 또는, 단계 S16에서 계산된 방향을 나타내는 벡터와 상기 기준 방향을 나타내는 벡터에 의해 만들어진 각도(각도 차이)가 계산된다. 조작 대상의 이동량은 각도 차이가 증가함에 따라 더 커지도록 정해진다. 또는, 이전 프레임에서의 벡터와 현재 프레임에서의 벡터에 의해 만들어진 각도(각도 차이)가 계산된다. 조작 대상의 이동량은 각도 차이가 증가함에 따라 더 커지도록 정해진다.
단계 S3에서, 게임장치(3)는 상기한 바와 같이 계산된 이동량 등에 따라 조작 대상의 이동 후 위치를 정한다. 단계 S3에서 정해진 조작 대상의 이동 후 위치를 나타내는 데이터는 위치 데이터(59)로서 메인 메모리(13)에 저장된다.
도 12에 돌아가서, 단계 S3이후 단계 S4에서, 디스플레이 처리가 실행된다. CPU(10)는 단계 S3에서 정해진 위치에 따라 이미지를 생성하기 위해 메인 메모리(13)에 저장된 조작 대상 데이터(58)를 참조한다. CPU(10)는 생성된 이미지를 모니터(2)의 디스플레이 스크린에 표시한다. 예를 들면, 상기 조작 대상이 디스플레이 스크린에 표시된 오브젝트 일 때, 오브젝트는 단계 S3에서 정해진 위치에 디 스플레이 스크린에 표시된다. 예컨대, 조작 대상이 가상 카메라인 경우, 단계 S3에서 정해진 위치에 설정된 가상 카메라로부터 본 게임 공간의 이미지가 생성되고, 생성된 이미지가 표시된다. 예를 들면, 조작 대상이 윈도우에서의 이미지인 경우, 상기 윈도우에 표시할 수 있는 이미지의 전체 영역 중, 단계 S3에서 정해진 영역이 윈도우에 표시된다. 단계 S4에서의 처리를 프레임 단위로 반복함으로써, 회전하는 조작 대상을 나타내는 동영상이 표시될 수 있다.
단계 S5에서, 게임을 종료할지 여부가 결정된다. 예를 들어, 게임을 종료하는 조건(예컨대, 플레이어 캐릭터의 스태미너를 지시하는 파라미터가 0인 경우)이거나 플레이어가 게임을 종료하는 조작을 수행한 경우 게임이 종료된다. 게임을 종료하지 않는 것으로 결정된 경우, 처리는 단계 S1으로 복귀되고 단계 S1 내지 S5의 처리가 단계 S5에서 게임을 종료하는 것으로 결정될 때까지 반복된다. 게임을 종료하는 것으로 결정된 경우, CPU(10)는 도 12에 도시된 게임 처리를 종료한다.
상술한 바와 같이, 이 실시예에서, 그 전후 방향을 축으로 하여 회전하는 컨트롤러(7)의 자세에 대응하는 값이 이미지화 정보 계산부(35)에 의해 얻어진 획득 이미지로부터 계산될 수 있다. 컨트롤러(7)의 자세에 기초하여, 조작 대상이 이동될 수 있다. 이러한 설정에 의해, 플레이어는 컨트롤러(7)의 회전에 따라 조작 대상을 이동시키도록 그 전후 방향을 축으로 하여 컨트롤러(7)를 회전시키는 게임 조작을 수행할 수 있다. 이와 같이, 게임장치(3)는 플레이어가 컨트롤러(7)를 회전시킴으로써 조작 대상을 이동시키는 새로운 게임 조작을 수행하도록 한다.
본 발명에 의하면, 지시된 방향을 축으로 한 컨트롤러(7)의 회전을 계산하기 위해, 게임장치(3)는 단지 획득 이미지로부터 단지 방향을 나타내는 정보를 얻을 필요가 있다. 그러므로, 이미지 처리 회로(41)는 상술한 2개의 위치의 좌표 세트 대신에 방향을 나타내는 정보를 출력한다. 구체적으로, 이미지 처리 회로(41)는 마커(8a)의 이미지의 위치로부터 마커(8b)의 이미지의 위치로의 방향(또는 마커(8b)의 이미지의 위치로부터 마커(8a)의 이미지의 위치로의 방향)을 나타내는 벡터에 대한 데이터를 계산한다. 이 벡터는 단지 방향을 나타낼 필요만 있기 때문에, 이미지 처리 회로(41)는 일정한 크기를 갖는 단위 벡터에 대한 데이터를 출력한다.
다른 실시예에서, 이미지 정보 계산부(35)는 이미지 처리 회로(41)를 포함하지 않을 수 있다. 이 경우, 이미지화 정보 계산부(35)는 획득 이미지의 이미지 데이터를 마이컴(42)에 출력하고, 상기 이미지 데이터는 컨트롤러(7)로부터 게임장치(3)로 조작 데이터로 전송된다. 게임장치(3)는 상기 이미지 데이터를 기초로 방향 데이터를 계산한다. 상술한 바와 같이, 획득 이미지의 이미지 데이터로부터 방향 데이터를 계산하는 처리는 전용 회로(이미지 처리 회로(41))에 의해 부분적으로 또는 전체적으로 실행되거나, 또는 게임장치(3)에 의해 소프트웨어 처리로 실행된다.
상술한 실시예에서, 적외광을 출력하는 2개의 마커(8a, 8b)는 이미지화 대상이다. 몇몇 다른 소자들이 이미지화 대상이 될 수 있다. 이미지화 대상은 그 이미지가 방향을 제공할 수 있는 것이다. 하나의 마커가 이미지화 대상인 경우, 상기 마커는 선 형태 등인 것이 바람직하며, 그것으로부터 2개의 소정의 포인트가 특 정될 수 있다. 그 이유는 상기 마커로부터 방향을 검출하는 것이 필요하기 때문이다. 원 형태는 바람직하지 않다. 게임장치(3)는 획득 이미지에서 대상 이미지의 방향을 결정하기 위해 상기 획득 이미지의 소정의 2개의 포인트를 연결하는 방향을 계산한다. 마커는 바람직하게는 발광소자이다. 상기 마커는 적외광 외의 다른 파장의 광을 출력하거나, 백색광을 출력한다. 모니터(2)의 디스플레이 스크린의 프레임이 이미지화 대상이거나, 상기 이미지화 대상이 디스플레이 스크린에 표시될 수 있다. 이와 같은 구조에 의해, 상기 모니터에 추가하여 마커를 준비하는 것은 불필요하며, 상기 시스템의 구조가 간단해질 수 있다.
다른 실시 형태에서, 컨트롤러(7)가 조작 가능한 범위를 벗어나면, 조작 대상은 가속도 센서의 출력을 사용하여 회전할 것이다. 구체적으로, 도 13에서 단계 S11의 판정 결과가 '아니오' 일 때, 지시된 방향을 축으로 한 컨트롤러(7)의 회전 상태를 판정하는 처리가 단계 S12의 처리 대신에 가속도 센서로부터의 출력을 사용하여 실행된다. CPU(10)는 컨트롤러(7)의 회전 상태를 판정하기 위해 조작 데이터에 포함된 가속도를 나타내는 데이터를 참조한다. 단계 S3의 이동 처리에서, 조작 대상은 상기 처리에 의해 판정된 회전 상태에 따라 회전된다. 이와 같이, 컨트롤러(7)가 조작 가능 범위를 벗어나더라도, 조작 대상을 회전시키는 조작은 계속될 수 있다. 컨트롤러(7)가 조작 가능 범위를 벗어난 후 자세가 변경되어 조작 가능 범위로 복귀하는 경우, 컨트롤러(7)의 자세는 가속도로부터의 출력을 사용하여 판정된다. 따라서 2개의 마커는 각각 식별될 수 있다.
상기한 실시 형태는 컨트롤러(7)가 지시된 방향을 축으로 하여 회전되는 다 양한 게임에 적용 가능하다. 이하, 특정 게임이 예로서 설명된다.
(제 1 실시예)
이하에서, 본 발명이 게임의 메뉴 스크린에 적용되는 제 1 실시예가 설명된다. 이 실시예에서, 플레이어에 의해 조작되는 플레이어 캐릭터가 게임 공간에서 보이는 게임이 설명된다. 도 17은 제 1 실시예에서 게임 스크린의 예를 도시한다. 도 17은 모니터(2)의 디스플레이 스크린에 표시된 윈도우(71, 72)를 도시한다. 윈도우(71, 72)는 메뉴 스크린의 이미지(메뉴 이미지)를 표시하기 위한 표시 영역이다. 윈도우(71, 72)는 소정의 조작(예컨대, Y 버튼(32c)을 누르는 조작)을 수행하는 플레이어에 의해 표시된다. 도 17은 또한 커서(73)를 보여준다. 플레이어는 컨트롤러(7)를 조작하여 디스플레이 스크린에서 커서를 자유롭게 이동할 수 있다. 도 17에는 도시되지 않았지만, 보통의 게임 이미지(예컨대, 플레이어 캐릭터 근처의 게임 공간의 이미지)는 윈도우(71, 72) 이외의 표시 영역에 표시된다.
윈도우(71)에서, 플레이어 캐릭터에 의해 사용될 아이템을 플레이어에게 선택하도록 하는 메뉴 스크린이 표시된다. 도 17에서, 선택 가능한 아이템을 보여주는 이미지(74a - 74c)가 윈도우(71)에 표시된다. 도 18은 윈도우(71)에 표시 가능한 메뉴 이미지와 상기 메뉴 이미지의 전체 영역 중에 실제로 표시된 영역 사이의 관계를 보여준다. 도 18에 도시된 바와 같이, 메뉴 이미지(참조 번호 '77'로 표시됨)는 윈도우(71)의 표시 영역(78)보다 더 크며, 따라서 메뉴 이미지(77)의 일부가 윈도우(71)에 표시된다. 메뉴 이미지(77)는 선택 가능한 이미지(아이템 이미 지(74a - 74f))를 보여주는 6개의 이미지(74a - 74f)를 포함하고, 상기 아이템 이 미지 모두는 윈도우(71)에 동시에 표시될 수 없다. 플레이어는 메뉴 이미지(77)의 전체 영역을 보기 위해 위 아래로 윈도우(71)에서 메뉴 이미지를 스크롤한다. 윈도우(71)의 표시 영역(실제로 표시되는 영역)의 위치는 메뉴 이미지(77)의 상단으로부터 표시 영역(78)의 상단까지의 길이 "s"로 표시된다.
윈도우(71)의 우측단에 있는 스크롤 바(75)와 스크롤 박스(76)는 메뉴 이미지(77)의 어느 부분이 윈도우(71)에 표시되는지를 보여준다. 도 17에서, 스크롤 박스(76)는 스크롤 바(75)의 상부에 위치한다. 메뉴 이미지(77)의 상부가 윈도우(71)에 표시되는 것을 알 수 있다. 도 17에는 도시되지 않았지만, 아이템 이미지들은 윈도우(71)뿐만 아니라 윈도우(72)의 영역에 표시된다.
제 1 실시예에서, 플레이어는 컨트롤러(7) 자체를 조작함으로써 윈도우에 표시된 이미지를 스크롤할 수 있다. 구체적으로, 플레이어는 윈도우에 표시된 이미지를 위 아래로 스크롤하기 위해 상기 지시된 방향을 축으로 하여 컨트롤러(7)를 회전시키는 조작(회전 조작)을 수행한다.
도 19는 컨트롤러(7)의 회전 조작에 의한 윈도우의 이미지의 변화를 보여준다. 도 19는 컨트롤러(7)의 상태와, 컨트롤러(7)가 각각의 상태에 있을 때 얻어진 획득 이미지와, 컨트롤러(7)가 각각의 상태에 있을 때 윈도우(71)에서의 이미지 사이의 대응관계를 도시한다.
도 19에서, 상태 A에서, 컨트롤러(7)의 상부 표면은 위를 향한다. 상태 A에서 얻어진 획득 이미지(I7)에서, 마커(8a, 8b)의 이미지(8a', 8b')는 수평하게 배치된(이미지(8a', 8b')의 y축 좌표가 같음). 이 상태에서, 윈도우(71)에 표시된 이미지는 아이템 이미지(74b - 74d)를 포함한다.
도 19에 도시된 상태 B에서, 컨트롤러(7)는 상태 A로부터 소정의 각도로 반시계 방향으로 회전하였다. 상태 B에서 얻어진 획득 이미지에서, 이미지(8a', 8b')는 상태 A에서 소정의 각도로 시계방향으로 호를 그리며 이동되었다. 이 상태에서, 윈도우(71)에 표시된 이미지는 아이템 이미지(74c - 74e)를 포함한다. 즉, 윈도우(71)에 있는 이미지는 위로 스크롤 된다(표시된 영역이 아래로 스크롤 됨). 이와 같이, 플레이어는 컨트롤러(7)를 반시계 방향으로 회전시킴으로써 윈도우(71)에서 이미지를 위로 스크롤할 수 있다. 도 19에 도시된 상태 C에서, 컨트롤러(7)는 상태 A로부터 소정의 각도로 시계방향으로 회전되었다. 상태 C에서 얻어진 획득 이미지(I9)에서, 이미지(8a', 8b')는 상태 A로부터 소정의 각도로 반시계 방향으로 호를 그리며 이동되었다. 이 상태에서, 윈도우(71)에 표시된 이미지는 아이템 이미지(74a - 74c)를 포함한다. 즉, 윈도우(71)의 이미지는 아래로 스크롤 된다(표시된 영역이 위로 스크롤 됨. 이와 같이, 플레이어는 컨트롤러(7)를 시계방향으로 회전시킴으로써 윈도우(71)에서 이미지를 아래로 스크롤할 수 있다.
플레이어는 컨트롤러(7)에 의해 상기 지시된 위치를 변경함으로써 디스플레이 스크린상의 커서(73)를 이동할 수 있다. 즉, 게임장치(3)는 컨트롤러(7)의 위치 또는 자세에 따라 컨트롤러(7)에 의해 상기 지시된 위치를 결정하고, 상기 지시된 위치에 커서(73)를 표시한다.
플레이어는 윈도우를 커서(73)에 의해 조작 대상(스크롤되는 이미지)으로 지정할 수 있다. 구체적으로, 플레이어가 커서(73)를 가지고 어느 하나의 윈도우를 지정하면(커서(73)를 어느 하나의 윈도우의 위치로 이동함), 상기 지정된 윈도우는 상위 층에 표시된다. 플레이어가 커서(73)가 윈도우를 지정한 상태에서 회전 모션을 수행하면, 윈도우에서의 이미지가 스크롤된다. 복수의 윈도우가 표시되는 경우에도, 플레이어는 컨트롤러(7)를 사용하여 윈도우를 조작 대상으로 용이하게 지정할 수 있으며, 역시 컨트롤러(7)를 사용하여 상기 지정 윈도우에서의 이미지를 용이하게 스크롤할 수 있다.
다음, 제 1 실시예에서의 게임 처리가 상세히 설명된다. 도 20은 제 1 실시예에서 게임장치(3)의 메인 메모리(13)에 저장된 메인 데이터를 보여준다. 제 1 실시예에서, 메인 메모리(13)는 도 11에 도시된 데이터에 추가하여 다음의 데이터를 저장한다. 이전 방향 데이터(60)와 중간 포인트 데이터(61)는 조작 상태 데이터(56)의 일부로서 메인 메모리(13)에 저장된다. 대상 식별 데이터(62)는 조작 대상 데이터(58)의 일부로서 메인 메모리(13)에 저장된다.
이전 방향 데이터(60)는 직전 프레임에서 계산된 방향 데이터이다. 즉, 새로운 방향 데이터가 계산될 때, 방향 데이터(57)이었던 데이터는 이전 방향 데이터(60)로서 메인 메모리(13)에 저장된다. 상기 새로 계산된 데이터는 새로운 방향 데이터(57)로서 메인 메모리(13)에 저장된다. 이전 방향 데이터(60)는 윈도우에서의 이미지가 스크롤되는 양(스크롤량)을 계산하기 위해 사용된다.
중간 포인트 데이터(61)는 제 1 좌표 세트와 제 2 좌표 세트 사이의 중간 포인트의 좌표 세트를 표시한다. 마커(8a)의 이미지와 마커(8b)의 이미지가 하나의 일체형 대상 이미지로 간주되는 경우, 중간 포인트 데이터(61)는 대상 이미지의 위 치를 나타낸다. 중간 포인트 데이터(61)는 컨트롤러(7)에 의해 상기 지시된 위치, 즉 디스플레이 스크린상의 커서(73)의 위치를 계산하는데 사용된다.
대상 식별 데이터(62)는 커서(73)에 의해 현재 지정된 윈도우를 표시하고, 구체적으로는 그와 같은 윈도우에 부여된 소정의 번호를 나타낸다. 커서(73)가 어느 하나의 윈도우를 지정하지 않은 경우, 어떤 윈도우도 지정되지 않은 것을 나타내는 데이터가 대상 식별 데이터(62)로서 저장된다.
제 1 실시예에서, 위치 데이터(59)는 현재 지정된 윈도우의 표시 영역(78)의 위치, 즉 메뉴 이미지(77)의 상단으로부터 표시영역(78)의 상단까지의 길이(s)를 나타낸다.
도 21은 제 1 실시예에서 게임 처리의 흐름을 도시하는 흐름도이다. 도 21에서, 도 12에서 도시된 게임처리의 단계와 실질적으로 같은 단계는 같은 참조번호를 사용하며, 그 상세한 설명은 생략된다. 도 21에 도시된 흐름도의 처리가 개시될 때까지의 처리는 도 12의 경우에서와 같다.
제 1 실시예에서의 게임 처리는 다음과 같이 실행된다. 단계 S21에서 먼저, 초기화 처리가 실행된다. 초기화 처리에서, CPU(10)는 초기화 상태의 게임 스크린을 표시한다. 구체적으로, 가상 게임 공간이 구성되고, 플레이어 캐릭터가 소정의 초기 위치에 위치된다. 플레이어 캐릭터 주위의 게임 공간의 이미지가 생성되어 모니터(2)의 디스플레이 스크린에 표시된다.
단계 S21 이후, 상기한 단계 S1의 처리가 실행되며, 그 다음에 단계 S22의 처리가 실행된다. 단계 S22에서, 상기 게임이 메뉴 표시 모드로 설정되었는지 여부가 판정된다. 제 1 실시예의 게임에서 2개의 모드가 준비된다고 가정한다. 하나는 플레이어가 게임을 진행하기 위해 플레이어 캐릭터를 조작하는 게임모드이고, 다른 하나는 게임에 관한 설정 등을 변경하기 위해 메뉴 이미지가 표시되는 메뉴 표시 모드이다. 상기 2개의 모드는 예컨대 플레이어가 Y 버튼(32c)을 누르는 조작을 수행함으로써 전환된다. 이 실시예에서, 게임이 메뉴 표시 모드에 있을 때 복수의 윈도우가 표시된다. 다른 실시예에서, 게임이 메뉴 표시 모드에 있을 때 하나의 윈도우만이 표시되고, 플레이어가 제 1 윈도우에서 하나의 아이템을 선택함으로써 새로운 윈도우가 표시될 수 있다. 도 21에는 도시되지 않았지만, 모드를 스위칭하는 처리는 적절한 시간에 실행된다. 단계 S22에서, CPU(10)는 현재 모드가 게임 모드인지 메뉴 표시 모드인지 판정한다. 현재 모드가 메뉴 표시 모드인 경우, 단계 S2의 처리가 실행되지만; 현재 모드가 게임 모드인 경우에는 단계 S23의 처리가 실행된다.
단계 S23에서, 플레이어에 의해 수행된 게임 조작에 따라 게임 처리가 실행된다. 예를 들면, 플레이어 캐릭터는 원하는 모션을 수행한다. 상대방 캐릭터가 게임 공간에 나타난 경우, 상대방 캐릭터의 모션이 제어된다. 단계 S23 이후, 단계 S24의 처리가 실행된다.
단계 S2에서, 조작 상태 계산 처리가 실행된다. 도 22는 제 1 실시예에서 조작 상태 계산 처리(S2)의 상세한 흐름을 도시하는 흐름도이다. 도 22에서, 도 13에 도시된 게임 처리의 단계와 실질적으로 같은 단계는 같은 단계 번호를 가지며, 그에 대한 상세한 설명은 생략된다.
도 22에서, 단계 S11 내지 S16의 처리는 도 13을 참조하여 상술된 것과 같다. 제 1 실시예에서, 단계 S16 이후의 단계 S31에서, 대상 이미지를 나타내는 제 1 좌표 세트와 제 2 좌표 세트 사이의 중간 포인트의 위치가 계산된다. 구체적으로, CPU(10)는 상기 중간 포인트의 좌표 세트를 계산하기 위해 현재 제 1 좌표 세트 데이터(51)와 현재 제 2 좌표 세트 데이터(52)를 참조한다. 상기 중간 포인트의 계산된 좌표 세트에 대한 데이터는 중간 포인트 데이터(61)로서 메인 메모리(13)에 저장된다. 중간 포인트 데이터(61)는 획득 이미지에서 대상 이미지(마커(8a, 8b))의 위치를 나타낸다.
다음 단계 S32에서, 단계 S31에서 계산된 중간 포인트의 좌표 세트가 정정된다. 도 23은 도 22에 도시된 단계 S32의 처리를 도시한다. 도 23은 컨트롤러(7)의 상태와 컨트롤러(7)가 각각의 상태에 있을 때 얻어진 획득 이미지 사이의 대응을 보여준다. 도 23에서, 2개의 상태 A와 B에서, 모니터(2)의 디스플레이 스크린 중앙은 컨트롤러(7)에 의해 지시된 위치이다. 상태 A에서, 컨트롤러(7)의 상부 표면은 위로 향하고(이 실시예에서, 이 상태는 "기준상태"라고 한다.); 상태 B에서, 컨트롤러(7)의 상부 표면은 오른쪽을 향한다. 마커(8a, 8b)는 디스플레이 스크린에 위치되기 때문에, 마커(8a, 8b)의 위치는 지시된 위치(디스플레이 스크린의 중앙)와 일치하지 않는다. 그러므로, 상태 A에서, 대상 이미지는 획득 이미지의 중앙 위에 있다. 상태 B에서, 대상 이미지는 획득 이미지의 중앙의 왼쪽에 있다. 도 23에서 보이는 바와 같이, 컨트롤러(7)가 디스플레이 스크린 위의 동일한 위치를 가리키더라도, 중간 포인트의 위치("Pm"으로 표시됨)는 컨트롤러(7)의 자세에 따라 변한다. 다시 말해서, 마커(8a, 8b)의 위치가 지시된 위치(디스플레이 스크린의 중앙)와 일치하지 않기 때문에, 획득 이미지에서 대상 이미지의 위치는 지시된 방향을 축으로 하여 컨트롤러(7)를 회전시킴으로써 변한다. 이런 이유 때문에, 상기 지시된 위치는 단지 대상 이미지의 위치만을 기초로 해서는, 즉 대상 이미지의 위치를 계산하는 처리에 의해서 정확하게 계산될 수 없다(단계 S31).
이것을 피하기 위해, 단계 S32에서, 단계 S31에서 계산된 중간 포인트의 좌표 세트는 단계 S16에서 계산된 방향에 기초하여 정정된다. 구체적으로, 단계 S31에서 계산된 중간 포인트의 좌표 세트는 컨트롤러(7)가 기준상태에 있는 경우 얻어진 중간 포인트의 좌표 세트로 정정된다. 더욱 구체적으로, 단계 S31에서 계산된 중간 포인트의 좌표 세트는 단계 S16에서 계산된 방향과 기준상태에서의 방향 사이의 각도 차이에 대응하는 양만큼 획득 이미지의 중심을 축으로 주위를 원호를 그리며 이동한다. 도 23의 상태 B에서, 기준상태로부터 반시계 방향으로 90°기울어진 벡터가 단계 S16에서 계산된다. 그러므로, 컨트롤러(7)는 기준상태로부터 시계방향으로 90°기울어진 것을 알 수 있다. 따라서, 단계 S32에서, 단계 S31에서 계산된 중간 포인트의 좌표 세트는 획득 이미지의 중심을 축으로 주위를 시계방향으로 90°원호를 그리며 이동한다. 단계 S32에서 상기와 같이 정정된 중간 포인트의 좌표 세트를 나타내는 데이터는 메인 메모리(13)에 중간 포인트 데이터(61)로서 저장된다. 단계 S32에서 얻어진 중간 포인트의 정정된 좌표 세트에 기초하여, 게임장치(3)는 상기 지시된 위치를 컨트롤러(7)에 의해 계산할 수 있다. 단계 S32 이후, CPU(10)는 조작 상태 계산 처리를 종료한다.
도 21에 돌아가서, 단계 S2 이후, 단계 S24의 처리가 실행된다. 단계 S24에서, 디스플레이 스크린에서 커서(73)의 위치가 계산된다. 구체적으로, CPU(10)는 조작 상태 계산 처리의 단계 S32에서 얻어진 중간 포인트 데이터(61)를 기초로 디스플레이 스크린에서 커서(73)의 위치를 계산한다. 더 구체적으로는, 상기 중간 포인트를 나타내는 좌표계(x-y 좌표계)의 좌표 세트로부터, 디스플레이 스크린에 대응하는 좌표계 좌표 세트 값, 즉 상기 중간 포인트에 대응하는 디스플레이 스크린에서의 위치를 나타내는 좌표 세트 값이 계산된다. 디스플레이 스크린에서의 커서(73)의 위치는 중간 포인트의 좌표 세트를 모니터(2)의 디스플레이 스크린에서의 좌표 세트로 변환하는 함수를 사용하여 계산된다. 이 함수는 하나의 획득 이미지로부터 계산된 중간 포인트의 좌표 세트 값을 그와 같은 획득 이미지가 획득되는 때 컨트롤러(7)에 의해 지시된 디스플레이 스크린상의 위치(지시된 위치)를 나타내는 좌표 세트 값으로 변환한다. 이 함수는 디스플레이 스크린상의 지시된 위치가 상기 중간 포인트의 좌표 세트로부터 계산되도록 허용한다.
다음 단계 S25에서, 윈도우 중 어느 것이 커서(73)에 의해 지정되었는지 여부를 판정한다. 구체적으로, CPU(10)는 단계 S24에서 계산된 커서(73)의 위치가 윈도우 중 어느 것에 속하는지 여부를 판정한다. 커서(73)의 계산된 위치가 윈도우 중 어느 것에 속하는 경우, 윈도우 중 하나가 커서(73)에 의해 지정된다. 그 다음, 단계 S3의 처리가 실행된다. 이 경우에, 커서(73)에 의해 지정되는 것으로 판정된 윈도우는 조작 대상으로 설정된다. 즉, 커서(73)에 의해 지정되는 것으로 판정된 윈도우를 나타내는 데이터가 대상 식별 데이터(62)로서 메인 메모리(13)에 저장된다. 이에 반해, 상기 계산된 위치가 윈도우 중 어느 것에 속하지 않는 경우, 어떤 윈도우도 커서(73)에 의해 지정되지 않은 것으로 판정된다. 그 다음, 단계 S4의 처리가 실행된다.
단계 S3에서, 이동 처리가 실행된다. 제 1 실시예의 이동 처리에서, 조작 대상으로서 윈도우에 표시된 메뉴 이미지(77)는 컨트롤러(7)에 대한 회전조작에 의해 스크롤된다. 이하, 상기 이동 처리가 상세히 설명된다.
도 24는 제 1 실시예의 이동 처리의 상세한 흐름을 도시하는 흐름도이다. 상기 이동 처리는 다음과 같이 실행된다. 먼저 단계 S33에서, 현재의 방향과 이전의 방향 사이의 각도 차이가 계산된다. 상기 "현재 방향"은 현재의 프레임에서 계산된 대상 이미지의 방향, 즉 현재의 프레임에서 단계 S16에서 계산된 방향이다. 상기 현재 방향은 메인 메모리(13)에 저장된 방향 데이터(57)에 의해 표시된 벡터(이하 "제 1 벡터"라고 함)의 방향이다. 상기 "이전 방향"은 이전 프레임에서 계산된 대상 이미지의 방향, 즉 이전 프레임에서 단계 S16에서 계산된 방향이다. 상기 이전 방향은 메인 메모리(13)에 저장된 이전 방향 데이터(60)에 의해 표시된 벡터("제 2 벡터"라고 함)의 방향이다. 구체적으로, CPU(10)는 제 1 벡터와 제 2 벡터에 의해 만들어진 각도(각도 차이)(θ)를 계산한다. 상기 각도 차이(θ)는 -180°< θ≤180°범위에서 표시된다. 각도 차이(θ)는 제 2 벡터에 대해 시계방향에서 양의 값을 갖고, 제 2 벡터에 대해 음의 방향에서 음의 값을 갖는다. 양의 값을 갖는 각도 차이(θ)는 상기 획득 이미지가 시계방향으로 회전되고 컨트롤러(7)가 지시된 방향을 축으로 하여 주위를 반시계 방향으로 회전된 것을 의미한다(도 19의 상태 B 참조). 이에 반해, 음의 값을 갖는 각도 차이(θ)는 획득 이미지가 반시계 방향으로 회전되고 컨트롤러(7)가 상기 지시된 방향을 축으로 하여 시계방향으로 회전된 것을 의미한다(도 19의 상태 C 참조).
다음 단계 S34에서, 메뉴 이미지(77)의 스크롤 양이 단계 S33에서 계산된 각도 차이를 기초하여 계산된다. 상기 스크롤 양은 각도 차이(θ)가 양의 값을 가질 때 양의 값을 갖도록, 그리고 각도 차이(θ)가 음의 값을 가질 때 음의 값을 갖도록 정해진다. 상기 스크롤 양은 또한 각도 차이(θ)의 절대값이 커질수록 스크롤 양의 절대값이 커지도록 정해진다. 일반적으로, 스크롤 양은 각도 차이(θ)에 직접 비례하도록 결정된다.
다음 단계 S35에서, 표시영역이 단계 S34에서 계산된 스크롤 양에 따라 이동된다. 즉, 메뉴 이미지(77)의 상단으로부터 표시영역(78)의 상단까지의 거리(s)가 상기 스크롤 양에 따라 변경된다. 구체적으로, CPU(10)는 변경 전 길이에 상기 스크롤 양을 더하여 변경 후 길이를 계산한다. 메인 메모리(13)에 저장된 위치 데이터(59)의 양은 상기 계산된 변경 후 길이를 지시하는 값을 나타내도록 갱신된다. 나중에 설명되는 단계 S4의 표시처리에서, 표시영역(78)은 갱신 후 길이에 따르는 위치에 설정되고, 표시영역(78)에서의 메인 메뉴(77)는 윈도우에 표시된다. 이와 같이, 메뉴 이미지(77)는 스크롤링(이동)의 결과로서 디스플레이 스크린에 표시된다. 단계 S35에서, CPU(10)는 상기 이동 처리를 종료한다.
도 21을 참조하면, 단계 S3 이후 단계 S26에서, 플레이어가 윈도우에서 선택하는 조작을 수행했는지 여부가 판정된다. 구체적으로, CPU(10)는 플레이어가 그 와 같은 조작(예컨대, 버튼 A(32i)를 누르는 조작)을 수행했는지 여부를 판정하기 위해 단계 S1에서 얻어진 조작 데이터를 참조한다. 그와 같은 조작이 수행된 것으로 판정되는 경우, 단계 S27의 처리가 실행된다. 그와 같은 조작이 수행되지 않은 것으로 판정되는 경우, 단계 S27과 S28의 처리가 생략되고 단계 S4의 처리가 실행된다.
단계 S27에서, 한 아이템이 커서(73)에 의해 지정되었는지 여부가 판정된다. 구체적으로, CPU(10)는 단계 S25에서 계산된 디스플레이 스크린상의 위치가 아이템 이미지가 표시된 위치인지 여부를 판정한다.
디스플레이 스크린상의 위치가 아이템이 표시된 위치인 것으로 판정되는 경우, 단계 S28의 처리가 실행된다. 디스플레이 스크린상의 위치가 아이템이 표시된 위치가 아닌 것으로 판정되는 경우, 단계 S28의 처리는 생략되고 단계 S4의 처리가 실행된다. 단계 S26 및 S27의 처리는 커서(73)가 대응하는 아이템 이미지를 지정하는 상태에서 아이템이 선택되었는지 여부를 판정하기 위해 실행된다. 단계 S26과 S27에서의 판정 결과 모두가 "예"인 경우, CPU(10)는 아이템이 선택된 것으로 판정하고, 단계 S28에서 상기 선택된 아이템을 가지고 게임 처리를 실행한다.
단계 S28에서, 상기 선택된 아이템에 의한 처리가 실행된다. 예를 들면, 도 17에서 윈도우(71)의 아이템 이미지(74a)가 선택되는 경우, CPU(10)는 플레이어 캐릭터가 검을 사용할 수 있도록 플레이어 캐릭터에 관한 데이터, 플레이어 캐릭터의 이미지 등을 변경한다. 단계 S28 이후, 단계 S4의 처리가 실행된다.
단계 S4에서, 표시 처리가 실행된다. 즉, 현재 프레임에서 상기 이동 처리 가 단계 S3에서 실행되는 경우에, 메뉴 이미지(77)는 갱신된 위치 데이터(59)에 따라서 윈도우의 표시영역(78)에 표시된다. 커서(73)는 단계 S25에서 계산된 디스플레이 스크린상의 위치에 표시된다. 단계 S4 이후 단계 S5의 처리는 도 12를 참조하여 상술한 내용과 실질적으로 동일하다.
상술한 제 1 실시예에서, 조작 대상(윈도우에서의 이미지)은 디스플레이 스크린상의 지시된 위치를 나타내는 좌표 세트와 방향 데이터(57)에 의해 표현되는 2차원 벡터를 사용하는 계산에 의해 이동된다. 이와 같이, 윈도우에 표시된 내용은 컨트롤러(7) 자체를 회전시킴으로써 스크롤될 수 있다. 또한, 커서(73)는 컨트롤러(7) 의해 상기 지시된 위치를 변경함으로써 윈도우를 조작 대상으로서 지정하기 위해 디스플레이 스크린상에서 이동될 수 있다. 제 1 실시예에 의하면, 2개의 다른 형태의 조작, 즉 윈도우를 조작 대상으로서 지정하는 조작과 윈도우에 표시된 내용을 스크롤하는 조작이 컨트롤러(7) 자체를 조작함으로써 수행될 수 있다. 컨트롤러(7)를 사용하는 신규의 조작 방법이 제공될 수 있다.
제 1 실시예에서, 윈도우는 컨트롤러(7)를 사용하여 디스플레이 스크린상에 한 위치를 지정함으로써 조작 대상으로서 선택된다. 다른 실시예에서, 디스플레이 스크린상의 한 위치는 임의의 방법으로 지정될 수 있다. 예를 들면, 커서는 컨트롤러(7)에 제공된 십자형 키에 의해 이동될 수 있다.
제 1 실시예에서, 게임 중에 메뉴 이미지를 표시하는 윈도우가 예로서 설명된다. 다른 실시예에서, 상기 윈도우는 스크롤링의 대상으로서 게임을 위해 사용된 윈도우에 한정되지 않으며, PC 등의 데스크탑 이미지에 표시된 윈도우일 수 있 다. 본 발명은 범용 PC에 적용 가능하다. 예를 들면, 본 발명은 브라우저 윈도우에서 이미지를 스크롤 하는데 적용 가능하다.
컨트롤러(7)에 대한 회전 조작은 소정의 버튼 조작(예컨대, 버튼 B(32d)를 누르는 조작)이 수행되는 동안만 가능하도록 설정될 수 있다. 도 25는 제 1 실시예의 변형예에서 이동 처리의 상세한 흐름을 도시하는 흐름도이다. 도 25에 도시된 처리는 단계 S36의 처리가 실행되는 점에서 도 24에 도시된 처리와 다르다.
도 25에서는, 단계 S36에서, 소정의 버튼이 눌렸는지 여부가 판정된다. 구체적으로, CPU(10)는 그와 같은 조작(예컨대, 버튼 B(32d)를 누르는 조작)이 수행되었는지를 판정하기 위해 단계 S1에서 얻어진 조작 데이터를 참조한다. 그와 같은 조작이 수행된 것으로 판정되는 경우, 단계 S33 내지 S35의 처리가 실행된다. 그와 같은 조작이 수행되지 않은 것으로 판정되는 때, 단계 S33 내지 S35의 처리는 생략되며 CPU(10)는 상기 이동 처리를 종료한다.
상술한 바와 같이, 도 25에 도시된 처리에 의해, 버튼 B(32d)가 눌려지지 않을 때 표시영역(78)은 이동되지 않는다(메뉴 이미지(77)가 스크롤 되지 않음). 즉, 플레이어는 버튼 B(32D)를 누른 상태에서 상기 지시된 방향 주위로 컨트롤러(7)를 회전하는 동안만 윈도우의 표시 내용을 스크롤 할 수 있다. 버튼 B(32d)가 눌려졌는지 여부에 관계없이 표시영역(78)이 이동되는 경우(도 24에 도시된 이동 처리의 경우)에, 윈도우의 표시영역(78)은 만일 컨트롤러(7)가 조금이라도 회전되면 스크롤될 수 있다. 그러므로, 플레이어가 컨트롤러(7)를 회전시키려고 의도하지 않더라도, 예컨대, 플레이어가 단지 상기 지시된 위치를 변경하고자 하더라 도(상기 지시된 위치를 변경하는 조작을 수행하고자 함), 윈도우의 상기 표시 내용은 의도에도 불구하고 스크롤 될 수 있다.
이에 반해, 표시영역(78)이 버튼 B(32d)가 눌려진 상태에서 이동되는 경우(도 25에 도시된 이동 처리), 윈도우의 표시 내용은 플레이어가 의도할 때에만 스크롤된다. 플레이어는 윈도우에서 표시 내용을 스크롤하고자 할 때 버튼 B(32d)를 누르면서 컨트롤러(7)를 회전시킬 수 있다. 상술한 바와 같이, 도 25에 도시된 처리는 컨트롤러(7)가 플레이어의 의도에 불구하고 회전하는 것을 방지할 수 있다.
다른 실시예에서, 상기 스크롤 양은 단계 S33에서 계산된 각도 차이(θ)의 절대값이 소정의 값보다 작을 때 단계 S34에서 0으로 설정된다. 즉, 조작 대상은 각도 차이(θ)가 매우 작을 때 이동하지 않을 것이다. 게임의 형태나 상태에 따라서, 플레이어는 조작 대상을 특정 자세로 유지하고자 할 수 있다. 만일 그와 같은 경우에 조작 대상이 컨트롤러(7)의 회전각에 너무 민감하게 반응한 결과로 이동하면, 컨트롤러(7)의 조작성이 저하된다. 컨트롤러(7)의 회전 조작에 있어서 상술한 바와 같이 소위 "플레이" 마진을 설정함으로써, 컨트롤러(7)의 조작성이 개선될 수 있다.
제 1 실시예에서, 게임장치(3)는 컨트롤러(7)로부터 대상 이미지(마커(8a, 8b))의 2개의 위치를 나타내는 데이터를 조작 데이터로서 획득하여 상기 2개의 위치 사이의 중간 포인트를 계산하고, 그리하여 획득 이미지에서 이미지의 위치를 특정한다. 다른 실시예에서, 컨트롤러(7)는 중간 포인트의 위치를 계산하여 이것을 나타내는 데이터를 조작 데이터로서 게임장치(3)로 전송할 수 있다. 즉, 게임장 치(3)는 컨트롤러(7)로부터 대상 이미지의 위치를 나타내는 데이터를 조작 데이터로서 얻는다. 다른 실시예에서, 게임장치(3)는 컨트롤러(7)로부터 상기 획득 이미지의 이미지 데이터를 얻어서 상기 이미지 데이터로부터 대상 이미지의 위치를 계산한다. 이미지 데이터로부터 대상 이미지의 위치를 계산하는 하나의 예시적인 방법에 의하면, 대상 이미지의 2개의 위치(마커(8a, 8b)의 위치)는 이미지 데이터로부터 특정되고, 2개의 위치 사이의 중간 포인트는 제 1 실시예와 같이 계산된다.
(제 2 실시예)
이하에서, 본 발명이 플레이어 캐릭터를 이동시키는 조작에 적용되는 제 2 실시예가 설명된다. 이 실시예에서, 플레이어에 의해 조작된 플레이어 캐릭터가 3차원 공간에서 이동되는 게임이 설명된다. 도 26은 제 2 실시예에서 게임 스크린의 예를 도시한다. 도 26에서, 가상 3차원 게임 공간과 이 게임 공간에 존재하는 플레이어 캐릭터(81)가 모니터(2)의 디스플레이 스크린상에 표시된다. 커서(82)가 디스플레이 스크린상에 표시된다. 플레이어 캐릭터(81)는 플레이어에 의해 조작되며 플레이어에 의해 수행된 회전 조작의 조작 대상이다. 커서(82)는 제 1 실시예와 같이 컨트롤러(7)에 의해 상기 지시된 위치에 표시된다.
제 2 실시예에서, 플레이어는 컨트롤러(7)를 회전시킴으로써 플레이어 캐릭터(81)를 이동시킬 수 있다. 플레이어 캐릭터(81)를 이동시키기 위해, 플레이어는 먼저 자신이 이동시키고자 하는 방향으로 커서(82)를 이동시킨다. 커서(82)를 이동시키는 조작은 제 1 실시예에서와 실질적으로 동일하다. 다음, 커서(82)가 상기 방향으로 배치된 상태에서, 플레이어는 컨트롤러(7)를 회전시킨다. 예를 들면, 컨 트롤러(7)가 도 26에 도시된 상태에서 회전될 때, 플레이어 캐릭터(81)는 커서(82)에 의해 지시된 방향으로 이동한다(도 27 참조).
플레이어는 컨트롤러(7)의 회전 방향에 따라 플레이어 캐릭터(81)를 전후로 이동시킬 수 있다. 즉, 플레이어는 컨트롤러(7)의 회전 방향에 따라 플레이어 캐릭터(81)의 이동 방향을 제어할 수 있다. 도 28은 회전 조작에 의한 플레이어 캐릭터(81)의 이동 모션을 도시한다. 도 28은 컨트롤러(7)의 상태와 컨트롤러(7)가 각각의 상태에 있을 때 수행된 플레이어 캐릭터(81)의 이동 모션 사이의 대응을 보여준다. 도 28에서, 컨트롤러(7)는 후방(도 3a의 Z축 방향의 음의 종단으로부터, 즉 하우징(31)의 후방 종단으로부터)에서 본 것이다.
도 28의 상태 A에서, 컨트롤러(7)의 상부 표면이 위를 향하고 있다. 상태 A에서 얻어진 획득 이미지는 도 19에 도시된 획득 이미지(I7)와 같다. 즉, 마커(8a, 8b)의 이미지(8a', 8b')는 y축에 평행하게 배치된다. 도 28에 대해서, 이 상태는 "기준상태"라고 지칭될 것이다. 기준상태에서 획득 이미지로부터 계산된 대상 이미지의 방향은 "기준방향"으로 지칭된다. 도 28에서, 상기 기준방향은 마커(8a)의 이미지(8a')로부터 마커(8b)의 이미지(8b')로의 방향(또는 반대 방향)이다. 컨트롤러(7)가 기준상태에 있는 경우, 플레이어 캐릭터(81)는 움직이지 않는다(즉 정지됨). 상술한 바와 같이, 플레이어는 기준 방향을 설정할 수 있다.
도 28에 도시된 상태 B에서, 컨트롤러(7)는 기준 상태로부터 소정의 각도에서 반시계 방향으로 90°회전되었다. 상태 B에서 얻어진 획득 이미지는 도 19에서 도시된 획득 이미지(I8)와 같다. 즉, 이미지(8a', 8b')는 상태 A로부터 시계 방향 으로 소정의 각도를 원호를 그리며 이동되었다. 이 상태에서, 플레이어 캐릭터(81)는 커서(82)에 의해 지시된 위치의 방향으로 전방으로 이동한다. 도 28에 도시된 상태 C에서, 컨트롤러(7)는 기준 상태로부터 시계 방향으로 소정의 각도 회전되었다. 상태 C에서 얻어진 획득 이미지는 도 19에 도시된 획득 이미지(I9)와 같다. 즉, 이미지(8a', 8b')는 상태 A로부터 반시계 방향으로 소정의 각도를 원호를 그리며 이동되었다. 이 상태에서, 플레이어 캐릭터(81)는 후방으로 이동하고, 즉 커서(82)에 의해 지시된 위치의 방향과 반대인 방향으로 이동한다. 이런 식으로, 플레이어는 컨트롤러(7)를 반시계 방향 또는 시계 방향으로 회전시킴으로써 플레이어 캐릭터(81)를 전방 또는 후방으로 이동시킬 수 있다.
다음, 제 2 실시예에서 게임 처리가 상세히 설명된다. 도 29는 제 2 실시예에서 게임장치(3)의 메인 메모리(13)에 저장된 메인 데이터를 보여준다. 제 2 실시예에서, 메인 메모리(13)는 도 11에 도시된 데이터 외에 다음과 같은 데이터를 저장한다. 제 1 실시예에서 설명된 중간 포인트 데이터(61)는 조작 상태 데이터(56)의 일부로서 메인 메모리(13)에 저장된다. 기준 방향 데이터(63)도 역시 메인 메모리(13)에 저장된다. 이동 방향 데이터(64) 역시 조작 대상 데이터(58)의 일부로서 메인 메모리(13)에 저장된다.
기준 방향 데이터(63)는 기준 방향을 나타낸다. 상기 기준 방향은 획득 이미지로부터 얻어진 방향에 대해서 기준으로서 사용된다. 상기 기준 방향은 플레이어 캐릭터(81)의 이동량과 이동 방향을 판정하는데 사용된다. 구체적으로, 플레이어 캐릭터(81)의 이동량과 이동 방향은 기준 방향과 현재 방향(방향 데이터(57)에 의해 표현된 방향) 사이의 각도 차이에 기초하여 결정된다. 제 2 실시예에서, 기준 방향은 게임 시작시 플레이어에 의해 설정된다.
이동 방향 데이터(64)는 플레이어 캐릭터(81)의 이동 방향을 3차원 게임 공간에서 조작 대상으로서 나타낸다. 구체적으로, 이동 방향 데이터(64)는 3차원 게임 공간에서 방향을 나타내는 3차원 벡터에 대한 데이터이다. 제 2 실시예에서 위치 데이터(59)는 3차원 게임 공간에서 플레이어 캐릭터(81)의 위치를 나타내는 3차원 좌표 세트 값들에 대한 데이터이다.
도 30은 제 2 실시예에서 게임 처리의 흐름을 도시하는 흐름도이다. 도 30에서, 도 12에 도시된 게임 처리에서와 같은 단계들은 동일한 단계 번호를 가지며, 그 상세한 설명들은 생략된다. 도 30에 도시된 흐름도의 처리가 개시될 때까지의 처리는 도 12의 경우에서와 같다.
제 2 실시예의 게임 처리는 다음과 같이 실행된다. 먼저 단계 S41에서, 기준 방향이 설정된다. 구체적으로, CPU(10)는 디스플레이 등을 통해 기준 방향을 설정하는 조작을 수행하도록 플레이어를 재촉한다. 이에 의하여, 플레이어는 상기 지시된 방향을 축으로 한 회전에 대해서 컨트롤러(7)를 임의의 자세로 유지하고 기준 방향을 설정하는 조작(예컨대, 버튼 A(32i)를 누르는 조작)을 수행한다. 이 조작이 수행될 때, CPU(10)는, 단계 S16에서와 실질적으로 같은 처리에 의해, 조작이 수행되는 시점에서 얻어진 획득 이미지를 기초로 기준 방향을 계산한다. 상기 계산된 기준 방향을 지시하는 벡터를 나타내는 데이터는 기준 방향 데이터(63)로서 메인 메모리(13)에 저장된다. 제 2 실시예에서, 단계 S41에서와 같은 처리가 플레이어 캐릭터(81)를 이동시키는 처리 이전에 실행된다(단계 S3). 단계 S41 이후, 단계 S42의 처리가 실행된다.
단계 S42에서, 초기화 처리가 실행된다. 초기화 처리에서는, 3차원 게임 공간이 구성되어 모니터(2)의 디스플레이 스크린에 표시된다. 구체적으로, CPU(10)는 3차원 게임 공간을 구성하고 플레이어 캐릭터(81), 상대방 캐릭터 등을 상기 게임 공간에 배치한다. CPU(10)는 또한 게임 공간의 소정의 위치에 소정의 시선 방향으로 가상 카메라를 설정한다. CPU(10)는 상기 가상 카메라로부터 바라본 게임 공간의 이미지를 생성하여 모니터(2)에 표시한다. 이 실시예에서, 상기 가상 카메라의 위치와 시선 방향은 플레이어 캐릭터(81)가 디스플레이 스크린상에 표시되도록 자동으로 제어된다.
단계 S42 이후, 단계 S1의 처리가 제 1 실시예와 사실상 같은 방식으로 실행된다. 단계 S2의 조작 상태 계산 처리 역시 제 1 실시예와 사실상 같은 방식으로 실행된다. 즉, 상기 조작 상태 계산 처리에 의해, 조작 상태 데이터(56)가 계산되고, 방향 데이터(57)와 중간 포인트 데이터(61)는 메인 메모리(13)에 저장된다. 단계 S2 이후, 단계 S3의 처리가 실행된다.
단계 S3에서는, 이동처리가 실행된다. 제 2 실시예의 이동처리에서, 플레이어 캐릭터(81)는 조작 대상으로서 컨트롤러(7)에 대한 회전 조작에 따라 이동된다. 이하, 상기 이동처리가 상세히 설명된다.
도 31은, 제 2 실시예에서 이동처리의 상세한 흐름을 도시하는 흐름도이다. 제 2 실시예에서 이동처리는 다음과 같이 실행된다. 먼저 단계 S44에서, 단계 S16 에서 계산된 방향과 기준 방향 사이의 각도 차이가 계산된다. 구체적으로, CPU(10)는 메인 메모리(13)에 저장된 기준 방향 데이터(63)에 의해 표현된 벡터(제 2 실시예에서 "기준 벡터"라 함)와 조작 상태 데이터(56)의 방향 데이터(57)에 의해 표현된 벡터(제 2 실시예에서 "대상 벡터"라 함)에 의해 만들어진 각도(각도 차이)를 계산한다. 상기 각도 차이(θ')는 -180°< θ' ≤180°의 범위에서 표현된다. 각도 차이(θ')는 기준 벡터에 대해 시계 방향으로 양의 값을 갖고, 기준 벡터에 대해 반시계 방향으로 음의 값을 갖는다. 양의 값을 갖는 각도 차이(θ')는 획득 이미지가 기준 방향에 대해 시계 방향으로 회전되고 컨트롤러(7)가 기준 상태(도 28에 도시된 상태 B)로부터 상기 지시된 방향을 축으로 반시계 방향으로 회전된 것을 의미한다. 이에 반해, 음의 값을 갖는 각도 차이(θ')는 획득 이미지가 기준 방향에 대해 반시계 방향으로 회전되고 컨트롤러(7)가 기준 방향(도 28에 도시된 상태 C)으로부터 지시된 방향을 축으로 시계 방향으로 회전된 것을 의미한다.
다음 단계 S45에서, 단계 S44에서 계산된 각도 차이가 소정의 값보다 크거나 같은지 여부가 판정된다. 상기 소정의 값은 미리 계산된다. 단계 S45에서 각도 차이가 상기 소정의 값보다 크거나 같은 것으로 판정되면, 단계 S46 내지 S49의 일련의 처리가 실행된다. 단계 S45에서 각도 차이가 상기 소정의 값보다 작은 것으로 판정되면, 단계 S46 내지 S49의 일련의 처리들이 생략되고 CPU(10)는 상기 이동처리를 종료한다. 단계 S45의 판정은 플레이어 캐릭터(81)를 이동시킬 것인지 여부를 판정하기 위해 실행된다.
단계 S46에서, 대상 위치가 단계 S32에서 얻어진 중간 포인트의 좌표 세트를 기초로 계산된다. 상기 "대상 위치"는 커서(82)에 의해 지정되는 게임 공간에서의 위치이다. 대상 위치에 기초하여, 플레이어 캐릭터(81)의 이동 방향이 결정된다. 구체적으로, CPU(10)는 먼저 상기 중간 포인트의 좌표 세트로부터 디스플레이 스크린상의 위치(2차원 좌표 세트 값)를 계산한다. 디스플레이 스크린상의 위치는 제 1 실시예에서와 사실상 같은 방법으로 계산된다. 다음, 디스플레이 스크린상의 위치로부터, CPU(10)는 디스플레이 스크린상의 위치에 대응하는 게임 공간에서의 위치(3차원 좌표 세트 값)를 계산한다. 상기 "디스플레이 스크린상의 위치에 대응하는 게임 공간에서의 위치"는 디스플레이 스크린상의 위치에 표시되는 게임 공간에서의 위치이다. 게임 공간에서의 상기 계산된 위치는 대상 위치이다. 단계 S46 이후, 단계 S47의 처리가 실행된다.
단계 S47에서, 플레이어 캐릭터(81)의 이동 방향이 단계 S46에서 계산된 대상 위치와 플레이어 캐릭터(81)의 현재 위치를 기초로 정해진다. 구체적으로, CPU(10)는 플레이어 캐릭터(81)의 현재 위치를 시작점으로 하고 대상 위치를 종점으로 하는 3차원 벡터를 계산한다. 상기 계산된 벡터는 플레이어 캐릭터(81)의 이동 방향을 나타낸다. 상기 계산된 벡터에 대한 데이터는 메인 메모리(13)에 이동 방향 데이터(64)로서 저장된다. 단계 S47 이후, 단계 S48의 처리가 실행된다.
단계 S48에서, 플레이어 캐릭터(81)의 이동량(프레임당 이동량, 즉 속도)이 단계 S44에서 계산된 각도 차이를 기초로 계산된다. 이 실시예에서, 상기 이동량은 각도 차이(θ')가 양의 값을 가질 때 양의 값을 갖고, 각도 차이(θ')가 음의 값을 가질 때 음의 값을 갖도록 결정된다. 상기 이동량은 또한 상기 각도 차이(θ ')의 절대값이 커짐에 따라 이동량의 절대값이 더 커지도록 결정된다. 일반적으로, 상기 이동량은 각도 차이(θ')에 직접 비례하도록 결정된다. 단계 S48 이후, 단계 S49의 처리가 실행된다.
단계 S49에서, 플레이어 캐릭터(81)의 이동 후의 위치가 계산된다. 플레이어 캐릭터(81)의 이동 후의 위치는 단계 S47에서 계산된 이동 방향과 단계 S48에서 계산된 이동량을 기초로 계산된다. 구체적으로, CPU(10)는 먼저 소정의 크기를 갖는 유닛 벡터를 계산하기 위해 이동 방향을 나타내는 벡터(이동 방향 데이터(64)에 의해 표시된 벡터)를 정규화한다. CPU(10)는 상기 유닛 벡터에 이동량을 곱하여 벡터를 계산한다. CPU(10)는 그 다음에 상기 계산된 벡터의 크기만큼 플레이어 캐릭터(81)를 현재 위치(시작점)로부터 이동시켜 얻어진 위치를 플레이어 캐릭터(81)의 이동 후 위치로서 설정한다. 상기 이동량이 양의 값을 가질 때, 상기 계산된 벡터는 유닛 벡터에 방향이 반대이고, 따라서 플레이어 캐릭터(81)는 전방으로 이동한다. 상기 이동량이 음의 값을 가질 때, 플레이어 캐릭터(81)는 같은 이유로 후방으로 이동한다. 이와 같이 계산된 이동 후 위치를 나타내는 좌표 세트 값에 대한 데이터는 메인 메모리(13)에 위치 데이터(59)로서 저장된다. 단계 S49 이후, CPU(10)는 이동처리를 종료한다.
도 30에서, 단계 S3 이후 단계 S43에서, 플레이어 캐릭터(81)를 이동시키는 처리 이외의 다른 게임 처리가 실행된다. 다른 게임 처리는 예를 들면 플레이어 캐릭터(81)에 이동하는 외의 다른 모션(상대방 캐릭터를 공격하는 모션)을 수행시키는 처리와 상대방 캐릭터의 모션을 제어하는 처리를 포함한다.
다음에 단계 S4에서, 표시 처리가 실행된다. 상기 표시 처리에서, 단계 S3에서 결정된 이동 후 위치에 배치된 플레이어 캐릭터(81)를 포함하는 게임 공간의 이미지가 표시된다. 이와 같이, 플레이어 캐릭터(81)는 디스플레이 스크린상에 이동하고 있는 것으로 표시된다. 단계 S4 이후 단계 S5에서의 처리는 도 12를 참조하여 상술한 바와 사실상 동일하다.
상술한 바와 같이, 제 2 실시예에서, 플레이어 캐릭터(81)는 컨트롤러(7) 자체를 회전시키는 조작에 의해 전후로 이동될 수 있다. 또한, 컨트롤러(7)에 의한 상기 지시된 위치를 변경시키는 조작에 의해 플레이어 캐릭터(81)가 이동하는 방향을 지시하기 위해 커서(82)는 디스플레이 스크린상에서 이동될 수 있다. 즉, 제 2 실시예에서, 2개의 다른 형태의 조작, 즉 플레이어 캐릭터(81)가 조작 대상으로서 이동하는 이동량을 지시하는 조작과 플레이어 캐릭터(81)가 이동하는 이동 방향을 지시하는 조작이 컨트롤러(7) 자체를 조작함으로써 수행될 수 있다. 컨트롤러(7)를 사용하는 새로운 조작 방법이 제공될 수 있다.
제 2 실시예에서, 플레이어 캐릭터(81)는 단계 S16에서 계산된 방향과 기준 방향 사이의 각도 차이(θ')가 소정의 값보다 작을 때 이동하지 않는다. 그러므로, 컨트롤러(7)가 기준 상태로부터 조금 회전되더라도, 플레이어 캐릭터(81)는 이동하지 않는다. 만일 플레이어 캐릭터(81)가 컨트롤러(7)의 회전 각도에 너무 민감하게 반응한 결과로서 이동하면, 플레이어 캐릭터(81)는 플레이어의 의도에 불구하고 이동할 것이며, 이는 컨트롤러(7)의 조작성을 저하시킨다. 게임의 형태나 상황에 따라서, 플레이어는 조작 대상을 특정 자세로 유지하기를 원할 수 있다. 만 일, 이와 같은 경우에, 조작 대상이 컨트롤러(7)의 회전 각도에 대해 너무 민감하게 반응한 결과로서 이동하면, 조작 대상을 특정 자세로 유지하는 것이 어렵게 되고 컨트롤러(7)의 조작성은 저하된다. 이에 반해, 제 2 실시예에서는, 컨트롤러(7)가 기준 상태로부터 조금 회전되더라도, 플레이어 캐릭터(81)는 이동하지 않는다. 이것은 플레이어 캐릭터(81)가 플레이어의 의도에 불구하고 이동하는 것을 방지한다. 이런 식으로 컨트롤러(7)의 회전 조작에 소위 "플레이" 마진을 설정함으로써, 컨트롤러(7)의 조작성이 향상될 수 있다.
제 2 실시예에서, 가상 3차원 게임 공간에 나타나는 오브젝트는 조작 대상이다. 또는, 게임 공간의 이미지를 생성하는 가상 카메라가 조작 대상일 수 있다. 즉, 상기 가상 카메라는 단계 S16에서 계산된 방향에 따라 대상위치로 이동될 수 있다. 가상 카메라가 조작 대상인 경우, 가상 카메라는 도 30과 도 31을 참조하여 상술한 바와 사실상 동일한 처리에 의해 대상 위치로 이동될 수 있다.
제 2 실시예에서, 플레이어 캐릭터(81)는 조작 대상으로서 대상 위치의 방향으로 이동된다. 다른 실시예에서 플레이어 캐릭터(81)는 대상 위치의 방향으로 이동하는 것과 반대로 대상 위치까지 이동할 수 있다. 이 경우, 대상 위치는 컨트롤러(7)에 제공된 소정의 버튼을 누름으로써 결정된다. 즉, 플레이어는 컨트롤러(7)를 가지고 원하는 위치로 커서(82)를 이동하며, 커서(82)가 원하는 위치에 도달하는 때 소정의 버튼을 누른다. 눌려지는 소정의 버튼에 따라서, 게임장치(3)는 대상 위치를 결정하고 플레이어 캐릭터(81)를 대상 위치까지 이동시킨다. 즉, 커서(82)는 소정의 버튼이 눌려진 후 다른 위치로 이동하지만, 플레이어 캐릭터(81) 는 새로운 대상 버튼이 결정되지 않으면 상기 대상 위치까지 이동된다. 프레임당 이동량은 각도 차이에 따라 결정된다.
(제 3 실시예)
이하, 본 발명이 플레이어 캐릭터를 이동시키는 조작에 적용되는 제 3 실시예가 설명된다. 이 실시예에서, 플레이어가 카트(플레이어 캐릭터)를 조작하는 경주 게임이 설명된다. 도 32는 제 3 실시예에서의 게임 스크린을 보여준다. 도 32에서, 경주 코스로서 가상 3차원 게임 공간과 게임 공간에 있는 카트(91 - 93)가 모니터(2)의 디스플레이 스크린에 표시된다. 카트(91)는 조작자(플레이어 카트)에 의해 조작되며, 카트(92, 93)는 그 모션에 대해 게임장치(3)에 의해 제어된다.
제 3 실시예에서, 플레이어는 컨트롤러(7)를 회전시키고 상기 컨트롤러(7)에 제공된 버튼을 누름으로써 플레이어 카트(91)를 움직일 수 있다. 구체적으로, 플레이어 카트(91)의 가속도의 전-후 방향에 대한 성분은 컨트롤러(7)에 대한 회전조작에 의해 결정된다. 플레이어 카트(91)의 가속도의 좌-우 방향에 대한 성분은 십자형 키(32a)의 누름 조작에 의해 결정된다. 이 실시예에서, 가속도는 프레임당 플레이어 카트(91)의 속도를 판정하기 위해 사용되는 변수이다. 플레이어 카트(91)는 상기 가속도를 기초로 결정된 속도를 기초로 이동된다. 플레이어는 플레이어 카트(91)의 가속도의 전-후 방향 성분을 조정하기 위해 컨트롤러(7)를 회전시키고, 및 플레이어 카트(91)의 가속도의 좌-우 방향 성분을 조정하기 위해 십자형 키(31a)의 좌측 또는 우측 키를 누른다. 이와 같이, 플레이어는 플레이어 카트(91)의 이동을 제어한다.
도 33은 회전 조작에 의해 변경되는 플레이어 카트(91)의 가속도를 도시한다. 도 33은 컨트롤러의 상태(7)와 컨트롤러(7)가 각각의 상태에 있을 때 플레이어 카트(91)의 가속도(전-후 방향 성분) 사이의 대응을 보여준다. 도 33에서, 컨트롤러(7)는 후방에서(도 3a의 Z축의 음의 종단방향으로부터, 즉 하우징(31)의 후단으로부터) 본 것이다.
도 33에 도시된 상태 A에서, 컨트롤러(7)는 그 상부 표면이 위를 향하는 상태로부터 소정의 각도(θa)로 반시계 방향으로 회전되었다. 제 3 실시예에서, 컨트롤러(7)의 상부 표면이 위를 향하는 상태에서 컨트롤러(7)의 상부 표면에 수직인 상향이 0°로 설정된다. 컨트롤러(7)가 상태 A에 있는 경우, 플레이어 카트(91)의 가속도는 "0"으로 계산된다. 제 3 실시예에서, 상태 A는 "기준 상태"로 지칭될 것이다. 상기 기준 상태에서 획득 이미지로부터 계산된 대상 이미지의 방향은 "기준 방향"으로 지칭될 것이다.
도 33의 상태 B에서, 컨트롤러(7)는 상태 A로부터 소정의 각도로 시계 방향으로 회전되었다. 컨트롤러(7)가 상태 B에 있는 경우, 플레이어 카트(91)의 가속도는 "A1"으로 계산된다. 도 33에 도시된 상태 C에서, 컨트롤러(7)는 그 상부가 위를 향하는 상태로부터 소정의 각도(θa)로 시계 방향으로 회전되었다. 컨트롤러(9)가 상태 C에 있는 경우, 플레이어 카트(91)의 가속도는 "Amax"로 계산된다. "Amax"는 가속도의 최대값이다. 상술한 바와 같이, 플레이어 카트(91)의 가속도는 컨트롤러(7)가 상태 A로부터 시계 방향으로 회전되면서 증가하도록 그리고 상태 C에서 최대가 되도록 계산된다.
다음, 제 3 실시예의 게임 처리가 상세히 설명된다. 도 34는 제 3 실시예에서 게임장치(3)의 메인 메모리(13)에 저장된 메인 데이터를 보여준다. 제 3 실시예에서, 메인 메모리(13)는 도 11에 도시된 데이터 외에 다음의 데이터를 저장한다. 기준 방향 데이터(63)가 메인 메모리(13)에 저장된다. 속도 벡터 데이터(65)와 가속도 벡터 데이터(66)가 또한 조작 상태 데이터(58)의 일부로서 메인 메모리(13)에 저장된다.
기준 방향 데이터(63)는 기준 방향을 나타낸다. 기준 방향은 상기 획득 이미지로부터 얻어진 방향에 대한 기준으로서 사용된다. 상기 기준 방향은 플레이어 카트(91)의 가속도를 계산하는데 사용된다. 구체적으로, 플레이어 카트(91)의 가속도는 기준 방향과 현재 방향(방향 데이터(57)에 의해 표시된 방향) 사이의 각도 차이에 기초하여 결정된다. 상기 기준 방향은 제 3 실시예에서 미리 결정되지만, 다른 실시예에서는 게임의 시작시 플레이어에 의해 설정될 수 있다.
속도 벡터 데이터(65)는 플레이어 카트(91)의 속도를 나타낸다. 즉, 속도 벡터 데이터(65)는 프레임당 플레이어 카트(91)의 이동 방향과 이동량을 나타낸다. 가속도 벡터 데이터(66)는 플레이어 카트(91)의 가속도 벡터를 나타낸다. 제 3 실시예에서, 가속도 벡터 데이터(66)는 플레이어 카트(91)의 속도를 계산하는데 사용된다.
도 35는 제 3 실시예에서 게임 처리의 흐름을 도시하는 흐름도이다. 도 35에서, 도 12에 도시된 게임 처리에서와 사실상 같은 단계들은 같은 단계 번호를 가지며, 그것에 대한 상세한 설명은 생략된다. 도 35에 도시된 흐름도의 처리가 개 시될 때까지의 처리는 도 12의 경우에서와 같다.
제 3 실시예의 게임 처리는 다음과 같이 실행된다. 먼저 단계 S51에서, 초기화 처리가 실행된다. 초기화 처리에서, 3차원 게임 공간이 구성되어 모니터(2)의 디스플레이 스크린에 표시된다. 구체적으로, CPU(10)는 3차원 게임 공간을 구성하고 플레이어 카트(91)를 포함하는 복수의 카트를 상기 게임 공간에 배치한다. CPU(10)는 또한 게임 공간의 소정의 위치에 소정의 시선 방향으로 가상 카메라를 설정한다. CPU(10)는 상기 가상 카메라로부터 본 게임 공간의 이미지를 생성하여 모니터(2)에 표시한다. 이 실시예에서, 가상 카메라의 시선 방향과 위치는 플레이어 카트(91)가 디스플레이 스크린에 표시되도록 자동으로 제어된다.
단계 S51에서, 단계 S1의 처리는 도 12를 참조하여 상술한 것과 사실상 같은 방식으로 실행된다. 단계 S2에서 조작 상태 계산 처리 역시 도 12에 참조하여 상술한 것과 사실상 같은 방식으로 실행된다. 즉, 조작 상태 계산 처리에 의해, 조종 상태 데이터(56)가 계산되며, 방향 데이터(57)는 메인 메모리(13)에 저장된다. 단계 S2 이후, 단계 S3의 처리가 실행된다.
단계 S3에서, 이동 처리가 실행된다. 제 3 실시예의 이동 처리에서, 플레이어 카트(91)는 조작 대상으로서 컨트롤러(7)의 회전 조작과 십자형 키(32a)에 대한 누름 조작에 따라 이동된다. 이하, 이동 처리가 상세히 설명된다.
도 36은 제 3 실시예의 이동 처리의 상세한 흐름을 도시하는 흐름도이다. 제 3 실시예의 이동 처리는 다음과 같이 실행된다. 먼저 단계 S53에서, 플레이어 카트(91)의 가속도의 전-후 방향 성분이 단계 S16에서 계산된 방향을 기초로, 더욱 구체적으로는, 단계 S16에서 계산된 방향과 기준 방향 사이의 각도 차이를 기초로 계산된다. 각도 차이는 -180°< θ' ≤180°의 범위에서 표현된다. 각도 차이는 제 2 실시예에서 설명한 바와 같이 기준 벡터에 대해 반시계 방향에서 양의 값을 갖고 기준 벡터에 대해 시계 방향에서 음의 값을 갖는다. 양의 값을 갖는 각도 차이는 획득 이미지가 기준 방향에 대해 반시계 방향으로 회전되었고 컨트롤러(7)가 지시된 방향을 축으로 하여 기준 상태로부터 시계 방향으로 회전되었음을 의미한다.
구체적으로, CPU(10)는 먼저 기준 방향과 단계 S16에서 계산된 방향 사이의 각도 차이를 계산한다. 다음, CPU(10)는 상기 계산된 각도 차이에 의한 크기를 갖도록 가속도의 전-후 방향 성분을 계산한다. 도 33에 도시된 바와 같이, 가속도의 전-후 방향 성분(A)은 0 ≤A ≤Amax 의 범위에서 상기 각도 차이에 의한 크기를 갖도록 계산된다. 컨트롤러(7)가 상태 A로부터 추가로 반시계 방향으로 회전되는 경우, 즉 상기 각도 차이가 음의 값을 갖는 경우, 가속도의 전-후 방향 성분은 "0"으로 계산된다. 컨트롤러(7)가 상태 C로부터 시계 방향으로 추가로 회전되는 경우, 즉 각도 차이가 θa + θb 보다 큰 값을 갖는 경우, 가속도의 전-후 방향 성분은 "Amax"로 계산된다. 단계 S53 이후, 단계 S54의 처리가 실행된다.
단계 S54에서, 가속도의 좌-우 방향 성분이 조작 키에 대한 누름에 기초하여 결정된다. 구체적으로, CPU(10)는 십자형 키(32a)의 우측 키와 좌측 키 중 어느 것이 눌렸는지를 단계 S1에서 얻어진 조작 데이터를 기초로 판정한다. 우측 키가 눌렸을 때, CPU(10)는 좌-우 방향 성분의 크기가 우측 방향을 나타내는 소정의 값 이 되도록 결정한다. 좌측 키가 눌렸을 때, CPU(10)는 좌-우 방향 성분의 크기가 좌측 방향을 나타내는 소정의 값이 되도록 결정한다. 가속도 벡터는 단계 S53에서 계산된 가속도의 전-후 방향 성분과 단계 S54에서 계산된 좌-우 방향 성분을 합성함으로써 얻어진다. 상기 계산된 가속도 벡터에 대한 데이터는 메인 메모리(13)에 가속도 벡터 데이터(66)로서 저장된다. 단계 S54 이후, 단계 S55의 처리가 실행된다.
단계 S55에서, 속도는 단계 S53과 S54에서 계산된 가속도에 기초하여 계산된다. 새로운 속도 벡터가 이전 프레임에서의 속도 벡터와 단계 S53과 S54에서 얻어진 가속도 벡터를 가산함으로써 얻어진다. 구체적으로, CPU(10)는 상기 새로운 속도를 계산하기 위해 메인 메모리(13)에 저장된 속도 벡터 데이터(65)와 가속도 벡터 데이터(66)를 참조한다. CPU(10)는 그 다음에 상기 계산된 속도 벡터에 대한 데이터를 메인 메모리(13)에 새로운 벡터 데이터(65)로서 저장한다. 단계 S55 이후, 단계 S56의 처리가 실행된다.
단계 S56에서, 플레이어 카트(91)의 이동 후 위치가 단계 S55에서 계산된 속도를 기초로 계산된다. 구체적으로, CPU(10)는, 플레이어 카트(91)를 현재 위치(시작 위치)로부터 속도 벡터의 크기만큼 속도 벡터의 방향으로 이동시킴으로써 얻어진 위치를, 플레이어 카트(91)의 이동 후 위치로서 계산한다. 상기 계산된 이동 후 위치에 대한 데이터는 메인 메모리(13)에 갱신된 위치 데이터(59)로서 저장된다. 단계 S56 이후, CPU(10)는 이동 처리를 종료한다.
도 35에 돌아가서, 단계 S3 이후 단계 S52에서, 다른 게임 처리가 실행된다. 예를 들면, 플레이어 카트(91) 외의 다른 카트를 이동시키는 처리가 실행된다. 다음에 단계 S4에서, 표시 처리가 실행된다. 표시 처리에서, 단계 S3에서 결정된 이동 후 위치에 배치된 플레이어 카트(91)를 포함하는 게임 공간의 이미지가 표시된다. 이와 같이, 플레이어 카트(91)는 이동시 디스플레이 스크린에 표시된다. 단계 S4 이후 단계 S5에서의 처리는 도 12를 참조하여 설명한 것과 사실상 동일하다.
전술한 바와 같이, 제 3 실시예에서, 게임 공간의 플레이어 카트(91)의 가속도(속도)는 컨트롤러(7) 자체를 회전시키는 조작에 의해 변경될 수 있다. 또한, 플레이어 카트(91)의 이동 방향은 컨트롤러(7)의 조작 버튼을 누르는 조작에 의해 변경될 수 있다. 즉, 제 3 실시예에서, 조작 대상으로서 플레이어 카트(91)의 이동은 컨트롤러(7) 자체를 조작함으로써 그리고 컨트롤러(7)에 제공된 조작 버튼에 의해 제어될 수 있다. 이와 같이, 컨트롤러(7) 자체를 이동시키는 조작과 컨트롤러(7)에 제공된 조작 버튼에 대해 수행된 조작의 조합에 의한 하나의 조작 대상을 조작하는 새로운 조작 방법이 제공될 수 있다.
상술한 실시예에서, 회전각, 즉 방향 데이터(57)에 대응하는 벡터와 기준 벡터 사이의 차이가 각도 차이로서 계산되며, 이것은 회전량의 한 예이다. 또는, 벡터 사이의 차이가 벡터(차분 벡터)로서 계산될 수 있으며, 이것은 상기 각도 차이 대신에 사용될 수 있다. 또는, 조작 대상이 상기 차분 벡터의 소정의 성분의 값만을 사용하여 이동될 수 있다. 다른 실시예에서, 조작 대상은 기준 벡터를 사용하지 않고 방향 데이터에 대응하는 벡터의 값만을 사용하여 이동될 수 있다. 예를 들면, 벡터가 각각의 값을 가질 때 방향 데이터에 대응하는 벡터의 값과 조작 대상 의 위치(디스플레이 스크린상의 또는 게임 공간의 위치) 사이의 대응이 결정될 수 있다. 이 경우, 조작 대상은 단지 상기 벡터의 값만을 사용하여 이동될 수 있다. 이와 같이, 각도 차이를 계산하는 비용은 컨트롤러(7)의 경사를 기초로 수행될 수 있도록 제어를 허용하면서 경감될 수 있다.
상기한 바와 같이, 본 발명에 의한 정보 처리시스템과 프로그램이 게임시스템과 게임 프로그램으로서 구현된다. 본 발명은 게임 분야에서 사용하는 것에 한정되지 않으며, 획득 이미지를 사용하여 입력장치 자체의 위치나 방향을 검출하는 입력장치를 사용하는 임의의 정보처리시스템에 적용 가능하다.
예를 들면, 제 1 실시예는 게임 메뉴 스크린을 표시할 뿐 아니라 디스플레이 스크린상의 임의의 위치를 지정하는 시스템에 적용 가능하다. 이와 같은 시스템은 컨퍼런스 등에서 발표자가 스크린에 표시된 내용을 설명하는데 사용된다. 구체적으로, 커서가 디스플레이 스크린상에서 이동되고 디스플레이 스크린상에 표시된 이미지가 스크롤되며, 둘 다 제 1 실시예에서와 사실상 같은 방식으로 이루어진다. 이와 같은 시스템을 가지고, 발표자는 하나의 컨트롤러(7)를 가지고 디스플레이 스크린상의 임의의 위치를 지정하기 위해 커서를 이동시키는 조작과 디스플레이 스크린상의 표시 내용을 스크롤하는 조작을 수행할 수 있다. 커서에 의한 위치의 지정과 표시 내용의 스크롤링은 한 손으로 행해질 수 있기 때문에, 시스템은 발표자에게 아주 편리하다.
본 발명은 사용자가 자신의 손에 잡고서 사용하는 입력장치를 구비하는 정보 처리시스템의 새로운 조작을 제공하며, 예컨대 게임장치 또는 게임 프로그램에 적용 가능하다.
이상 본 발명이 상세히 설명되었지만, 전술한 내용은 단지 예시적인 것이며 이에 한정되지 않는다. 본 발명에 속하는 기술분야의 전문가는 본 발명의 범위를 벗어나지 않으면서 다양한 다른 변경 및 변형이 이루어질 수 있음을 이해할 것이다.
Claims (104)
- 이미지화 대상의 이미지를 획득하는 이미지화 수단을 포함하는 조작장치로부터 조작 데이터를 수신하고, 소정의 조작 대상에 대해 상기 조작 데이터를 사용하여 계산처리를 수행함으로써 얻어진 가상 공간을 표시장치에 표시하는 정보처리장치의 컴퓨터에 의해 실행 가능한 프로그램을 저장한 컴퓨터로 읽을 수 있는 저장매체에 있어서,상기 프로그램은,상기 조작장치의 이미지화 수단에 의해 획득된 획득 이미지를 조작 데이터로서 획득하는 획득단계;상기 획득 이미지에서 이미지화 대상의 위치를 사용하여 2차원 벡터를 계산하는 벡터 계산단계;상기 2차원 벡터의 계산된 값에 따라 소정의 방향으로 상기 조작 대상을 이동시키는 제 1 이동 단계; 및상기 제 1 이동단계에서 조작 대상의 이동에 따라 변경된 상기 가상 공간을 상기 표시장치의 표시영역에 표시하는 표시단계;를 상기 컴퓨터에 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 1 항에 있어서,상기 벡터 계산단계는,상기 이미지화 대상의 이미지에서 소정의 2개 포인트의 좌표 세트를 상기 획득 이미지에 대응하는 좌표계에서 계산하는 제 1 계산단계; 및상기 소정의 2개 포인트의 좌표 세트를 연결시키는 2차원 벡터를 계산하는 제 2 계산단계를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 2 항에 있어서,상기 프로그램은 상기 소정의 2개의 포인트 사이의 중간 포인트의 좌표 세트에 대응하여 상기 표시영역 상의 위치에 대응하는 소정의 지시된 좌표 세트를 계산하는 지시된 좌표 세트 계산단계를 컴퓨터에 추가로 실행시키고,상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 3 항에 있어서,상기 지시된 좌표 세트 계산단계는,상기 이미지화 수단에 의해 획득된 이미지가 상기 이미지의 중심 둘레에서 회전하고 상기 2차원 벡터가 상기 회전에 의해 하나의 특정 방향을 향하는 경우에 상기 이미지화 대상의 이미지의 위치를 계산하는 제 1 단계; 및상기 제 1 단계에서 계산된 위치에 대응하여 상기 표시영역상의 위치에 대응 하는 상기 지시된 좌표 세트를 계산하는 제 2 단계를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 3 항에 있어서,상기 프로그램은,하나 이상의 오브젝트(object)를 상기 가상 공간에 배치하는 오브젝트 배치단계;상기 하나 이상의 오브젝트 중 어느 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 표시영역상의 위치에 표시되는지 여부를 판정하는 판정단계; 및상기 하나 이상의 오브젝트 중 하나가 상기 지시된 좌표 세트에 대응하는 위치에 표시된 것으로 판정되는 경우, 상기 하나의 오브젝트를 조작 대상으로 설정하는 조작 대상 설정단계를 상기 컴퓨터에 추가로 실행시키고,상기 제 1 이동단계는 상기 조작 대상 설정단계에서 설정된 상기 하나의 오브젝트를 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 5 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 오브젝트 배치단계는 하나 이상의 3차원 오브젝트를 가상의 3차원 공간에 배치하며;상기 제 1 이동단계는 상기 하나 이상의 3차원 오브젝트 중 하나를 상기 가상 공간에서 소정의 3차원 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 3 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 프로그램은 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 가상 공간에서 3차원 좌표 세트를 계산하고 상기 3차원 좌표 세트를 3차원 지시된 좌표 세트로 설정하는 3차원 지시된 좌표 세트 설정단계를 상기 컴퓨터에 추가로 실행시키고,상기 제 1 이동단계는 상기 2차원 벡터와 상기 3차원 지시된 좌표 세트를 이용한 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 7 항에 있어서,상기 제 1 이동단계는 상기 3차원 지시된 좌표 세트 설정단계에서 계산된 상기 3차원 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 3 항에 있어서,상기 제 1 이동단계는 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 3 항에 있어서,상기 가상 공간은 상기 표시단계에서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 프로그램은 상기 지시된 좌표 세트가 상기 소정의 범위에 대응하는 범위에 포함되는지 여부를 판정하고 상기 지시된 좌표 세트가 포함되는 경우 상기 오브젝트를 상기 조작 대상으로 설정하는 조작 대상 설정단계를 상기 컴퓨터에 추가로 실행시키고,상기 제 1 이동단계는 상기 조작 대상 설정단계에서 설정된 상기 오브젝트의 표시 내용을 이동시켜서, 상기 소정의 범위에서 표시된 이미지를 상기 소정의 방향으로 스크롤 되게 하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 3 항에 있어서,상기 가상 공간은 선택 가능한 아이템들을 나타내는 아이템 이미지로서 상기 표시단계에서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 제 1 이동단계는 상기 선택 가능한 아이템들이 상기 소정의 방향으로 스크롤되어 상기 소정의 범위에 순차적으로 표시되도록, 상기 조작 대상 설정단계에서 설정된 상기 오브젝트의 표시 내용을 이동시키며;상기 프로그램은,상기 선택 가능한 아이템들 중 하나가 선택된 것을 보여주는 지시입력을 수용하는 선택입력 수용단계; 및상기 아이템 이미지 중 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트의 위치에 표시되는 시점에 상기 지시입력이 수용되는 경우, 상기 아이템 이미지들 중 상기 하나에 의해 표시된 상기 선택 가능한 아이템이 선택된 것으로 결정하는 아이템 결정단계를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 1 항에 있어서,상기 프로그램은 상기 획득단계에서 얻어진 상기 획득 이미지의 이미지화 대상의 이미지의 위치에 대응하여 상기 표시영역의 한 위치에 대응하는 소정의 지시된 좌표 세트를 계산하는 지시된 좌표 세트 계산단계를 컴퓨터에 추가로 실행시키고; 및상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 12 항에 있어서,상기 지시된 좌표 세트 계산단계는,상기 이미지화 수단에 의해 획득된 상기 이미지가 상기 이미지의 중심 둘레 를 회전하고 상기 2차원 벡터가 상기 회전에 의해 하나의 특정 방향으로 향하는 경우에 상기 이미지화 대상의 이미지의 위치를 계산하는 제 1 단계; 및상기 제 1 단계에서 계산된 위치에 대응하여, 상기 표시 영역상의 위치에 대응하는 상기 지시된 좌표 세트를 계산하는 제 2 단계를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 12 항에 있어서,상기 프로그램은,하나 이상의 오브젝트를 상기 가상 공간에 배치하는 오브젝트 배치단계;상기 하나 이상의 오브젝트 중 어느 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 표시 영역상의 상기 위치에 표시되었는지 여부를 판정하는 판정단계; 및상기 하나 이상의 오브젝트 중 하나가 상기 지시된 좌표 세트에 대응하는 상기 위치에 표시된 것으로 판정되는 경우, 상기 하나의 오브젝트를 상기 조작 대상으로서 설정하는 조작 대상 설정단계;를 상기 컴퓨터에 추가로 실행시키고,상기 제 1 이동단계는 상기 조작 대상 설정단계에서 설정된 상기 하나의 오브젝트를 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 14 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 오브젝트 배치단계는 하나 이상의 3차원 오브젝트를 상기 가상의 3차원 공간에 배치하며;상기 제 1 이동단계는 상기 하나 이상의 3차원 오브젝트 중 하나를 상기 가상 공간에서 소정의 3차원 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 12 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 프로그램은,상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 가상 공간에서 3차원 좌표 세트를 계산하고 상기 3차원 좌표 세트를 3차원 지시된 좌표 세트로 설정하는 3차원 지시된 좌표 세트 설정단계를 상기 컴퓨터에 추가로 실행시키고;상기 제 1 이동단계는 상기 2차원 벡터와 상기 3차원 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 16 항에 있어서,제 1 이동단계는 상기 3차원 지시된 좌표 세트 설정단계에서 계산된 3차원 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 12 항에 있어서,상기 제 1 이동단계는 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 12 항에 있어서,상기 가상 공간은 상기 표시단계에서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 프로그램은,상기 지시된 좌표 세트가 상기 소정의 범위에 대응하는 범위에 포함되는지 여부를 판정하고, 상기 지시된 좌표 세트가 포함되는 경우 상기 오브젝트를 상기 조작 대상으로 설정하는 조작 대상 설정단계를 상기 컴퓨터에 추가로 실행시키며;상기 제 1 이동단계는 상기 소정의 범위에 표시된 이미지가 소정의 방향으로 스크롤되도록 상기 조작 대상 설정단계에서 설정된 오브젝트의 표시 내용을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 12 항에 있어서,상기 가상 공간은 표시단계에서 선택 가능한 아이템들을 나타내는 아이템 이미지로서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 제 1 이동단계는 상기 선택 가능한 아이템들이 소정의 방향으로 스크롤 되어 소정의 범위에 순차적으로 표시되도록, 상기 조작 대상 설정단계에서 설정된 오브젝트의 표시 내용을 이동시키며;상기 프로그램은,상기 선택 가능한 아이템들 중 하나가 선택된 것을 보여주는 지시입력을 수용하는 선택입력 수용단계; 및상기 아이템 이미지들 중 하나가 상기 지시된 좌표 세트 설정단계에서 계산된 상기 지시된 좌표 세트의 위치에 표시되는 시점에 상기 지시입력이 수용되는 경우, 상기 아이템 이미지들 중 상기 하나에 의해 표시된 상기 선택 가능한 아이템이 선택된 것으로 결정하는 아이템 결정단계를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 1 항에 있어서,상기 프로그램은 상기 표시영역상의 위치에 대응하는 소정의 지시된 좌표 세트를 지시된 좌표 세트로서 설정하는 지시된 좌표 세트 계산단계를 상기 컴퓨터에 추가로 실행시키고; 및상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 21 항에 있어서,상기 프로그램은,하나 이상의 오브젝트를 상기 가상 공간에 배치하는 오브젝트 배치단계;상기 하나 이상의 오브젝트 중 어느 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 표시영역 상의 상기 위치에 표시되었는지 여부를 판정하는 판정단계; 및상기 하나 이상의 오브젝트 중 하나가 상기 지시된 좌표 세트에 대응하는 상기 위치에 표시된 것으로 판정되는 경우 상기 오브젝트를 상기 조작 대상으로서 설정하는 조작 대상 설정단계;를 상기 컴퓨터에 추가로 실행시키고,상기 제 1 이동단계는 상기 조작 대상 설정단계에서 설정된 상기 하나의 오브젝트를 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 22 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 오브젝트 배치단계는 하나 이상의 3차원 오브젝트를 상기 가상의 3차원 공간에 배치하며;상기 제 1 이동단계는 상기 하나 이상의 3차원 오브젝트 중 하나를 상기 가상 공간에서 소정의 3차원 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 21 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 프로그램은 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 가상 공간에서의 3차원 좌표 세트를 계산하고 상기 3차원 좌표 세트를 3차원 지시된 좌표 세트로서 설정하는 3차원 지시된 좌표 세트 설정단계를 상기 컴퓨터에 추가로 실행시키고; 및상기 제 1 이동단계는 상기 2차원 벡터와 상기 3차원 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 24 항에 있어서,상기 제 1 이동단계는 상기 3차원 지시된 좌표 세트 설정단계에서 계산된 상기 3차원 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 21 항에 있어서,상기 제 1 이동단계는 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지 시된 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 21 항에 있어서,상기 가상 공간은 상기 표시단계에서 상기 표시 영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 프로그램은 상기 지시된 좌표 세트가 상기 소정의 범위에 대응하는 범위에 포함되는지 여부를 판정하고, 상기 지시된 좌표 세트가 포함되는 경우 상기 오브젝트를 상기 조작 대상으로서 설정하는 조작 대상 설정단계를 상기 컴퓨터에 추가로 실행시키며;상기 제 1 이동단계는 상기 소정의 범위에 표시된 이미지가 소정의 방향으로 스크롤되도록 상기 조작 대상 설정단계에서 설정된 오브젝트의 표시 내용을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 21 항에 있어서,상기 가상 공간은 상기 표시단계에서 선택 가능한 아이템들을 나타내는 아이템 이미지들로서 상기 표시 영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 제 1 이동단계는 상기 선택 가능한 아이템들이 상기 소정의 방향으로 스크롤되어 상기 소정의 범위에 순차적으로 표시되도록, 상기 조작 대상 설정단계에서 설정된 오브젝트의 표시 내용을 이동시키며;상기 프로그램은,상기 선택 가능한 아이템들 중 하나가 선택된 것을 보여주는 지시입력을 수용하는 선택입력 수용단계; 및상기 아이템 이미지들 중 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트의 위치에 표시되는 시점에 상기 지시입력이 수용되는 경우 상기 아이템 이미지들 중 상기 하나에 의해 표현된 상기 선택 가능한 아이템이 선택된 것으로 결정하는 아이템 결정단계를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 1 항에 있어서,상기 프로그램은 하나 이상의 오브젝트를 상기 가상 공간에 배치하는 오브젝트 배치단계를 상기 컴퓨터에 추가로 실행시키고,상기 제 1 이동단계는 상기 가상 공간에 위치한 하나 이상의 오브젝트를 상기 조작 대상으로서 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 29 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 오브젝트 배치단계는 하나 이상의 3차원 오브젝트를 상기 가상의 3차원 공간에 배치하며; 및상기 제 1 이동단계는 상기 하나 이상의 3차원 오브젝트를 상기 가상 공간에 소정의 3차원 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저 장매체.
- 제 1 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 프로그램은,상기 가상 공간에서 소정의 위치에 소정의 방향으로 가상 카메라를 설정하는 가상 카메라 설정단계; 및상기 가상 카메라를 상기 조작 대상으로서 설정하는 조작 대상 설정단계;를 상기 컴퓨터에 추가로 실행시키고;상기 제 1 이동단계는 상기 가상 공간에서 소정의 3차원 방향으로 상기 가상 카메라를 상기 조작 대상으로서 이동시키며;상기 표시단계는 상기 가상 카메라에서 본 상기 가상 공간의 이미지를 상기 표시영역에 표시하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 1 항에 있어서,상기 가상 공간은 상기 표시단계에서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 제 1 이동단계는 상기 소정의 범위에 표시된 이미지가 상기 소정의 방향으로 스크롤 되도록 상기 오브젝트의 표시 내용을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 1 항에 있어서,상기 조작 대상의 이동 경로는 미리 정해지고;상기 제 1 이동단계는 상기 조작 대상을 상기 이동 경로의 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 1 항에 있어서,상기 프로그램은 상기 2차원 벡터의 방향과 소정의 기준 방향 사이의 차이를 각도 또는 벡터로서 계산하는 경사도 계산단계를 상기 컴퓨터에 추가로 실행시키고;상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이에 따라 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 34 항에 있어서,상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 상기 조작 대상의 이동량을 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 34 항에 있어서,상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 속도를 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 34 항에 있어서,상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 가속도를 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 34 항에 있어서,상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 상기 소정의 방향에서의 위치를 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 34 항에 있어서,상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값이 소정의 값을 초과할 때 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 34 항에 있어서,상기 조작 대상은 2개의 소정의 방향으로 이동 가능하고; 및상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값과 소정의 기준값의 비교 결과에 따라 상기 조작 대상이 이동하는 방향을 상기 2개의 소정의 방향 중에서 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 34 항에 있어서,상기 정보처리장치는,상기 기준 방향을 저장하는 저장수단; 및이용자로부터 소정의 조작을 수용하는 조작 수용수단을 구비하고;상기 프로그램은 상기 소정의 조작이 상기 조작 수용수단에 의해 수용되는 시점에 계산된 상기 2차원 벡터의 방향을 새로운 기준 방향으로 상기 저장수단에 저장하는 저장 제어단계를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 34 항에 있어서,상기 정보처리장치는 상기 기준 방향을 저장하는 저장수단을 구비하고; 및상기 프로그램은 2차원 벡터가 새로 계산되는 경우 이전에 계산된 상기 2차원 벡터의 방향을 상기 저장수단에 상기 기준 방향으로서 저장하는 저장 제어단계를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 1 항에 있어서,상기 조작장치는 자신의 경사도를 결정하는 경사도 결정수단을 구비하고;상기 프로그램은,상기 벡터 계산단계에서 상기 획득 이미지로부터 벡터가 계산될 수 있는지 여부를 판정하는 판정단계;상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우 상기 경사도 결정수단에 의해 결정된 상기 조작장치의 상기 경사도를 나타내는 경사도 데이터를 획득하는 경사도 획득단계; 및상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우 상기 경사도 데이터에 의해 표시된 상기 경사도에 따라 상기 소정의 방향으로 상기 조작 대상을 이동시키는 제 2 이동단계;를 상기 컴퓨터에 추가로 실행시키며;상기 벡터 계산단계는 상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우 상기 벡터를 계산하는 처리를 중지시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 이미지화 대상의 이미지를 획득하는 이미지화 수단과 상기 이미지화 수단에 의해 얻어진 획득 이미지에 포함된 상기 이미지화 대상의 상기 이미지에서 2개의 소정의 포인트의 좌표 세트를 계산하는 제 1 계산수단을 포함하는 조작장치로부터 조작 데이터를 수신하고 또한 상기 조작 데이터를 사용하여 소정의 조작 대상에 대해 계산 처리를 수행함으로써 얻어진 가상 공간을 표시장치에 표시하는 정보처리장치의 컴퓨터에 의해 실행 가능한 프로그램을 저장한 컴퓨터로 읽을 수 있는 저장매체에 있어서,상기 프로그램은,상기 2개의 소정의 포인트의 좌표 세트를 상기 조작 데이터로서 획득하는 획득단계;상기 2개의 소정의 포인트의 상기 좌표 세트를 연결시키는 2차원 벡터를 계산하는 제 2 계산단계;상기 2차원 벡터의 계산된 값에 따라 소정의 방향으로 상기 조작 대상을 이동시키는 제 1 이동단계; 및상기 제 1 이동단계에서 상기 조작 대상의 이동에 따라 변경된 상기 가상 공간을 상기 표시장치의 표시 영역에 표시하는 표시단계;를 상기 컴퓨터에 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 44 항에 있어서,상기 프로그램은 상기 2개의 소정의 포인트 사이의 중간 포인트의 좌표 세트에 대응하여 상기 표시 영역상의 위치에 대응하는 소정의 지시된 좌표 세트를 계산 하는 지시된 좌표 세트 계산단계를 상기 컴퓨터에 추가로 실행시키고;상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 45 항에 있어서,상기 지시된 좌표 세트 계산단계는,상기 이미지화 수단에 의해 획득된 상기 획득 이미지가 상기 이미지의 중심 주위를 회전하고 상기 2차원 벡터가 상기 회전에 의해 하나의 특정 방향을 향하는 경우에 상기 이미지화 대상의 상기 이미지의 위치를 계산하는 제 1 단계; 및상기 제 1 단계에서 계산된 상기 위치에 대응하여 상기 표시 영역상의 상기 위치에 대응하는 상기 지시된 좌표 세트를 계산하는 제 2 단계를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 45 항에 있어서,상기 프로그램은,상기 가상 공간에 하나 이상의 오브젝트를 배치하는 오브젝트 배치단계;상기 하나 이상의 오브젝트 중 어느 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 표시 영역상의 상기 위치에 표시되었는지 여부를 판정하는 판정단계; 및상기 하나 이상의 오브젝트 중 하나가 상기 지시된 좌표 세트에 대응하는 위치에 표시된 것으로 판정되는 때 상기 하나의 오브젝트를 상기 조작 대상으로서 설정하는 조작 대상 설정단계;를 상기 컴퓨터에 추가로 실행시키고;상기 제 1 이동단계는 상기 조작 대상 설정단계에서 설정된 상기 하나의 오브젝트를 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 47 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 오브젝트 배치단계는 하나 이상의 3차원 오브젝트를 상기 가상의 3차원 공간에 배치하며;상기 제 1 이동단계는 상기 하나 이상의 3차원 오브젝트를 상기 가상 공간에 소정의 3차원 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 45 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 프로그램은 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 가상 공간에서 3차원 좌표 세트를 계산하고 상기 3차원 좌표 세트를 3차원 지시된 좌표 세트로 설정하는 3차원 지시된 좌표 세트 설정단계 를 상기 컴퓨터에 추가로 실행시키며;상기 제 1 이동단계는 상기 2차원 벡터와 상기 3차원 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 49 항에 있어서,상기 제 1 이동단계는 상기 3차원 지시된 좌표 세트 설정단계에서 계산된 상기 3차원 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 45 항에 있어서,상기 제 1 이동단계는 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 45 항에 있어서,상기 가상 공간은 상기 표시단계에서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 프로그램은 상기 지시된 좌표 세트가 상기 소정의 범위에 대응하는 범위에 포함되는지 여부를 판정하고, 상기 지시된 좌표 세트가 포함되는 경우 상기 오브젝트를 상기 조작 대상으로 설정하는 조작 대상 설정단계;를 상기 컴퓨터에 추가로 실행시키며;상기 제 1 이동단계는 상기 소정의 범위에 표시된 이미지가 상기 소정의 방향으로 스크롤되도록 상기 조작 대상 설정단계에서 설정된 상기 오브젝트의 표시 내용을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 45 항에 있어서,상기 가상 공간은 선택 가능한 아이템들을 나타내는 아이템 이미지로서 상기 표시단계에서 상기 표시 영역의 소정의 범위에 표시될 오브젝트를 포함하고;제 1 이동단계는 상기 선택 가능한 아이템들이 상기 소정의 방향으로 스크롤되어 상기 소정의 범위에 순차적으로 표시되도록, 상기 조작 대상 설정단계에서 설정된 상기 오브젝트의 표시 내용을 이동시키며;상기 프로그램은,상기 선택 가능한 아이템들 중 하나가 선택된 것을 보여주는 지시입력을 수용하는 선택입력 수용단계; 및상기 아이템 이미지들 중 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트의 위치에 표시되는 시점에 상기 지시입력이 수용되는 경우, 상기 아이템 이미지들 중 상기 하나에 의해 표시된 상기 선택 가능한 이미지가 선택된 것으로 결정하는 아이템 결정단계;를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 44 항에 있어서,상기 프로그램은 상기 표시 영역상의 위치에 대응하는 소정의 지시된 좌표 세트를 지시된 좌표 세트로 설정하는 지시된 좌표 세트 설정단계를 상기 컴퓨터에 추가로 실행시키고,상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 54 항에 있어서,상기 프로그램은,상기 가상 공간에 하나 이상의 오브젝트를 배치하는 오브젝트 배치단계;상기 하나 이상의 오브젝트 중 어느 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 표시 영역상의 상기 위치에 표시되었는지 여부를 판정하는 판정단계; 및상기 하나 이상의 오브젝트 중 하나가 상기 지시된 좌표 세트에 대응하는 상기 위치에 표시된 것으로 판정되는 때 상기 하나의 오브젝트를 상기 조작 대상으로 설정하는 조작 대상 설정단계;를 상기 컴퓨터에 추가로 실행시키고;상기 제 1 이동단계는 상기 조작 대상 설정단계에서 설정된 상기 하나의 오브젝트를 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 55 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 오브젝트 배치단계는 하나 이상의 3차원 오브젝트를 상기 가상의 3차원 공간에 배치하며;상기 제 1 이동단계는 상기 하나 이상의 3차원 오브젝트를 상기 가상 공간에 소정의 3차원 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 54 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 프로그램은 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 가상 공간에서 3차원 좌표 세트를 계산하고 상기 3차원 좌표 세트를 3차원 지시된 좌표 세트로 설정하는 3차원 지시된 좌표 세트 설정단계를 상기 컴퓨터에 추가로 실행시키며;상기 제 1 이동단계는 상기 2차원 벡터와 상기 3차원 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 57 항에 있어서,상기 제 1 이동단계는 상기 3차원 지시된 좌표 세트 설정단계에서 계산된 상기 3차원 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 54 항에 있어서,상기 제 1 이동단계는 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 54 항에 있어서,상기 가상 공간은 상기 표시단계에서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 프로그램은 상기 지시된 좌표 세트가 상기 소정의 범위에 대응하는 범위에 포함되는지 여부를 판정하고, 상기 지시된 좌표 세트가 포함되는 경우 상기 오브젝트를 상기 조작 대상으로 설정하는 조작 대상 설정단계;를 상기 컴퓨터에 추가로 실행시키며;상기 제 1 이동단계는 상기 소정의 범위에 표시된 이미지가 상기 소정의 방향으로 스크롤 되도록, 상기 조작 대상 설정단계에서 설정된 상기 오브젝트의 표시 내용을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 54 항에 있어서,상기 가상 공간은 선택 가능한 아이템들을 나타내는 아이템 이미지로서 상기 표시단계에서 상기 표시 영역의 소정의 범위에 표시될 오브젝트를 포함하고;제 1 이동단계는 상기 선택 가능한 아이템들이 상기 소정의 방향으로 스크롤 되어 상기 소정의 범위에 순차적으로 표시되도록, 상기 조작 대상 설정단계에서 설정된 상기 오브젝트의 표시 내용을 이동시키며;상기 프로그램은,상기 선택 가능한 아이템들 중 하나가 선택된 것을 보여주는 지시입력을 수용하는 선택입력 수용단계; 및상기 아이템 이미지들 중 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트의 위치에 표시되는 시점에 상기 지시입력이 수용되는 경우, 상기 아이템 이미지들 중 상기 하나에 의해 표시된 상기 선택 가능한 이미지가 선택된 것으로 결정하는 아이템 결정단계;를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 44 항에 있어서,상기 프로그램은 하나 이상의 오브젝트를 상기 가상 공간에 배치하는 오브젝 트 배치단계를 상기 컴퓨터에 추가로 실행시키고,상기 제 1 이동단계는 상기 가상 공간에 배치된 상기 하나 이상의 오브젝트 중 하나를 조작 대상으로서 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 62 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 오브젝트 배치단계는 하나 이상의 3차원 오브젝트를 상기 가상의 3차원 공간에 배치하며;상기 제 1 이동단계는 상기 하나 이상의 3차원 오브젝트 중 하나를 상기 가상 공간에서 소정의 3차원 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 44 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 프로그램은,상기 가상 공간에서 소정의 위치에 소정의 방향으로 가상 카메라를 설정하는 가상 카메라 설정단계; 및상기 가상 카메라를 상기 조작 대상으로서 설정하는 조작 대상 설정단계;를 상기 컴퓨터에 추가로 실행시키고;상기 제 1 이동단계는 상기 가상 공간에서 소정의 3차원 방향으로 상기 가상 카메라를 상기 조작 대상으로서 이동시키며; 및상기 표시단계는 상기 가상 카메라에서 본 상기 가상 공간의 이미지를 상기 표시영역에 표시하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 44 항에 있어서,상기 가상 공간은 상기 표시단계에서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 제 1 이동단계는 상기 소정의 범위에 표시된 이미지가 상기 소정의 방향으로 스크롤 되도록 상기 오브젝트의 표시 내용을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 44 항에 있어서,상기 조작 대상의 이동 경로는 미리 정해지고; 및상기 제 1 이동단계는 상기 조작 대상을 상기 이동 경로의 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 44 항에 있어서,상기 프로그램은 상기 2차원 벡터와 소정의 기준 방향 사이의 차이를 각도 또는 벡터로서 계산하는 경사도 계산단계를 상기 컴퓨터에 추가로 실행시키고; 및상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이에 따라 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 67 항에 있어서,상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 상기 조작 대상의 이동량을 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 67 항에 있어서,상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 속도를 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 67 항에 있어서,상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 가속도를 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 67 항에 있어서,상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 상기 소정의 방향에 위치를 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 67 항에 있어서,상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값이 소정의 값을 초과할 때 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 67 항에 있어서,상기 조작 대상은 2개의 소정의 방향으로 이동 가능하고; 및상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값과 소정의 기준값의 비교 결과에 따라 상기 조작 대상이 이동하는 방향을 상기 2개의 소정의 방향 중에서 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 67 항에 있어서,상기 정보처리장치는,상기 기준 방향을 저장하는 저장수단; 및이용자로부터 소정의 조작을 수용하는 조작 수용수단;을 구비하고,상기 프로그램은 상기 소정의 조작이 상기 조작 수용수단에 의해 수용되는 시점에 계산된 상기 2차원 벡터의 방향을 새로운 기준 방향으로 상기 저장수단에 저장하는 저장 제어단계를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 67 항에 있어서,상기 정보처리장치는 상기 기준 방향을 저장하는 저장수단을 구비하고;상기 프로그램은 2차원 벡터가 새로 계산되는 경우 이전에 계산된 상기 2차원 벡터의 방향을 상기 저장수단에 상기 기준 방향으로 저장하는 저장 제어단계를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 44 항에 있어서,상기 조작장치는 자신의 경사도를 결정하는 경사도 결정수단을 구비하고;상기 프로그램은,상기 벡터 계산단계에서 상기 획득 이미지로부터 벡터가 계산될 수 있는지 여부를 판정하는 판정단계;상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우, 상기 경사도 결정수단에 의해 결정된 상기 조작장치의 상기 경사도를 나타내는 경사도 데이터를 획득하는 경사도 획득단계; 및상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우, 상기 경사도 데이터에 의해 표시된 상기 경사도에 따라 상기 소정의 방향으로 상기 조작 대상을 이동시키는 제 2 이동단계를 상기 컴퓨터에 추가로 실행시키며;상기 벡터 계산단계는 상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우 상기 벡터를 계산하는 처리를 중지하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 이미지화 대상의 이미지를 획득하는 이미지화 수단과 상기 이미지화 수단에 의해 얻어진 획득 이미지에서 상기 이미지화 대상의 위치를 사용하여 2차원 벡터를 계산하는 벡터 계산수단을 포함하는 조작장치로부터 조작 데이터를 수신하고 상기 조작 데이터를 사용하여 소정의 조작 대상에 대해 계산 처리를 수행함으로써 얻어진 가상 공간을 표시장치에 표시하는 정보처리장치의 컴퓨터에 의해 실행 가능한 프로그램을 저장한 컴퓨터로 읽을 수 있는 저장매체에 있어서,상기 프로그램은,상기 2차원 벡터를 상기 조작 데이터로서 획득하는 획득단계;상기 2차원 벡터의 얻어진 값에 따라 소정의 방향으로 상기 조작 대상을 이동시키는 제 1 이동단계; 및상기 제 1 이동단계에서 상기 조작 대상의 이동에 따라 변경된 상기 가상 공간의 이미지를 상기 표시장치의 표시 영역에 표시하는 표시단계;를 상기 컴퓨터에 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저 장매체.
- 제 77 항에 있어서,상기 조작 데이터는 상기 이미지화 대상의 이미지의 위치에 대응하는 하나 이상 포인트의 좌표 세트를 추가로 포함하고;상기 프로그램은 상기 하나 이상 포인트의 좌표 세트에 대응하여 상기 표시 영역상의 위치에 대응하는 소정의 지시된 좌표 세트를 계산하는 지시된 좌표 세트 계산단계를 상기 컴퓨터에 추가로 실행시키며;상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 78 항에 있어서,상기 지시된 좌표 세트 계산단계는,상기 이미지화 수단에 의해 획득된 상기 이미지가 상기 이미지의 중심 둘레를 회전하고 상기 2차원 벡터가 상기 회전에 의해 하나의 특정 방향으로 향하는 경우에 상기 이미지화 대상의 이미지의 위치를 계산하는 제 1 단계; 및상기 제 1 단계에서 계산된 위치에 대응하여, 상기 표시 영역상의 상기 위치에 대응하는 상기 지시된 좌표 세트를 계산하는 제 2 단계를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 78 항에 있어서,상기 프로그램은,하나 이상의 오브젝트를 상기 가상 공간에 배치하는 오브젝트 배치단계;상기 하나 이상의 오브젝트 중 어느 하나가 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 표시 영역상의 상기 위치에 표시되었는지 여부를 판정하는 판정단계; 및상기 하나 이상의 오브젝트 중 하나가 상기 지시된 좌표 세트에 대응하는 상기 위치에 표시된 것으로 판정되는 경우, 상기 하나의 오브젝트를 상기 조작 대상으로 설정하는 조작 대상 설정단계;를 상기 컴퓨터에 추가로 실행시키고,상기 제 1 이동단계는 상기 조작 대상 설정단계에서 설정된 상기 하나의 오브젝트를 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 80 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 오브젝트 배치단계는 하나 이상의 3차원 오브젝트를 상기 가상의 3차원 공간에 배치하며;상기 제 1 이동단계는 상기 하나 이상의 3차원 오브젝트 중 하나를 상기 가상 공간에서 소정의 3차원 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 78 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 프로그램은,상기 지시된 좌표 세트 계산단계에서 계산된 상기 지시된 좌표 세트에 대응하는 상기 가상 공간에서의 3차원 좌표 세트를 계산하고 상기 3차원 좌표 세트를 3차원 지시된 좌표 세트로 설정하는 3차원 지시된 좌표 세트 설정단계를 상기 컴퓨터에 추가로 실행시키고;상기 제 1 이동단계는 상기 2차원 벡터와 상기 3차원 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 82 항에 있어서,제 1 이동단계는 상기 3차원 지시된 좌표 세트 설정단계에서 계산된 상기 3차원 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 78 항에 있어서 ,상기 제 1 이동단계는 상기 지시된 좌표 세트 계산단계에서 계산된 상기 지 시된 좌표 세트의 위치를 향해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 78 항에 있어서,상기 가상 공간은 상기 표시단계에서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 프로그램은,상기 지시된 좌표 세트가 상기 소정의 범위에 대응하는 범위에 포함되는지 여부를 판정하고, 상기 지시된 좌표 세트가 포함되는 경우 상기 오브젝트를 상기 조작 대상으로 설정하는 조작 대상 설정단계를 상기 컴퓨터에 추가로 실행시키며;상기 제 1 이동단계는 상기 소정의 범위에 표시된 이미지가 상기 소정의 방향으로 스크롤 되도록 상기 조작 대상 설정단계에서 설정된 오브젝트의 표시 내용을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 78 항에 있어서,상기 가상 공간은 상기 표시단계에서 선택 가능한 아이템들을 나타내는 아이템 이미지로서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 제 1 이동단계는 상기 선택 가능한 아이템들이 소정의 방향으로 스크롤 되어 상기 소정의 범위에 순차적으로 표시되도록, 상기 조작 대상 설정단계에서 설정된 오브젝트의 표시 내용을 이동시키며;상기 프로그램은,상기 선택 가능한 아이템들 중 하나가 선택된 것을 보여주는 지시입력을 수용하는 선택입력 수용단계; 및상기 아이템 이미지들 중 하나가 상기 지시된 좌표 세트 설정단계에서 계산된 상기 지시된 좌표 세트의 위치에 표시되는 시점에 상기 지시입력이 수용되는 경우, 상기 아이템 이미지들 중 상기 하나에 의해 표시된 상기 선택 가능한 아이템이 선택된 것으로 결정하는 아이템 결정단계를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 77 항에 있어서,상기 프로그램은 상기 표시영역상의 위치에 대응하는 소정의 지시된 좌표 세트를 지시된 좌표 세트로 설정하는 지시된 좌표 세트 계산단계를 상기 컴퓨터에 추가로 실행시키고; 및상기 제 1 이동단계는 상기 2차원 벡터와 상기 지시된 좌표 세트를 사용하는 계산에 의해 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 77 항에 있어서,상기 프로그램은,하나 이상의 오브젝트를 상기 가상 공간에 배치하는 오브젝트 배치단계를 상 기 컴퓨터에 추가로 실행시키고;상기 제 1 이동단계는 상기 가상 공간에 배치된 상기 하나 이상의 오브젝트를 상기 조작 대상으로서 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 88 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 오브젝트 배치단계는 하나 이상의 3차원 오브젝트를 상기 가상의 3차원 공간에 배치하며; 및상기 제 1 이동단계는 상기 하나 이상의 3차원 오브젝트 중 하나를 상기 가상 공간에서 소정의 3차원 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 77 항에 있어서,상기 가상 공간은 가상의 3차원 공간이고;상기 프로그램은,상기 가상 공간에서 소정의 위치에 소정의 방향으로 가상 카메라를 설정하는 가상 카메라 설정단계; 및상기 가상 카메라를 상기 조작 대상으로서 설정하는 조작 대상 설정단계;를 상기 컴퓨터에 추가로 실행시키고;상기 제 1 이동단계는 상기 가상 공간에서 소정의 3차원 방향으로 상기 가상 카메라를 상기 조작 대상으로서 이동시키며; 및상기 표시단계는 상기 가상 카메라에서 본 상기 가상 공간의 이미지를 상기 표시 영역에 표시하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 77 항에 있어서,상기 가상 공간은 상기 표시단계에서 상기 표시영역의 소정의 범위에 표시될 오브젝트를 포함하고;상기 제 1 이동단계는 상기 소정의 범위에 표시된 이미지가 상기 소정의 방향으로 스크롤 되도록 상기 오브젝트의 표시 내용을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 77 항에 있어서,상기 조작 대상의 이동 경로는 미리 정해지고; 및상기 제 1 이동단계는 상기 조작 대상을 상기 이동 경로의 방향으로 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 77 항에 있어서,상기 프로그램은 상기 2차원 벡터의 방향과 소정의 기준 방향 사이의 차이를 각도 또는 벡터로서 계산하는 경사도 계산단계를 상기 컴퓨터에 추가로 실행시키 고; 및상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이에 따라 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 93 항에 있어서,상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 상기 조작 대상의 이동량을 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 93 항에 있어서,상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 속도를 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 93 항에 있어서,상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 가속도를 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 93 항에 있어서,상기 제 1 이동단계는 상기 조작 대상이 상기 경사도 계산단계에서 계산된 상기 차이의 값에 따라 이동하는 상기 소정의 방향에서의 위치를 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 93 항에 있어서,상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값이 소정의 값을 초과할 때 상기 조작 대상을 이동시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 93 항에 있어서,상기 조작 대상은 2개의 소정의 방향으로 이동 가능하고; 및상기 제 1 이동단계는 상기 경사도 계산단계에서 계산된 상기 차이의 값과 소정의 기준값의 비교 결과에 따라 상기 조작 대상이 이동하는 방향을 상기 2개의 소정의 방향 중에서 결정하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 93 항에 있어서,상기 정보처리장치는,상기 기준 방향을 저장하는 저장수단; 및이용자로부터 소정의 조작을 수용하는 조작 수용수단을 구비하고;상기 프로그램은 상기 소정의 조작이 상기 조작 수용수단에 의해 수용되는 시점에 계산된 상기 2차원 벡터의 방향을 새로운 기준 방향으로 상기 저장수단에 저장하는 저장 제어단계를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 93 항에 있어서,상기 정보처리장치는 상기 기준 방향을 저장하는 저장수단을 구비하고; 및상기 프로그램은 2차원 벡터가 새로 계산되는 경우 이전에 계산된 상기 2차원 벡터의 방향을 상기 저장수단에 상기 기준 방향으로 저장하는 저장 제어단계를 상기 컴퓨터에 추가로 실행시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 제 77 항에 있어서,상기 조작장치는 자신의 경사도를 결정하는 경사도 결정수단을 구비하고;상기 프로그램은,상기 벡터 계산단계에서 상기 획득 이미지로부터 벡터가 계산될 수 있는지 여부를 판정하는 판정단계;상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우 상기 경사 도 결정수단에 의해 결정된 상기 조작장치의 상기 경사도를 나타내는 경사도 데이터를 획득하는 경사도 획득단계; 및상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우 상기 경사도 데이터에 의해 표시된 상기 경사도에 따라 상기 소정의 방향으로 상기 조작 대상을 이동시키는 제 2 이동단계;를 상기 컴퓨터에 추가로 실행시키며;상기 벡터 계산단계는 상기 판정단계에서 상기 벡터가 계산될 수 없다고 판정되는 경우 상기 벡터를 계산하는 처리를 중지시키는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 저장매체.
- 이용자에 의해 조작 가능하고 소정의 이미지화 대상의 이미지를 획득하는 이미지화 수단을 포함하는 조작장치; 상기 조작장치에 통신 가능하게 연결된 정보처리장치; 및 상기 정보처리장치에 의해 실행된 처리에 의해 얻어진 결과를 표시하는 표시장치를 구비하는 정보처리시스템에 있어서,상기 표시장치에 윈도우를 표시하는 표시 제어수단;상기 이미지화 수단에 의해 얻어진 획득 이미지에 포함된 상기 이미지화 대상의 상기 이미지에서 2개의 소정의 포인트의 좌표 세트를 계산하는 제 1 계산수단;상기 2개의 소정의 포인트의 상기 좌표 세트를 연결하는 2차원 벡터를 계산하는 제 2 계산수단; 및상기 2차원 벡터의 계산된 값과 이전에 계산된 2차원 벡터에 기초하여 회전량을 얻고, 상기 회전량에 따라 상기 윈도우의 내용을 스크롤하는 제 1 이동수단;을 포함하는 것을 특징으로 하는 정보처리시스템.
- 제 103 항에 있어서,상기 표시 제어수단은 복수의 윈도우를 표시하는 기능을 갖고,상기 시스템은,상기 획득 이미지에서 상기 2개의 소정의 포인트의 좌표 세트 사이의 위치상의 관계에 기초하여, 상기 표시장치의 상기 표시 영역상의 한 포인트의 지시된 좌표 세트를 계산하는 지시된 좌표 세트 계산수단을 추가로 포함하고,상기 제 1 이동수단은 상기 지시된 좌표 세트와 중첩하는 복수의 윈도우 중 하나를 검출하고 상기 회전량에 따라 상기 하나의 윈도우에서 내용을 스크롤 하는 것을 특징으로 하는 정보처리시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005253715A JP4907129B2 (ja) | 2005-09-01 | 2005-09-01 | 情報処理システムおよびプログラム |
JPJP-P-2005-00253715 | 2005-09-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070025962A KR20070025962A (ko) | 2007-03-08 |
KR101212350B1 true KR101212350B1 (ko) | 2012-12-13 |
Family
ID=37497935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060053809A KR101212350B1 (ko) | 2005-09-01 | 2006-06-15 | 정보처리 시스템과 프로그램 |
Country Status (4)
Country | Link |
---|---|
EP (3) | EP2078547A1 (ko) |
JP (1) | JP4907129B2 (ko) |
KR (1) | KR101212350B1 (ko) |
CN (1) | CN1923326B (ko) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4773170B2 (ja) * | 2005-09-14 | 2011-09-14 | 任天堂株式会社 | ゲームプログラムおよびゲームシステム |
TWI416377B (zh) * | 2009-10-26 | 2013-11-21 | Pixart Imaging Inc | 影像顯示器之控制裝置及方法 |
JP4408910B2 (ja) * | 2007-03-16 | 2010-02-03 | 株式会社コナミデジタルエンタテインメント | キャラクター表示装置、キャラクター表示方法、ならびに、プログラム |
JP5259965B2 (ja) * | 2007-03-22 | 2013-08-07 | 任天堂株式会社 | 情報処理プログラム、および、情報処理装置 |
TWI338241B (en) * | 2007-08-23 | 2011-03-01 | Pixart Imaging Inc | Interactive image system, interactive device and operative method thereof |
CN101146284B (zh) * | 2007-08-24 | 2011-08-17 | Tcl天一移动通信(深圳)有限公司 | 一种智能手机平台 |
JP2009162967A (ja) * | 2008-01-04 | 2009-07-23 | Sharp Corp | 指示器および指示システム |
JP5224832B2 (ja) * | 2008-01-21 | 2013-07-03 | 任天堂株式会社 | 情報処理プログラムおよび情報処理装置 |
US8515119B2 (en) | 2008-02-19 | 2013-08-20 | Hisense Beijing Electric Co., Ltd. | Control unit, a video device including said control unit, and a control method |
EP2140916B1 (en) | 2008-06-30 | 2018-10-31 | Nintendo Co., Ltd. | Coordinate calculation apparatus and storage medium having coordinate calculation program stored therein |
EP2140915B1 (en) | 2008-06-30 | 2019-03-06 | Nintendo Co., Ltd. | Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein |
JP5203070B2 (ja) * | 2008-07-07 | 2013-06-05 | 株式会社ジャパンディスプレイウェスト | 画像入出力装置およびその受光レベル補正方法、ならびに画像入力方法 |
JP2010063616A (ja) * | 2008-09-10 | 2010-03-25 | Konami Digital Entertainment Co Ltd | ゲーム装置、オブジェクト選択方法、および、プログラム |
JP5582629B2 (ja) | 2008-10-16 | 2014-09-03 | 任天堂株式会社 | 情報処理装置および情報処理プログラム |
EP2228109B1 (en) | 2009-03-09 | 2021-03-24 | Nintendo Co., Ltd. | Information processing apparatus, storage medium having information processing program stored therein, information processing system, and display range control method |
JP5424400B2 (ja) * | 2009-12-28 | 2014-02-26 | 任天堂株式会社 | 情報処理装置、情報処理プログラム、情報処理システム、および、表示範囲制御方法 |
JP5463790B2 (ja) | 2009-08-18 | 2014-04-09 | ソニー株式会社 | 操作入力システム、制御装置、ハンドヘルド装置及び操作入力方法 |
JP2011087848A (ja) * | 2009-10-26 | 2011-05-06 | Mega Chips Corp | ゲーム装置 |
JP5448073B2 (ja) * | 2010-01-12 | 2014-03-19 | 任天堂株式会社 | 情報処理装置、情報処理プログラム、情報処理システム、および、選択対象の選択方法 |
JP5750238B2 (ja) * | 2010-05-25 | 2015-07-15 | 株式会社タイトー | 位置指示装置、ゲーム装置 |
JP5038465B2 (ja) | 2010-05-25 | 2012-10-03 | 任天堂株式会社 | 情報処理プログラム、情報処理装置、情報処理方法および情報処理システム |
WO2012019322A1 (zh) * | 2010-08-13 | 2012-02-16 | Xu Hong | 利用单目摄像机标定技术的视觉指向型鼠标输入方法、输入系统和输入装置 |
JP5101677B2 (ja) | 2010-09-14 | 2012-12-19 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理システム |
JP5058319B2 (ja) * | 2010-09-14 | 2012-10-24 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理システム |
JP5256265B2 (ja) * | 2010-09-17 | 2013-08-07 | 株式会社ソニー・コンピュータエンタテインメント | コンピュータシステム、コンピュータシステムの制御方法、プログラム及び情報記憶媒体 |
JP5756299B2 (ja) * | 2011-02-03 | 2015-07-29 | 任天堂株式会社 | ゲームシステム、ゲーム装置、ゲームプログラム、およびゲーム処理方法 |
JP5920861B2 (ja) | 2011-02-08 | 2016-05-18 | 株式会社ソニー・インタラクティブエンタテインメント | 制御装置、制御方法及びプログラム |
CN102707804B (zh) * | 2011-05-23 | 2015-03-25 | 中国科学院软件研究所 | 一种基于加速度传感器的角色动作控制方法 |
JP5841409B2 (ja) | 2011-11-09 | 2016-01-13 | 任天堂株式会社 | 制御プログラム、入力端末装置、制御システムおよび制御方法 |
EP2730995B1 (en) | 2012-05-25 | 2016-11-30 | Nintendo Co., Ltd. | Controller device, information processing system, and communication method |
US8599135B1 (en) | 2012-05-25 | 2013-12-03 | Nintendo Co., Ltd. | Controller device, information processing system, and communication method |
EP2706432B1 (en) | 2012-05-25 | 2017-12-06 | Nintendo Co., Ltd. | Operation device, information processing system, and information processing method |
JP2014191688A (ja) * | 2013-03-28 | 2014-10-06 | Sony Corp | 情報処理装置、情報処理方法、及び、記憶媒体 |
JP2013175208A (ja) * | 2013-04-05 | 2013-09-05 | Nintendo Co Ltd | 情報処理装置および情報処理プログラム |
JP6204686B2 (ja) | 2013-04-12 | 2017-09-27 | 任天堂株式会社 | 情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法 |
JP6185301B2 (ja) | 2013-06-21 | 2017-08-23 | 任天堂株式会社 | 情報処理プログラム、情報処理装置、情報処理システム、および、指示位置の算出方法 |
CN104007845A (zh) * | 2014-05-13 | 2014-08-27 | 江苏科技大学 | 腕式多媒体交互播放仪及其实现方法 |
JP2015096226A (ja) * | 2015-01-21 | 2015-05-21 | 株式会社ソニー・コンピュータエンタテインメント | ゲーム装置、ゲーム制御方法及びプログラム |
KR101734520B1 (ko) * | 2016-01-15 | 2017-05-11 | 동서대학교 산학협력단 | 자이로센서의 움직임 패턴 인식 기반의 유저 인터페이싱 시스템 |
CN114145863B (zh) * | 2016-03-28 | 2024-08-23 | 阿莱恩技术有限公司 | 用于可预测的正畸治疗的系统、方法和设备 |
JP7081922B2 (ja) * | 2017-12-28 | 2022-06-07 | 株式会社バンダイナムコエンターテインメント | プログラム、ゲーム装置及びゲームを実行するための方法 |
CN114363494B (zh) * | 2022-01-13 | 2024-01-09 | 武汉北大营电子工程技术有限公司 | 一种校园安防监控装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002233665A (ja) | 2000-12-06 | 2002-08-20 | Nikon Gijutsu Kobo:Kk | ゲーム装置、ゲーム方法及び可読記憶媒体 |
JP2005021458A (ja) | 2003-07-03 | 2005-01-27 | Tamura Seisakusho Co Ltd | 指示位置特定装置とその方法ならびに画像表示システム |
WO2005062273A1 (en) | 2003-12-18 | 2005-07-07 | Philips Intellectual Property & Standards Gmbh | Method and system for control of a device |
US7796116B2 (en) | 2005-01-12 | 2010-09-14 | Thinkoptics, Inc. | Electronic equipment for handheld vision based absolute pointing system |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2790965B2 (ja) | 1992-08-19 | 1998-08-27 | 富士通株式会社 | 光学式ポインティングシステム |
JP3086827B2 (ja) * | 1992-12-28 | 2000-09-11 | 株式会社セガ・エンタープライゼス | コントロールキー装置 |
US5394168A (en) * | 1993-01-06 | 1995-02-28 | Smith Engineering | Dual-mode hand-held game controller |
JPH07284166A (ja) * | 1993-03-12 | 1995-10-27 | Mitsubishi Electric Corp | 遠隔操作装置 |
JPH06311564A (ja) * | 1993-04-21 | 1994-11-04 | Murata Mfg Co Ltd | リモートコントロール方式 |
JP3262677B2 (ja) * | 1994-05-02 | 2002-03-04 | 株式会社ワコム | 情報入力装置 |
JP3422383B2 (ja) | 1994-09-05 | 2003-06-30 | 株式会社タイトー | 射撃ゲーム装置におけるビデオ画面とガンの相対位置を検出する方法及び装置 |
JP3194841B2 (ja) * | 1994-10-24 | 2001-08-06 | アルプス電気株式会社 | 傾き検出装置およびこれを使用した入力装置 |
US6146278A (en) * | 1997-01-10 | 2000-11-14 | Konami Co., Ltd. | Shooting video game machine |
JPH10230077A (ja) * | 1997-02-18 | 1998-09-02 | Sega Enterp Ltd | ゲーム装置用コントローラ |
JP2000308756A (ja) * | 1999-04-27 | 2000-11-07 | Taito Corp | ゲーム装置の入力制御装置 |
WO2001086920A2 (en) * | 2000-05-12 | 2001-11-15 | Zvi Lapidot | Apparatus and method for the kinematic control of hand-held devices |
US6839049B1 (en) * | 2000-11-17 | 2005-01-04 | Intel Corporation | Physically interacting with a processor-based display |
US7071919B2 (en) * | 2001-02-26 | 2006-07-04 | Microsoft Corporation | Positional scrolling |
JP4954381B2 (ja) * | 2001-03-27 | 2012-06-13 | 株式会社バンダイナムコゲームス | 手書き認識を用いた遊技装置、遊技装置における画像操作方法、及びそのプログラム |
US6798429B2 (en) * | 2001-03-29 | 2004-09-28 | Intel Corporation | Intuitive mobile device interface to virtual spaces |
JP2003280785A (ja) * | 2002-03-26 | 2003-10-02 | Sony Corp | 画像表示処理装置、および画像表示処理方法、並びにコンピュータ・プログラム |
JP3902508B2 (ja) * | 2002-05-20 | 2007-04-11 | 任天堂株式会社 | ゲームシステムおよびゲームプログラム |
AU2003225391A1 (en) * | 2002-07-25 | 2004-02-16 | Andamiro Co., Ltd. | Shooting game machine and method for performing it |
JP3880561B2 (ja) * | 2002-09-05 | 2007-02-14 | 株式会社ソニー・コンピュータエンタテインメント | 表示システム |
FR2847689B1 (fr) * | 2002-11-27 | 2005-01-21 | Commissariat Energie Atomique | Procede et dispositif de capture du mouvement d'un solide, utilisant au moins une camera et un capteur angulaire |
AU2003303787A1 (en) * | 2003-01-22 | 2004-08-13 | Nokia Corporation | Image control |
US20040233223A1 (en) * | 2003-05-22 | 2004-11-25 | Steven Schkolne | Physical/digital input methodologies for spatial manipulations and entertainment |
JP2005253715A (ja) | 2004-03-12 | 2005-09-22 | Sayama Precision Ind Co | 遊技島の遊技設備 |
-
2005
- 2005-09-01 JP JP2005253715A patent/JP4907129B2/ja active Active
-
2006
- 2006-05-31 EP EP09004167A patent/EP2078547A1/en not_active Withdrawn
- 2006-05-31 EP EP06011205.9A patent/EP1759746B2/en active Active
- 2006-05-31 EP EP09004168A patent/EP2075042A3/en not_active Withdrawn
- 2006-06-09 CN CN2006100871205A patent/CN1923326B/zh active Active
- 2006-06-15 KR KR1020060053809A patent/KR101212350B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002233665A (ja) | 2000-12-06 | 2002-08-20 | Nikon Gijutsu Kobo:Kk | ゲーム装置、ゲーム方法及び可読記憶媒体 |
JP2005021458A (ja) | 2003-07-03 | 2005-01-27 | Tamura Seisakusho Co Ltd | 指示位置特定装置とその方法ならびに画像表示システム |
WO2005062273A1 (en) | 2003-12-18 | 2005-07-07 | Philips Intellectual Property & Standards Gmbh | Method and system for control of a device |
US7796116B2 (en) | 2005-01-12 | 2010-09-14 | Thinkoptics, Inc. | Electronic equipment for handheld vision based absolute pointing system |
Also Published As
Publication number | Publication date |
---|---|
EP2075042A2 (en) | 2009-07-01 |
EP1759746B1 (en) | 2014-09-10 |
JP2007061489A (ja) | 2007-03-15 |
EP2078547A1 (en) | 2009-07-15 |
CN1923326B (zh) | 2011-06-08 |
EP1759746A3 (en) | 2008-09-24 |
JP4907129B2 (ja) | 2012-03-28 |
EP2075042A3 (en) | 2009-07-08 |
EP1759746B2 (en) | 2018-12-12 |
EP1759746A2 (en) | 2007-03-07 |
KR20070025962A (ko) | 2007-03-08 |
CN1923326A (zh) | 2007-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101212350B1 (ko) | 정보처리 시스템과 프로그램 | |
US8708822B2 (en) | Information processing system and program | |
US11027190B2 (en) | Game controller and game system | |
KR101179020B1 (ko) | 정보 처리 프로그램을 기록한 저장 매체 | |
US8708824B2 (en) | Information processing program | |
US9533220B2 (en) | Game controller and game system | |
KR101169813B1 (ko) | 게임 시스템 및 게임 프로그램을 저장한 저장 매체 | |
EP1900406B1 (en) | Game device and storage medium storing game program | |
US8308563B2 (en) | Game system and storage medium having game program stored thereon | |
EP1832323B1 (en) | Video game device and storage medium storing video game program | |
US9199166B2 (en) | Game system with virtual camera controlled by pointing device | |
US20070060383A1 (en) | Video game program and video game system | |
JP4151983B2 (ja) | 移動方向算出装置および移動方向算出プログラム | |
JP5735866B2 (ja) | 情報処理システムおよびプログラム | |
JP2007295989A (ja) | ゲーム装置およびゲームプログラム | |
JP2007295988A (ja) | ゲーム装置およびゲームプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20151118 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |