KR20010113781A - 원근투영 변환 처리 방법 및 장치 - Google Patents

원근투영 변환 처리 방법 및 장치 Download PDF

Info

Publication number
KR20010113781A
KR20010113781A KR1020017012835A KR20017012835A KR20010113781A KR 20010113781 A KR20010113781 A KR 20010113781A KR 1020017012835 A KR1020017012835 A KR 1020017012835A KR 20017012835 A KR20017012835 A KR 20017012835A KR 20010113781 A KR20010113781 A KR 20010113781A
Authority
KR
South Korea
Prior art keywords
points
values
perspective projection
objects
value
Prior art date
Application number
KR1020017012835A
Other languages
English (en)
Inventor
오카마사아키
Original Assignee
구타라기 켄
가부시키가이샤 소니 컴퓨터 엔터테인먼트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구타라기 켄, 가부시키가이샤 소니 컴퓨터 엔터테인먼트 filed Critical 구타라기 켄
Publication of KR20010113781A publication Critical patent/KR20010113781A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 컴퓨터 그래픽 처리에 관한 것으로 피사체로서 3차원 물체가 2차원 화면 상에 원근투영 변환되는 경우 고속 처리를 할 수 있게 한다. 본 발명에 따른 원근투영 변환 처리 장치는 3차원 공간에 놓인 물체를 가상의 2차원 화면 상에 원근투영 변화시키는 장치이다. 이 장치는 다수의 물체가 동일한 장면에 존재하는 경우 및 그 물체들을 특정하는 다수의 점들의 좌표값들이 물체들의 단위(unit)로 소정의 방향에 대해 집중되는 경우 물체들의 단위로 선택된 통상적인 점들의 좌표값들을 이용함으로써, 이 물체들을 특정하는 다른 점들의 원근투영 변환이 개산되는 장치를 갖는다.

Description

원근투영 변환 처리 방법 및 장치{Method and apparatus for performing perspective transformation}
종래 기술에 있어서, 3차원 피사체(물체)가 가상 2차원 화면 상에 원근투영-변환되는 경우, 피사체를 특정하는 점들이 시점 및 그 점들간 거리 대 시점 및 원근투영 변환할 화면간 거리의 비에 따라 각각 계산된다.
그러나, 시점 및 피사체를 특정하는 각 점들간 거리는 서로 다르기 때문에, 거리에 대한 너무 많은 계산양이 컴퓨터의 CPU(Central Processing Unit) 또는 다른 장치에 부하된다. 다시 말해서, 비디오 게임 장치와 같은 엔터테인먼트 시스템에서, 계속해서 변하는 피사체 영상에 대한 고속 처리가 실행되는 경우, CPU 등등에 대한 과부하(heavy load)가 문제점으로 제기된다.
본 발명은 컴퓨터 그래픽 처리에 관한 것으로, 특히 3차원 물체를 가상 2차원 화면 상에 원근투영-변환하는 방법 및 장치에 관한 것이다.
도 1은 본 발명을 실현시키는 엔터테인먼트 시스템의 일 실시예로서 작용을 하는 비디오 게임 장치의 외관을 도시한 사시도이다.
도 2는 도 1에서 비디오 게임 장치의 정면을 도시한 사시도이다.
도 3은 휴대 전자 장치가 비디오 게임 장치에 삽입되는 경우 도 1에서 비디오 게임 장치를 도시한 사시도이다.
도 4는 도 1에서 비디오 게임 장치의 주요 부품의 개략적인 회로 구성을 도시한 블럭도이다.
도 5는 피사체(물체)가 시점에서 보이는 경우 화면 상에 피사체을 특정하는 한 점의 위치를 계산하는 원근투영 변환을 설명하는 도면이다.
도 6은 피사체가 시점에서 보이는 경우, 화면 상에 피사체를 특정하는 다수의 점들의 위치를 계산하는 원근투영 변환을 설명하는 도면이다.
도 7은 다수의 피사체들이 동일한 장면에서 존재하는 경우 화면 상에 피사체들을 특정하는 다수의 점들의 위치를 계산하는 원근투영 변환을 설명하는 도면이다.
도 8은 도 6에서 피사체(물체)를 개산함으로써 실행된 원근투영 변환을 설명하는 도면이다.
도 9는 피사체의 단위로 도 7에서 다수의 피사체(물체)들을 개산함으로써 실행된 원근투영 변환을 설명하는 도면이다.
본 발명은 상기 문제점을 고려하여 만들어진 것이고, 컴퓨터 그래픽 처리에 관한 것이며, 그리고 가상 2차원 화면 상에 3차원 물체를 원근투영-변환하는 신규한 방법 및 장치를 제공하는데 목적을 가지고 있다.
본 발명에 따른 3차원 공간에 놓인 물체를 원근투영-변환하는 장치는, 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되는 경우, 다수의 점들로부터 선택된 통상적인 점의 좌표값들을 이용하여, 나머지 점들의 원근투영 변환이 개산되어 그래픽에 대한 계산이 고속으로 실행되는 것을 의미한다.
다수의 물체들이 3차원 공간에서 집중된 경우, 물체들의 단위로 개산이 실행된다.
소정의 방향 즉, 시점에서 물체로 나아가는 시선의 방향이 자주 이용된다. 예를 들어, 이 시선의 방향은 시점 주위에 특정된 XYZ 좌표계에서 Z-축 방향이다.
다수의 점들 즉, 물체가 폴리곤으로 도시된 경우에 얻은 정점 좌표들이 자주 이용된다.
통상적인 점은 다수의 점들의 좌표값들을 기초로 대체 방법으로 결정된다. 예를 들어, 제1선택점 또는 마지막 선택점의 Z 값들의 평균값이 통상적인 점으로 설정된다.
좌표값들은 또한 1차원 개산, 2차원 개산, 또는 고차 개산으로 계산된다.
이 경우에, 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부가 다음의 방식으로 결정된다. 즉, Z-축 방향으로 물체의 Z값들의 최소값을 minZ로 나타내고, 물체의 Z값들의 최대값을 maxZ로 나타내며, 그리고 물체의 Z값들의 평균값을 meanZ로 나타낸 것이라 가정한다. 이 경우에, 표현식:
|minZ - maxZ| ÷|minZ| ≤K1,
|minZ - maxZ| ÷|maxZ| ≤K1, 또는
|minZ - maxZ| ÷|meanZ| ≤K1
을 만족한 경우, 물체의 Z값들이 집중된 것으로 결정된다. K1의 값은 예를 들어 0.1이다.
그러나, K1의 값은 적용될 응용 프로그램, 적용될 장면 등에 따라 변할 수 있다.
게다가, 다수의 물체를 특정하는 다수의 점들의 좌표값들이 물체들의 단위로 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부가 다음의 방식으로 결정된다. 즉, Z-축 방향으로 i번째 물체(i=1, 2, ... , M)의 Z 값들의 최소값을 minZi로 나타내고, i번째 물체의 Z 값들의 최대값을 maxZi로 나타내며, 그리고 i번째 물체의 Z 값들의 평균값을 meanZi로 나타낸 것이라 가정한다. 이 경우에, 표현식:
|minZ1 - maxZ1| ÷|meanZ1 - meanZ2| ≤K2,
|minZ2 - maxZ2| ÷|meanZ1 - meanZ2| ≤K2,
|minZ2 - maxZ2| ÷|meanZ2 - meanZ3| ≤K2,
|minZ3 - maxZ3| ÷|meanZ2 - meanZ3| ≤K2,
.....................
|minZM-1 - maxZM-1| ÷|meanZM-1 - meanZM| ≤K2, 및
|minZM - maxZM| ÷|meanZM1 - meanZM| ≤K2
을 만족한 경우, Z값들은 물체들의 단위로 집중되는 것으로 결정된다. 이경우, 대략적인 계산이 물체들의 단위로 실행된다. K2의 값은 예를 들어 0.1이다.
그러나, K2의 값은 적용될 응용 프로그램, 적용될 장면 등에 따라 변할 수 있다. 이 방법은 표현식이 만족되는 물체에만 선택적으로 적용될 수 있다.
게다가, 3차원 공간에 놓인 물체를 가상 2차원 화면 상에 원근투영-변환하는 장치는, 동일한 장면 상에 물체를 특정하는 다수의 점들의 좌표값들이 물체들의 단위로 소정의 방향에 대해 집중되는 경우, 각각의 물체들에 대해 선택된 통상적인 점의 좌표값들을 이용하여, 물체를 특정하는 나머지 점들의 원근투영 변환이 개산된다.
통상적인 점들은 1차원 개산, 2차원 개산, 또는 고차원 개산의 대체 방법으로 선택될 수 있다.
게다가, 본 발명에 따른 엔터테인먼트 시스템은 제어 시스템, 그래픽 시스템, 음향 시스템, 광학 디스크 제어 유닛 및 이런 시스템들과 상기 유닛을 서로 연결하는 버스를 포함하고, 상기 그래픽 시스템은 형상 전송 엔진(geometry transfer engine)을 갖는 것을 특징으로 하며, 그리고 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중된 경우 다수의 점들로부터 선택된 통상적인 점의 좌표값들을 이용하여 상기 그래픽 시스템이 나머지 점들의 원근투영 변환을 개산한다.
여기서, 다수의 물체가 존재한 경우 및 상기 물체들이 물체들의 단위로 집중된 경우, 물체들의 단위로 개산된다.
게다가, 본 발명에 따라 3차원 공간에 놓인 물체를 원근투영 변환하는 방법은 다음의 단계를 포함한다:물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부를 검사하는 단계; 및 좌표값들이 집중된 경우, 다수의 점들로부터 선택된 통상적인 점의 좌표값들을 이용하여 나머지 점들의 원근투영 변환을 개산하는 단계.
여기서, 다수의 물체가 존재하는 경우 및 상기 물체들이 물체들의 단위로 집중된 경우, 물체들의 단위로 개산된다.
이런 방식으로, 다수의 점들이 원근투영-변환되는 경우, 몇 개의 점들의 Z 값들은 근사치로 산술 연산된다. 이런 이유로, CPU 및 기타 산술 연산 수단에 대한 부하가 감소되고, 고속 원근투영 변환이 이뤄진다.
본 발명에 따른 실시형태는 수반하는 도면을 참조로 하여 아래 자세하게 기술된다.
[엔터테인먼트 시스템]
먼저, 본 발명에 따라 3차원 그래픽을 실행할 수 있는 엔터테인먼트 시스템이 도면을 참조로 간략하게 기술된다.
도 1은 비디오 게임 장치의 외관을 엔터테인먼트 시스템의 일예로 도시한다. 이 비디오 게임 장치(1)는 사용자(게임 플레이어)의 명령에 따라 게임 프로그램을 실행하기 위해 가령 광학 디스크 등에 기록된 게임 프로그램을 판독한다. 게임 실행은 주로 게임 진행 및 표시 또는 음향의 제어를 의미한다.
비디오 게임 장치(1)의 본체(2)는 비디오 게임과 같은 응용 프로그램을 중앙 장치에 공급하는 기록 매체의 작용을 하는 CD-ROM과 같은 광학 디스크가 로딩되는디스크 로딩 장치(3), 게임을 임의로 재설정하는 리셋 스위치(4), 전원 스위치(5), 광학 디스크의 로딩을 조작하는 디스크 조작 스위치, 및 예를 들어 두개의 슬롯 유닛(7A 및 7B)을 포함한다.
2 개의 조작 장치(20)가 슬롯 유닛(7A 및 7B)과 연결되어 있어서, 2 명의 사용자가 매치-업(match-up) 게임 등을 실행할 수 있다. 또한, 게임 데이터가 세이브(저장)되거나 판독되는 메모리 카드 또는 게임이 본체와 무관하게 실행되는 휴대 전자 장치가 슬롯 유닛(7A 및 7B)에 연결된다.
조작 장치(이하 "제어기"라고 함)(20)는 제1 및 제2조작 유닛(21 및 22), L 버튼(23L), R 버튼(23R), 시작 버튼(24), 및 선택 버튼(25)을 갖는다. 이 제어기는 추가로 아날로그로 조작되는 조작 유닛(31 및 32), 조작 유닛(31 및 32)의 조작 모드중 하나를 선택하는 모드 선택 스위치(33), 및 선택된 조작 모드를 표시하는 표시 유닛(34)을 갖는다.
도 2는 비디오 게임 장치(1)의 본체의 정면에 배열된 2개의 슬롯 유닛(7A 및 7B)의 외관을 도시한다. 2개의 슬롯 유닛(7A 및 7B) 각각은 2단(stage)을 갖는다. 상단에는, 메모리 카드(10) 또는 휴대 전자 장치(100)(도시되지 않음)가 삽입되는 메모리 카드 삽입 유닛(8A 및 8B)이 형성된다. 하단에는, 제어기(20)의 접속 단자 유닛(커넥터)(26)이 연결된 제어기 연결 유닛(잭)(9A 및 9B)가 형성된다.
메로리 카드 삽입 유닛(8A 및 8B)의 삽입 홀(슬롯) 각각은 다소 비대칭적으로 형성되어 있기 때문에, 메모리 카드는 대응하는 메로리 카드 삽입 유닛에 역으로 잘못 삽입되지 않는다. 한편, 제어기 연결 유닛(9A 및 9B) 각각은 다소 비대칭적으로 형성되어 있기 때문에, 접속 단자 유닛(26)은 대응하는 제어기 연결 유닛에 역으로 잘못 삽입되지 않는다. 제어기 연결 유닛(9A 및 9B) 각각은 메모리 카드 삽입 유닛(8A 및 8B) 각각과 다른 모양을 가지고 있기 때문에, 메모리 카드는 대응하는 제어기 연결 유닛에 잘못 삽입될 수 없다.
도 3은 휴대 전자 장치(100)가 비디오 게임 장치(1)의 정면에 있는 슬롯 유닛(7A)의 메모리 카드 삽입 유닛(8A)에 삽입된 상태에서 비디오 게임 장치를 도시한다.
도 4는 비디오 게임 장치(1)의 주요 부분의 개략적인 회로 구성도의 일예를 도시한 블럭도이다.
비디오 게임 장치(1)는 중앙 처리 장치(CPU)(51) 및 그 주변 장치 등으로 구성된 제어 시스템(50), 프레임 버퍼(63a)에서 화상을 그리는 영상 처리 장치(GPU:Graphic Processing Unit)(62) 등등으로 구성된 그래픽 시스템(60), 음향, 음향 효과 등등을 발생시키는 음향 처리 시스템(SPU) 등등으로 구성된 음향 시스템(70), 응용 프로그램이 기록된 광학 디스크를 제어하는 광학 디스크 제어 장치(80), 사용자로부터의 명령이 입력된 제어기(20)로부터의 신호 및 게임의 설정들을 저장하는 메모리 카드(10) 또는 휴대 전자 장치(100)로부터의 데이터의 입/출력 조작을 제어하는 통신 제어 유닛(90), 및 상기 유닛들이 연결된 버스(BUS) 등을 포함한다.
제어 시스템(50)은 CPU(51), 직접 메모리 엑세스(DMA:Dynamic Memory Access) 전송의 인터럽트 제어 또는 제어 등등을 실행하는 주변 장치 제어유닛(52), 랜덤 엑세스 메모리(RAM)로 구성된 주 메모리(주 저장 유닛)(53), 및 주 메모리(53), 그래픽 시스템(60), 음향 시스템(70) 등등을 관리하는 소위 운영 시스템과 같은 프로그램이 기록된 읽기-전용 메모리(ROM)(54)를 갖는다. 주 메모리(53)는 프로그램이 실행되는 메모리이다.
CPU(51)는 대개 비디오 게임 장치(1)를 제어하기 위해 ROM(54)에 저장된 운영 시스템을 실행하고, 32-비트 RISC(reduced instruction set computer)-CPU로 구성된다.
비디오 게임 장치(1)가 온인 경우, 제어 시스템(50)의 CPU(51)는 ROM(54)에 저장된 운영 시스템을 실행하여, CPU(51)는 그래픽 시스템(60), 음향 시스템(70) 등등의 제어를 실행한다.
운영 시스템이 실행된 경우, CPU(51)는 대체로 비디오 게임 장치(1)의 연산 검사와 같은 초기화를 실행한 다음, 광학 디스크 제어 유닛(80)을 제어하여 광학 디스크에 기록된 게임과 같은 응용 프로그램을 실행한다. 게임용 프로그램 등의 실행시, CPU(51)는 영상 표시 및 음향 효과와 음향의 발생을 제어하기 위해 사용자의 입력에 따라 그래픽 시스템(60), 음향 시스템(70) 등등을 제어한다.
그래픽 시스템(60)은 좌표 변환과 같은 처리를 실행하는 그래픽 데이터 발생 처리기 또는 형상 전송 엔진(GTE:Geometry Transfer Engine), CPU(51)로부터의 작도(drawing) 명령에 따라 화상을 그리는 그래픽 처리 유닛(GPU)(62), GPU(62)에 의해 그려진 영상을 저장하는 프레임 버퍼(63), 및 이산 코사인 변환과 같은 직교 변환에 의해 압축된 영상 데이터를 디코딩하는 영상 디코더(64)를 포함한다.
GTE(61)는 수치연산 보조 프로세서(co-processor)의 기능을 한다. GTE(61)는 다수의 산술 연산을 병렬로 실행하는 병렬 산술 연산 메카니즘을 포함하기 때문에, 좌표 변환, 광원 계산, 행렬, 또는 벡터와 같은 산술 연산이 CPU(51)로부터의 산술 리퀘스트에 따라 고속으로 실행된다. 보다 구체적으로는, 본 발명에 따른 폴리곤들의 정점 좌표들의 계산이 GTE(61)에 의해 실행된다. GTE(61)는 가령 동일한 색상의 하나의 삼각형 폴리곤을 그리는데 고정 촬영(flat shooting)을 실행하는 산술 연산에서 초당 최대 약 150만 폴리곤의 좌표 연산을 실행한다. 이런 식으로, 비디오 게임 장치에서는, CPU(15)상의 부하가 줄어들게 되고, 고속 좌표 연산이 실행된다.
GPU(62)는 CPU(51)로부터의 폴리곤 작도 명령에 따라 연산한다. GPU(62)는 번지 공간의 역할을 하는 프레임 버퍼(63)에서 폴리곤 등을 그리기 위해 CPU(51)와 독립된 2차원 번지 공간을 갖는다. GPU(62)는 초당 최대 약 36만 폴리곤이 실행되도록 설계된다.
게다가, 프레임 버퍼(63)는 소위 이중 포트 RAM으로 구성되고, GPU(62)로부터의 작도 또는 주 메모리(53)로부터의 전송 및 표시기에 대한 판독이 동시에 실행되도록 설계된다. 프레임 버퍼(63)는 가령 1Mbyte 용량을 갖고, 폭이 1,024 픽셀이고 길이가 512 픽셀인 16-비트 행렬 각각으로 처리된다.
프레임 버퍼(63)에서, 비디오 출력으로서 표시 영역 출력외에, GPU(62)는 폴리곤 등등을 그리는 경우 색상 검색 표(CULT)라고 하는 CULT 영역, 및 작도시 좌표 변환되어 GPU(62)에 의해 그려진 폴리곤 등에 삽입된(사상된) 물질(텍스쳐)이 저장된 텍스쳐 영역이 형성된다. 이런 CULT 영역 및 텍스쳐 영역은 표시 영역 등등의 변화에 따라 다이나믹하게 변하게 된다.
GPU(62)는 플랫 쉐이딩(flat shading) 외에 폴리곤의 정점 색상을 삽입하여 폴리곤의 색상을 결정하는 고우라우드 쉐이딩(gouraud shading) 및 폴리곤 상의 텍스쳐 영역에 저장된 텍스쳐들을 붙이는(pasting) 텍스쳐 사상(mapping)이 실행되도록 설계된다. 고우라우드 쉐이딩 또는 텍스쳐 사상이 실행된 경우, GTE(61)는 초당 최대 약 50만 폴리곤의 좌표 연산을 실행한다.
게다가, 영상 디코더(64)는 CPU(51)에 의해 제어되고 주 메모리(53)에 디코딩된 데이터를 저장하기 위해 정적 영상 또는 이동 화상의 영상 데이터를 디코딩한다.
재생된 영상 데이터는 본체(2)를 통해 프레임 버퍼(63)에 저장되고, 영상 데이터는 GPU(62)에 의해 그려진 영상의 배경으로 이용된다.
음향 시스템(70)은 CPU(51)로부터의 명령을 기초로 음향, 음향 효과 등을 발생시키는 SPU(71), 파형 데이터 등이 기록되는 음향 버퍼(72), 및 SPU(71)에 의해 발생된 음향, 음향 효과 등을 출력시키는 확성기(73)를 포함한다.
SPU(71)는 적응 차동 PCM(ADPCM)을 16-비트 오디오 데이터에 4-비트 차동 신호로서 실행시켜 얻은 오디오 데이터를 재생하는 ADPCM 디코딩 기능, 음향 효과 등을 발생시키기 위해 음향 버퍼(72)에 저장된 파형 데이터를 재생하는 재생 기능, 음향 버퍼(72)에 저장된 파형 데이터를 변조 및 재생하는 변조 기능 등을 포함한다.
음향 시스템(70)은 이런 기능들을 포함하기 때문에, 음향 시스템(70)은 CPU(51)로부터의 명령에 따라 음향 버퍼(72)에 기록된 파형 데이터를 기초로 음향, 음향 효과 등을 발생시키는 소위 샘플링 음원으로 이용된다.
광학 디스크 제어 유닛(80)은 광학 디스크에 기록된 프로그램, 데이터 등을 발생시키는 광학 디스크 장치(81), 에러 수정 코드(ECC)로 기록된 프로그램, 데이터 등을 디코딩하는 디코더(82), 및 광학 디스크로부터의 데이터의 판독 속도를 높이기 위해 광학 디스크 장치(81)로부터의 데이터를 임시로 저장하는 버퍼(83)를 포함한다. 서브-CPU(84)는 디코더(82)에 연결된다.
광학 디스크 장치(81)에 의해 판독되고 광학 디스크에 기록된 오디오 데이터로서, 광학 디스크에 기록된 오디오 신호를 아날로그/디지털-변환하여 얻은 ADPCM 데이터 소위 PCM 데이터가 알려져 있다.
예를 들어 16-비트 디지털 데이터의 차동이 4 비트씩 표현되도록 ADPCM 데이터로서 기록된 오디오 데이터가 디코더(82)에 의해 디코딩되고, SPU(71)에 공급되며, 그리고 SPU(71)에 의해 디지털/아날로그 변환과 같은 프로세스가 되어 확성기(73)를 구동시키는데 이용된다.
PCM 데이터로서 기록된 오디오 데이터 가령 16-비트 디지털 데이터는 디코더(82)에 의해 디코딩된 후 확성기(73)를 구동시키는데 이용된다.
게다가, 통신 제어 유닛(90)은 버스(BUS)를 통해 CPU(51)와의 통신을 제어하는 통신 제어기(91)를 갖는다. 사용자로부터의 명령을 입력하는 제어기(20)가 연결된 제어기 연결 유닛(12) 및 게임 또는 휴대 전자 장치(100)(후술됨)의 설정 데이터 등을 저장하는 보조 저장 장치의 역할을 하는 메모리 카드(10)가 연결된 메모리 카드 삽입 유닛(8A 및 8B)이 통신 제어기(91) 상에 배열된다.
제어기 연결 유닛(12)에 연결된 제어기(20)는 예를 들어 사용자로부터 명령을 입력하기 위해 16 명령키를 갖고, 제어기(20)로부터의 명령에 따라 약 60배로 동기 통신에 의해 명령키의 상태를 통신 제어기(91)로 전송한다. 통신 제어기(91)는 제어기(20)의 명령키의 상태를 CPU(51)에 전송한다.
이런 식으로, 사용자로부터의 명령이 CPU(51)에 입력되고, CPU(51)는 실행중인 게임 프로그램 등을 기초로 사용자로부터의 명령에 따라 프로세스를 실행한다.
여기서, 프로그램, 영상 표시, 또는 영상 작도 등을 판독하는데 있어서, 다량의 영상 데이터가 주 메모리(53), GPU(62), 영상 디코더(64), 디코더(82) 등 이들 사이를 고속으로 전송되어야 한다. 그러므로, 상기 기술된 바와 같이, 이런 비디오 게임 장치는 CPU(51)를 통해 지나가지 않으면서 주변 장치 제어 유닛(52)의 제어 하에 주메모리(53), GPU(62), 영상 디코더(64), 디코더(82) 등 이들 사이로 데이터가 직접 전송되는 소위 DMA 전송을 실행하도록 설계된다. 이런 식으로, 데이터 전송에 의해 발생된 CPU(51) 상의 부하가 감소되고, 고속 데이터 전송이 실행된다.
실행중인 게임의 데이터 등의 설정이 저장되어야 하는 경우, CPU(51)는 통신 제어기(91)로 저장될 데이터를 전송하고, 통신 제어기(91)는 메모리 카드 삽입 유닛(8A) 또는 메모리 카드 삽입 유닛(8B)의 슬롯에 삽입되는 메모리 카드(10) 또는 휴대 전자 장치(100)에서 CPU(51)로부터의 데이터를 기록한다.
여기서, 전기적 파손을 막기 위해 보호 회로가 통신 제어기(91)에 포함된다. 메모리 카드(10) 및 휴대 전자 장치(100)는 버스(BUS)로부터 분리되어, 본체가 온인 동안 슬롯으로부터 탈착이 가능하다. 그러므로, 메모리 카드(10) 또는 휴대 전자 장치(100)의 메모리 용량이 짧은 경우, 본체의 전원을 차단하지 않고서도 새로운 메모리 카드(10)가 삽입된다. 이런 이유로, 백업되어야 하는 게임 데이터를 잃지 않으면서, 새로운 메모리 카드(10)가 삽입되어 필요한 데이터를 새로운 메모리 카드(10)에 기록한다.
게다가, 병렬 I/O 인터페이스(PIO)(96) 및 직렬 I/O 인터페이스(SIO)(97)은 메로리 카드(10) 또는 휴대 전자 장치(100)를 비디오 게임 장치(1)에 연결시키는 인터페이스이다.
상기 기술된 엔터테인먼트 시스템에서, 본 실시형태에 따른 원근투영 변환이 실행된 경우, 개략적인 계산을 이용하여 고속 처리를 실행한다.
[3차원 그래픽]
3차원 그래픽은 소정의 시점에서 3차원 공간에 놓인 피사체를 보는 경우에 화면 상의 피사체의 원근투영 위치가 소정의 위치로 설정되는 기술이다. 상기 기술된 엔터테인먼트 시스템에서, 폴리곤을 그리기 위해, 일련의 프로세스 즉, 한 화면의 다수의 폴리곤을 단위로 이용하여 형상 연산을 실행하는 프로세스, Z 값으로 분류(sorting)를 실행하는 프로세스, 및 작도를 실행하는 프로세스가 실행된다. 보다 구체적으로는, 형상 연산을 실행하는 프로세스로부터 작도를 실행하는 프로세스까지의 프로세스들이 한 화면의 한 세트의 폴리곤에 단계별로 실행된다.
그래픽 시스템(60)의 GTE(61)는 형상 연산을 고속으로 실행하는 수치연산 보조 실행장치의 기능을 한다. 고속 연산중, 통상적인 형상 연산이 가령 게임 프로그래머에게 라이브러리(library) 형식으로 제공된다. 하기에 기술되는 원근투영 변환 개산은 기본적인 형상 라이브러리로 준비되어 게임 프로그래머에게 제공된다.
원근투영 변환 계산은 가령 방정식(1) 및 (2)로 표현된다:
Sx = Xx(h/Z) ...(1)
Sy = Yx(h/Z) ...(2)
방정식 (1) 및 (2)는 도 5에 도시된 바와 같이 소정의 점에 설정된 시점(VP)으로부터 피사체(OB)를 보는 경우 가상 화면(200) 상의 피사체(OB)의 투영된 영상의 위치를 계산하기 위한 방정식이다.
도 5에서, 시점(VP)은 좌표 원점(A)으로 설정되고, 시선은 Z축의 양수측에 표시되며, 그리고 도 5에서 수직 방향은 Y축으로 정의된다. 이 때, X축은 생략한다. 이런 좌표계에서, 화살표같은 피사체(OB)가 Z축에 배열된다고 가정한다.
피사체(OB)의 화살표의 꼭대기 좌표는 P(X, Y)로 정의되는 경우, 화면(200)에 반사된 화살표의 투영 꼭대기는 좌표 Ps(Sx, Sy)로 나타낸다.
도 5에서, 삼각형 ABC는 삼각형 ADE와 닮은 꼴이다. 시점(VP)로부터 피사체(OB)까지의 거리는 Z로 나타내고, 시점(VP)로부터 화면(200)까지의 거리는 h로 나타낸다. 이 경우에, 서로 닮은 꼴의 두 삼각형의 비례 인자(scale factor)(세그먼트 인자)는 (h/Z)로 나타낸다. 이런 이유로, 화면(200) 상의 꼭대기 좌표(Ps)의 좌표값들은 상기 기술된 방정식 (1) 및 (2)로 표현된다.
방정식 (1) 및 (2)로 계산한 꼭대기 좌표 Ps(Sx, Sy)는 기본 도면(폴리곤)은 가령 3차원 영상의 피사체를 구성하는 화면 상의 꼭대기 좌표에 대응한다. 이러한 관계는 또한 도 5에 생략된 X-축 방향에 대해서도 만족된다.
원근투영 변환은 3차원 피사체를 구성하는 모든 점들에 실행되어야 한다. 여기서는, 단 하나의 피사체가 동일한 장면에 놓인 경우가 고려된다. 도 6은 이 경우를 나타낸다. 도 6에서, 크리스마스 트리와 닮은 꼴의 피사체(OB)를 구성하는 통상적인 점들로서, 4점 P1(X1, Y1), P2(X2, Y2), P3(X3, Y3), 및 P4(X4, Y4)이 특정된다. 시점(VP)으로부터 피사체(OB)의 4점 P1, P2, P3, 및 P4까지의 거리는 Z1, Z2, Z3, 및 Z4로 각각 나타내며, 시점(VP)으로부터 화면(200)까지의 거리는 h로 나타낸다. 이 때, 4점(P1 내지 P4)을 원근투영 변환하여 얻은 화면 상의 좌표 Ps1(Sx1, Sy1), Ps2(Sx2, Sy2), Ps3(Sx3, Sy3) 및 Ps4(Sx4, Sy4)가 다음 방정식으로 각각 표현된다:
Sx1 = X1 x (h/Z1), Sy1 = Y1 x (h/Z1) ...(3)
Sx2 = X2 x (h/Z2), Sy2 = Y2 x (h/Z2) ...(4)
Sx3 = X3 x (h/Z3), Sy3 = Y3 x (h/Z3) ...(5)
Sx4 = X4 x (h/Z4), Sy4 = Y4 x (h/Z4) ...(6).
다음의 이유로 이런 계산들이 실행된다. 즉, 시점(VP)으로부터 화면(200)까지의 거리가 h로 일정하지만, 시점(VP)으로부터 4점(P1 내지 P4)까지의 거리는 Z1, Z2, Z3 및 Z4 각각과 다르기 때문에, 닮은 꼴의 도면들의 비례 인자들은 (h/Z1), (h/Z2), (h/Z3) 및 (h/Z4)로 각각 다르다. 이런 이유로, 4개의 특정 점들(P1 내지P4)을 원근투영 변환하기 위해, 점의 수에 비례하는 수의 비례 인자 (h/Z1), (h/Z2), (h/Z3) 및 (h/Z4)가 계산되어야 한다. 일반적으로, 피사체(OB)가 N 점들로 구성된 경우, 스케일 요소(h/Z)는 N 점의 수에 비례하는 수의 배수로 계산되어야 한다.
다수의 피사체가 동일한 장면에 놓인 경우가 고려된다. 도 7은 이 경우를 도시한 도면이다. 도 7에서, 도 6에 도시된 것과 동일한 각각의 3개의 크리스마스-트리 형태의 피사체(OB)가 시점(VP)로부터 다른 거리로 배열된다. 이런 피사체들은 시점(VP)로부터 거리를 증가시키기 위해 OB1, OB2 및 OB3로 나타낸다.
도 7의 3개의 피사체(OB1 내지 OB3) 각각이 도 6의 4점들로 구성된다고 가정한다. 이 경우에, 방정식 (3) 내지 (6)에 따라, 비례 인자(h/Z)에 대한 계산이 각 피사체의 Z 방향에 거리의 수의 배수 가령 4배로 실행되어야 한다. 그러므로, 모든 피사체(OB1 내지 OB3)에서 12배로 계산이 실행되어야 한다.
일반적으로, M 피사체들은 N1 점, N2 점, ... , Nm 점 각각으로 구성된다. 이 경우에, 방정식 (3) 내지 (6) 에 따라, 비례 인자(h/Z)에 대한 계산이 거리의 수의 배수 즉, (N1 + N2 + ... + Nm) 배로 실행되어야 한다.
보다 구체적으로는, 제1피사체(OB1)를 구성하는 N1 점들의 Z 값들은 ZOB11, ZOB12, ... , ZOB1N1으로 나타내고, 제2피사체(OB2)를 구성하는 N2 점들의 Z값들은 ZOB21, ZOB22, ... , ZOB2N2으로 나타내며, 그리고 유사하게는 M번째 피사체(OBM)를구성하는 Nm 점들의 Z값들은 ZOBM1, ZOBM2, ... , ZOBMNm으로 나타낸다고 가정한다. 이 경우에, (h/ZOB1), (h/ZOB2), ... , (h/ZOBNm)이 계산되어야 한다. 이런 방식으로, 이런 비례 인자(h/Z)의 계산양이 엄청나다.
(피사체가 공간에 집중되는 것으로 간주되는 경우)
그러나, 단일 피사체는 시점으로부터 충분히 이격되어 있어서 피사체가 공간에 집중된 것으로 간주할 수 있다. 피사체가 N 점으로 구성되어 있다고 가정한다. 시점(VP)으로부터 점 P1, P2, ... , PN까지의 거리는 Z1, Z2, ... , ZN각각으로 나타낸다.
그런 경우에, 시점(VP)으로부터 피사체를 구성하는 점들까지의 거리 Z1, Z2, ... , ZN의 Z 값의 차가 시점(VP)으로부터 피사체를 구성하는 점들까지의 거리의 Z값들 보다 상대적으로 상당히 적다. 상기 기술된 바와 같이, 피사체를 구성하는 점들이 공간에 집중되어 있다고 간주하는 경우, 다음의 표현식들이 만족된다:
|minZ - maxZ| ≪ |minZ| ...(7),
|minZ - maxZ| ≪ |maxZ| ...(8), 또는
|minZ - maxZ| ≪ |meanZ| ...(9)
여기서, minZ = min(Z1, Z2, ... , ZN)이 만족되는데 즉, minZ는 시점(VP)으로부터 피사체를 구성하는 점들까지의 거리의 값(Z1, Z2, ... , ZN)의 최소값을 나타내고,
maxZ = max(Z1, Z2, ... , ZN)이 만족되는데 즉, maxZ는 시점(VP)으로부터 피사체를 구성하는 점들까지의 거리의 값(Z1, Z2, ... , ZN)의 최대값을 나타내며,
meanZ = mean(Z1, Z2, ... , ZN)이 만족되는데 즉, meanZ는 시점(VP)으로부터 피사체를 구성하는 점들까지의 거리의 값(Z1, Z2, ... , ZN)의 평균값 meanZ = (Z1+ Z2+ ... + ZN)/N을 나타내고, 그리고
≪는 좌변의 값이 우변의 값보다 상당히 작다는 것을 나타낸다.
방정식들이 만족한 경우, 피사체를 구성하는 점들의 Z값들의 거리는 피사체를 구성하는 점들의 Z값들 보다 상당히 작다. 이런 이유로, 피사체가 그려진 경우 차이점들을 무시하고라도 영상이 약간의 영향을 받는다는 것을 알 수 있다. 그러므로, 도 8에 도시된 바와 같이, 피사체를 구성하는 모든 점들의 Z값들은 통상적인 값(typZ)으로 개산되어, 영상에 끼치는 영향이 거의 무시될 수 있다. 예를 들어, 피사체를 구성하는 n 점들의 Z 값(Z1, Z2, ... , ZN)의 평균 값 meanZ = (Z1, Z2, ... , ZN)/N이 통상적인 값 typZ로 정의되고, 통상적인 값(typZ)을 이용하여 피사체의 Z 값들을 개산한다.
예를 들어, 원근투영 변환을 실행하기 위해 통상적인 값(typZ)을 이용하여 각각의 Z값을 개산하는 경우, 화면 상의 피사체의 좌표들이 다음의 방정식들로 표현된다:
Sx1 = X1 x (h/typZ), Sy1 = Y1 x (h/typZ) ...(10)
Sx2 = X2 x (h/typZ), Sy2 = Y2 x (h/typZ) ...(11)
Sx3 = X3 x (h/typZ), Sy3 = Y3 x (h/typZ) ...(12)
..........
SxN = XN x (h/typZ), SyN = YN x (h/typZ) ...(13)
방정식 (10) 내지 (13)의 계산에서, (h/typZ)를 단 한번에 계산하여 하나의 피사체의 비례 인자(h/Z)에 대한 계산을 완결한다. 보다 구체적으로는, 피사체를 구성하는 모든 점들의 원근투영 변환에서는 개략적인 비례 인자(h/typ)가 이용된다.
컴퓨터에서, 감산을 반복하여 비례 인자를 계산하는 나눗셈이 기본적으로 실행된다. 이런 이유로, 비례 인자에 대한 계산이 피사체 마다 만족스럽게 실행되는 경우, 산술 연산의 배수의 수가 상당히 감소된다.
(다수의 피사체가 공간에 피사체들의 단위로 집중되는 것을 간주되는 경우)
다수의 피사체(OB1 내지 OBM)가 동일한 장면에 놓인 경우가 고려된다. 이런 모든 피사체(OB1 내지 OBM)는 시점(VP)으로부터 충분히 이격되고, 피사체가 공간에서 피사체들의 단위로 집중되어 있다고 간주할 수도 있다. 다시 말해서, 후자의 조건은 피사체가 서로 충분히 이격되어 있음을 나타낸다.
제1피사체(OB1)는 N1 점들로 구성되고, 제2피사체(OB2)는 N2 점들로 구성되며, ... , 그리고 M번째 피사체(OBM)는 NM 점들로 구성되어 있다고 가정한다.
시점(VP)으로부터 제1피사체(OB1)의 점들(OB11, OB12, ... , OB1N1)까지의 거리는 Z11, Z12, ... , Z1N1으로 각각 나타낸다고 가정한다. 시점(VP)으로부터 제2피사체(OB2)의 점들(OB21, OB22, ... , OB2N1)까지의 거리는 Z21, Z22, ... , Z2N2로 각각 나타낸다고 가정한다. 유사하게는, 시점(VP)으로부터 M번째 피사체(OBM)의 점들(OBM1, OBM2, ... , OBMN1)까지의 거리는 ZM1, ZM2, ... , ZMNM으로 각각 나타낸다고 가정한다.
이런 경우에, 이런 모든 피사체는 시점(VP)으로부터 충분히 이격되어 있기 때문에, 표현식 (7) 내지 (9)으로 표현된 관계와 유사한 관계이다:
|minZ - maxZ| ≪ |minZ| ...(14),
|minZ - maxZ| ≪ |maxZ| ...(15), 또는
|minZ - maxZ| ≪ |meanZ| ...(16)
여기서, minZ = min(Z11, ... , ZNM)을 만족하는데 즉, minZ는 시점(VP)으로부터 모든 피사체(OB1 내지 OBM)를 구성하는 점들까지의 거리의 값들(Z11, ... , ZNM)의 최소값을 나타내고,
maxZ = max(Z11, ... , ZNM)이 만족되는데 즉, maxZ는 시점(VP)으로부터 모든 피사체(OB1 내지 OBM)를 구성하는 점들까지의 거리의 값(Z11, ... , ZNM)의 최대값을 나타내며,
meanZ = mean(Z1, ... , ZNM)이 만족되는데 즉, meanZ는 시점(VP)으로부터 모든 피사체(OB1 내지 OBM)를 구성하는 점들까지의 거리의 값들(Z1, ... , ZNM)의 평균값 meanZ1 = (Z11+ ... + ZMNM)/(N1+...+NM)을 나타내고, 그리고
≪는 좌변의 값이 우변의 값보다 상당히 작다는 것을 나타낸다.
다수의 피사체(OB1 내지 OBM)가 피사체들의 단위로 공간에 집중되기 때문에, 특정 피사체를 구성하는 점들은 나머지 피사체들을 구성하는 점들과 충분히 이격되어 있다. 특히, 특정 피사체를 구성하는 점들도 또한 특정 피사체에 인접한 피사체를 구성하는 점들과 충분히 이격된다.
공간에서 피사체들을 구성하는 점들이 피사체들의 단위로 집중된다고 간주하는 경우, 다음의 표현식들이 만족된다:
|minZ1 - maxZ1| ≪ |meanZ1 - meanZ2| ...(17),
|minZ2 - maxZ2| ≪ |meanZ1 - meanZ2| ...(18)
|minZ2 - maxZ2| ≪ |meanZ2 - meanZ3| ...(19)
|minZ3 - maxZ3| ≪ |meanZ2 - meanZ3| ...(20)
.................
|minZM-1 - maxZM-1| ≪ |meanZM-1 - meanZM| ...(21)
|minZM - maxZM| ≪ |meanZM-1 - meanZM| ...(22)
여기서, minZ1 = min(Z11, Z12... , Z1N1)을 만족하는데 즉, minZ는 시점(VP)으로부터 제1피사체(OB1)를 구성하는 N1 점들까지의 거리의 값(Z11, Z12... , Z1N1)의 최소값을 나타내고,
minZ2 = max(Z21, Z22... , Z2N2)이 만족되는데 즉, minZ2는 시점(VP)으로부터 제2피사체(OB2)를 구성하는 N2 점들까지의 거리의 값들(Z21, Z22... , Z2N2)의 최소값을 나타내며, 그리고
유사하게는, minZM = min(ZM1, ZM2... , ZMNM)을 만족하는데 즉, minZ1은 시점(VP)으로부터 M번째 피사체(OBM)를 구성하는 NM 점들까지의 거리의 값들(ZM1, ZM2... , ZMNM)의 최소값을 나타낸다.
다음으로,
maxZ1 = max(Z11, Z12... , Z1N1)이 만족되는데 즉, maxZ1는 시점(VP)으로부터 제1피사체(OB1)를 구성하는 N1 점들까지의 거리의 값들(Z11, Z12... , Z1N1)의 최대값을 나타내고,
maxZ2 = max(Z21, Z22... , Z2N2)이 만족되는데 즉, maxZ2는 시점(VP)으로부터 제2피사체(OB2)를 구성하는 N2 점들까지의 거리의 값(Z21, Z22... , Z2N2)의 최대값을 나타내며, 그리고
유사하게는, maxZM = max(ZM1, ZM2... , ZMNM)을 만족하는데 즉, maxZ1은 시점(VP)으로부터 M번째 피사체(OBM)를 구성하는 NM 점들까지의 거리의 값들(ZM1, ZM2... , ZMNM)의 최대값을 나타낸다.
게다가,
meanZ1 = mean(Z11, Z12... , Z1N1)이 만족되는데 즉, meanZ1은 시점(VP)으로부터 제1피사체(OB1)를 구성하는 N1 점들까지의 거리의 값(Z11, Z12... , Z1N1)의 평균값 meanZ1 = (Z11+ Z12+ ... + ZMN1)/N1을 나타내고,
meanZ2 = mean(Z21, Z22... , Z2N2)이 만족되는데 즉, meanZ2는 시점(VP)으로부터 제2피사체(OB2)를 구성하는 N2 점들까지의 거리의 값(Z21, Z22... , Z2N2)의 평균값 meanZ2 = (Z21+ Z22+ ... + ZMN2)/N2를 나타내며, 그리고
유사하게는, meanZM = mean(ZM1, ZM2... , ZMNM)이 만족되는데 즉, meanZ1은 시점(VP)으로부터 M번째 피사체(OBM)를 구성하는 NM 점들까지의 거리의 값들(ZM1, ZM2... , ZMNM)의 평균값 meanZ2 = (ZM1+ ZM2+ ... + ZMNM)/NM을 나타낸다.
≪는 좌변의 값이 우변의 값보다 상당히 작다는 것을 나타낸다.
방정식들을 만족한 경우, 다수의 피사체가 그려진 경우에 특정 피사체를 구성하는 점들의 Z값들간 차는 특정 피사체에 인접한 피사체를 구성하는 점들의 Z값들간 차 보다 상당히 작다. 그 차이들을 무시하고라도 영상이 약간의 영향을 받는다는 것을 알 수 있다.
예를 들어, 특정 피사체(예를 들어, M번째 피사체)를 구성하는 NM 점들의 Z 값들(ZM1, ZM2... , ZMNM)의 평균값 meanZM = (ZM1+ ZM2+ ... + ZMNM)/NM이 통상적인 값(typZM)으로 정의되고, 통상적인 값(typZM)을 이용하여 피사체의 Z 값들이 개산된다.
이런 이유로, 도 9에 도시된 바와 같이, 다수의 피사체를 구성하는 모든 점들의 Z 값들이 통상적인 값들(typZ1, typZ2, ... ,typZM)에 의해 피사체들의 단위로 각각 개산되더라도, 영상에 끼치는 영향이 거의 무시된다.
제1피사체(OB1)는 N1 점들로 구성되고, 모든 점들의 Z 값들은 통상적인 값(typZ1)으로 개산된다. 이런 이유로, (h/typZ1)을 계산하여 비례 인자가 개산된다.
제2피사체(OB2)는 N2 점들로 구성되고, 모든 점들의 Z 값들은 통상적인 값(typZ2)으로 개산된다. 이런 이유로, (h/typZ2)를 계산하여 비례 인자가 개산된다.
M번째 피사체(OBM)는 NM 점들로 구성되고, 모든 점들의 Z 값들은 통상적인 값(typZM)으로 개산된다. 이런 이유로, (h/typZM)을 계산하여 비례 인자가 개산된다.
이런 방식으로, 다수의 피사체(OB1 내지 OBM)가 N1 내지 NM 점들로 각각 구성되고, Z 값들의 통상적인 값들(typZ1 내지 typZM)을 이용하여 M 피사체들(OB1 내지 OBM)이 개산된다. 이런 이유로, (h/typZ1), (h/typZ2), ... , (h/typZM)의 개산을 실행하여 비례 인자들이 원근투영 변환된다.
다수의 피사체가 존재하는 경우, 대응하는 피사체에 대해 (h/typZ)를 한번에 계산하여 각 피사체의 비례 인자(h/Z)에 대한 개산이 완결된다. 보다 구체적으로는, 다수의 피사체를 구성하는 모든 점들의 원근투영 변환에서, 개략적인 비례 인자(h/typZ)가 피사체 단위로 이용된다.
컴퓨터에서, 감산을 반복하여 비례 인자들을 계산하는 나눗셈이 기본적으로 실행된다. 이런 이유로, 비례 인자에 대한 계산이 피사체 마다 만족스럽게 실행되는 경우, 산술 연산의 배수의 수가 상당히 감소된다.
(결정 기준)
먼저, 단일 피사체가 공간에 집중되어 있는 것으로 간주 여부를 결정하는 기준이 아래 기술된다.
본 발명의 발명자는 다음의 값들을 표현식 (7) 내지 (9)의 만족 여부를 결정하는 기준으로 이용하는데 즉, 피사체를 구성하는 모든 점들은 비례 인자(h/Z)의 Z 값들을 변동시켜 계산되거나 또는 Z 값들의 통상적인 값(typZ)(상기 경우의 meanZ)을 이용하여 개산된다:
|minZ - maxZ| ÷|minZ| ≤K1 ...(23),
|minZ - maxZ| ÷|maxZ| ≤K1 ...(24), 또는
|minZ - maxZ| ÷|meanZ| ≤K1 ...(25).
표현식 (23) 내지 (25)의 좌변의 값들은 K1이하이고, 피사체들은 개산되는 것으로 결정된다. 표현식 (23) 내지 (25)는 피사체를 구성하는 점들의 최소값 (minZ) 및 최대값(maxZ) 사이의 차 대 통상적인 값들(minZ, maxZ 및 meanZ)의 비가 소정의 값 K1이하임을 의미한다.
표현식 (23) 내지 (25)의 값 K1은 소정의 값 가령, K1=0.1이라고 가정한다.이 경우에, 피사체(OB)의 Z 값들의 최소값 및 최대값 사이의 차의 절대값이 피사체의 Z 값들의 통상적인 값(최소값 minZ, 최대값 maxZ, 또는 평균값 meanZ)의 절대값의 1/10과 같거나 보다 적고, 피사체의 모든 Z 값들은 하나의 Z 값의 통상적인 값(typZ)에 의해 개산된 것으로 결정된다.
물론, K1의 값은 적용될 응용 프로그램, 적용될 장면 등에 따라 임의로 설정된다. K1의 값은 항상 일정한 값일 필요는 없고, 적용될 응용 프로그램, 적용될 장면 등에 따라 변동될 수도 있다. 다수의 피사체가 동일한 장면에 존재한 경우, 특정 피사체는 통상적인 값에 의해 개산되고, 나머지 피사체도 계산되어 피사체의 값들이 계산된다.
둘째로, 모든 피사체들이 공간에 피사체 단위로 집중되는 것으로 간주 여부를 결정하는 기준들이 이하 기술된다.
본 발명의 발명자는 모든 피사체가 표현식 (23) 내지 (25)에서 처럼 집중된다고 간주 여부를 결정하는 기준으로서 다음의 값들을 이용한다. 다음의 값들은 표현식 (14) 내지 (16)을 만족시키기 위해 결정 기준으로 이용된다.
|minZ - maxZ| ÷|minZ| ≤K1 ...(26),
|minZ - maxZ| ÷|maxZ| ≤K1 ...(27), 또는
|minZ - maxZ| ÷|meannZ| ≤K1 ...(28).
표현식 (26) 내지 (28)의 값들은 K1이하이고, 피사체들은 개산되는 것으로 결정된다. 표현식 (26) 내지 (28)의 내용 및 소정의 값 K1은 상기 기술된 바와 같다.
표현식 (17) 내지 (22)가 만족되기 때문에, 본 발명의 발명자는 다수의 피사체들이 피사체들의 단위로 공간에 집중되는 지의 여부를 결정하는 기준으로서 다음의 값들을 이용한다.
|minZ1 - maxZ1| ÷|meanZ1 - meanZ2| ≤K2 ...(29)
|minZ2 - maxZ2| ÷|meanZ1 - meanZ2| ≤K2 ...(30)
|minZ2 - maxZ2| ÷|meanZ2 - meanZ3| ≤K2 ...(31)
|minZ3 - maxZ3| ÷|meanZ2 - meanZ3| ≤K2 ...(32)
....................
|minZM-1 - maxZM-1| ÷|meanZM-1 - meanZM| ≤K2 ...(33)
|minZM - maxZM| ÷|meanZM-1 - meanZM| ≤K2 ...(34).
표현식 (29) 및 (30)의 값들이 K2이하인 경우, 제1피사체(OB)는 제2피사체(OB2)로부터 충분히 이격되는 것으로 결정된다. 표현식 (31) 및 (32)의 값들이 K2이하인 경우, 제2피사체(OB2)는 제3피사체(OB3)로부터 충분히 이격된다. 유사하게는, 표현식 (33) 및 (34)가 K2이하인 경우, (M-1)번째 피사체(OBM-1)는 M번째 피사체(OBM)로부터 충분히 이격되는 것으로 결정된다.
표현식 (29) 내지 (34)는 시점으로부터 특정 피사체(가령, OP2)까지의 거리와 시점으로부터 특정 피사체에 인접한 피사체까지의 거리차(|meanZ2 - meanZ3|) 대 시점(VP)으로부터 특정 피사체를 구성하는 다수의 점들까지의 거리들의 최소값 및 최대값간 차(|minZ2 - maxZ2|)의 비가 소정의 값 K2이하인 것을 의미한다.
표현식 (29) 내지 (34)의 값 K2이 소정의 값 가령, K2 = 0.1인 경우, 시점으로부터 특정 피사체(가령, OP2)까지의 거리 및 시점으로부터 특정 피사체에 인접한 피사체(가령, OP3)까지의 거리차 대 시점으로부터 특정 피사체를 구성하는 다수의 점들까지의 거리들의 최소값 및 최대값간 차의 비가 1/10이하이다. 피사체(가령, OP2)의 모든 점들의 Z 값들은 Z 값들의 하나의 통상적인 값(가령, typZ2)에 의해 개산된다.
물론, K2의 값은 적용될 응용 프로그램, 적용될 장면 등에 따라 변하게 된다. K2의 값은 항상 일정한 값일 필요는 없고, 적용될 응용 프로그램, 적용될 장면 등에 따라 변할 수도 있다. 다수의 피사체들이 동일한 장면에 존재하는 경우, 특정 피사체는 통상적인 값에 의해 개산되고, 나머지 피사체들은 피사체들의 각각의 점들의 Z 값들이 계산되도록 계산된다.
(통상적인 값(typZ)의 선택)
Z 값들의 통상적인 값(typZ)을 선택하는 방법은 이하 기술된다. 비례 인자는 통상적인 값의 선택에 따라 변한다.
먼저, 상기 기술된 실시형태에 있어서, Z 값들의 통상적인 값으로서, 피사체를 구성하는 점들의 Z 값들의 평균값 meanZ가 설정된다. 예를 들어, 통상적인 값(typZ)으로서, 다음의 방정식들로 주어진 값:
typZ = menaZ = (Z1 + Z2 + ... + Zn)/N ...(35).
방정식 (35)에서, 상기 실시형태에서 처럼 하나의 피사체를 구성하는 점들(Z0 + Z1 + Z2 + ... + Zn)의 평균값은 통상적인 점의 거리(Z 값들의 통상적인 값)로 설정된다. 이 경우에, 비례 인자(h/Z)는 (h/meanZ)로 주어진다.
typZ = Z1 ...(36)
방정식 (36)에서, 피사체를 구성하는 점들의 Z 값들(Z1, Z2, ... , Zn)의 제1의 Z값은 통상적인 점의 거리로 설정된다. 이 경우에, 비례 인자(h/Z)는 (h/Zn)로 주어진다.
typZ = Zn ...(37)
방정식 (37)에서, 피사체를 구성하는 점들의 Z 값들(Z1, Z2, ... , Zn)의 마지막(즉, 제N번째) Z 값은 통상적인 값의 거리로서 설정된다. 이 경우에, 비례 인자(h/Z)는 (h/Zn)로 주어진다.
방정식 (35) 내지 (37)에 의해 표현된 방법들은 또한 대체 방법들이라고 한다.
두 번째, 1차(선형) 개산으로 비례 인자를 계산하는 방법은 주지되어 있다.
{(maxZ - Z)/(maxZ - minZ)} x (h/minZ) + {(Z - minZ)/(maxZ - minZ)} x (h/maxZ) ...(38)
표현식 (38)에서, 최대값(maxZ)에 의해 얻은 h/maxZ 및 최소값(minZ)에 의해 얻은 h/minZ를 이용하여 Z 값들의 통상적인 점의 값(h/Z)을 선형적으로 개산한다. 표현식 (38)은 또한 선형(1차) 개산이라고 한다.
세 번째, 2차 개산으로 비례 인자를 개산하는 방법이 주지되어 있다.
{h/(minZ x maxZ x midZ)} x [(Z x Z) - 3.0 x midZ x Z + 0.5 x {(minZ x minZ) + (maxZ x maxZ) + 4.0(min x maxZ)}] ...(39)
여기서, midZ = (maxZ + minZ)/2가 만족되는데, 즉 midZ는 maxZ 및 minZ의평균값이다.
표현식 (39)에서, Z 값들의 통상적인 점의 값(h/Z)은 2차 개산으로 계산된다.
이 2차 개산은 다음의 방법으로 구체적으로 실행된다. 비례 인자(h/Z)가 2차 곡선으로 개산되는 경우, 2차 방정식 f(Z) = AZ2+ BZ + C가 주어진다. Z = minZ인 경우, f(Z) = h/midZ가 만족된다. 이런 관계에 대해, 다음의 3가지 방정식이 만족된다:
AminZ2+ BminZ + C = h/minZ ...(40)
AmaxZ2+ BmaxZ + C = h/maxZ ...(41)
AmidZ2+ BmidZ + C = h/midZ ...(42)
3가지 변수 A, B, 및 C가 이용되고 3개의 2차 방정식이 만족되기 때문에, 이런 변수들의 해법들이 계산된다. 방정식 (40) 내지 (42)이 해결되면, 다음의 해법들이 얻어진다:
A = h/(minZ x maxZ x midZ) ...(43)
B = A(-3.0 x midZ) ...(44)
C = A[(0.5 x {(minZ x minZ) + (maxZ x maxZ) + 4.0(minZ x maxZ)}]...(45)
A, B, 및 C의 값들을 2차 방정식 f(Z) = AZ2+ BZ + C에 대입하면, 표현식 (39)이 얻어진다. 표현식 (39)은 또한 2차 개산이라고 한다.
이런 비례 인자들의 개산에서, 대체 방법에 따라 방정식 (35), (36) 및 (37)에서 나눗셈을 한 번 실행하여 비례 인자들을 계산한다. 선형 개산에 따른 표현식 (38)에서, 비례 인자는 나눗셈을 두 번 실행하여 개산된다. 2차 개산에 따른 표현식 (39)에서, 비례 인자는 나눗셈을 세 번하여 계산된다.
가산 및 곱셈의 배수의 수가 선형 개산 및 2차 개산에서 증가되지만, 일반적인 컴퓨터 처리에서, 가산 및 곱셈은 나눗셈 보다 더 고속으로 처리된다. 그러므로, 선형 개산 및 2차 개산에서도, 피사체를 구성하는 점들의 비례 인자들이 각각 계산되는 경우 보다 더 고속으로 처리가 실행된다.
대체 방법, 선형 개산, 및 2차 개산에 대해 이제까지 기술했다. 차수가 증가된 경우, 즉 3차 개산, 4차 개산, 또는 고차 개산이 실행된 경우, 비례 인자들이 보다 정밀하게 개산된다.
본 발명은 컴퓨터 그래픽 처리에 관한 것으로 가상 2차원 화면 상에 3차원 물체를 원근투영 변환하는 신규한 방법 및 장치를 제공한다.

Claims (30)

  1. 가상 2차원 화면 상에 3차원 공간에 놓인 물체를 원근투영 변환하는 장치로서,
    상기 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되어 있는 경우, 다수의 점들로부터 선택된 통상적인 점의 좌표값들을 이용하여, 나머지 점들의 원근투영 변환이 개산되는 수단을 포함하고, 그래픽에 대한 계산은 고속으로 실행되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  2. 가상 2차원 화면 상에 3차원 공간에 놓인 다수의 물체를 원근투영 변환하는 장치로서,
    상기 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되는 경우, 상기 물체들을 특정하는 다수의 점들로부터 선택된 물체의 통상적인 점들의 좌표값들을 이용하여, 나머지 점들의 원근투영 변환이 개산되는 수단을 포함하고, 그래픽에 대한 계산이 고속으로 실행되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 소정의 방향은 시점으로부터 상기 물체까지의 시선의 방향인 것을 특징으로 하는 물체 원근투영 변환 장치.
  4. 제 3 항에 있어서, 상기 시선의 방향이 상기 시점 주위에 특정된 XYZ 좌표계에서 Z-축 방향인 것을 특징으로 하는 물체 원근투영 변환 장치.
  5. 제 1 항 또는 제 2 항에 있어서, 다수의 점들은 물체가 폴리곤으로 그려진 경우에 얻은 정점 좌표인 것을 특징으로 하는 물체 원근투영 변환 장치.
  6. 제 1 항 또는 제 2 항에 있어서, 상기 통상적인 점은 다수의 점들의 좌표값들을 기초로 대체 방법에 의해 결정되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  7. 제 1 항 또는 제 2 항에 있어서, 상기 통상적인 점은 다수의 점들을 평균하여 결정되고, 상기 시점으로부터 나머지 점들까지의 거리들 또는 나머지 점들중 Z 값들은 상기 시점으로부터의 평균값 또는 Z 값들중 평균값을 기초로 개산되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  8. 제 1 항 또는 제 2 항에 있어서, 상기 통상적인 점은 다수의 점들중 제1선택점으로 설정되고, 상기 시점으로부터 나머지 점들까지의 거리들 또는 나머지 점들중 Z 값들이 상기 시점으로부터 상기 제1점까지의 거리 또는 상기 제1점의 Z 값을 기초로 개산되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  9. 제 1 항 또는 제 2 항에 있어서, 상기 통상적인 점은 다수의 점들의 마지막 선택점으로 설정되고, 상기 시점으로부터 나머지 점들까지의 거리들 또는 나머지 점들중 Z 값들이 상기 시점으로부터 마지막 점까지의 거리 또는 마지막 점의 Z 값을 기초로 개산되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  10. 제 1 항 또는 제 2 항에 있어서, 통상적인 점으로서, 한 점이 임의의 방법으로 다수의 점들로부터 선택되고, 상기 시점으로부터 나머지 점들까지의 거리들 또는 나머지 점들의 Z 값들이 상기 시점으로부터 선택점까지의 거리 또는 선택점의 Z 값을 기초로 개산되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  11. 제 1 항 또는 제 2 항에 있어서, 상기 시점으로부터 다수의 점들까지의 거리 또는 상기 점들의 Z 값들을 Z로 나타내는 경우, 상기 시점으로부터 다수의 점들까지의 거리의 최대값 또는 Z의 최대값을 maxZ로 나타내는 경우, 상기 시점으로부터 상기 점들까지의 거리의 최소값 또는 Z 값의 최소값을 minZ로 나타내는 경우, 및 상기 시점으로부터 상기 가상 화면까지의 거리를 h로 나타내는 경우, h/Z는 선형 개략 표현식:
    {(maxZ - Z)/(maxZ - minZ)} x (h/minZ) + {(Z - minZ)/(maxZ - minZ)} x (h/maxZ)
    으로 계산된 값을 기초로 개산되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  12. 제 1 항 또는 제 2 항에 있어서, 상기 시점으로부터 다수의 점들까지의 거리들 또는 상기 점들의 Z 값들을 Z로 나타내는 경우, 상기 시점으로부터 다수의 점들까지의 거리의 최대값 또는 Z의 최대값을 maxZ로 나타낸 경우, 상기 시점으로부터 상기 점들까지의 거리의 최소값 또는 Z의 최소값을 minZ로 나타낸 경우, Z의 상기 최소값 및 최대값의 평균값을 midZ로 나타내는 경우, 및 상기 시점으로부터 상기 가상 화면까지의 거리를 h로 나타내는 경우, h/Z는 2차 개략 표현식
    {h/(minZ x maxZ x midZ)} x [(Z x Z) - 3.0 x midZ x Z + 0.5 x {(minZ x minZ) + (maxZ x maxZ) + 4.0(minZ x maxZ)}]
    으로 계산된 값을 기초로 계산되는 것을 특징으로 하는 원근투영 변환 장치.
  13. 제 1 항에 있어서, 상기 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부는, Z-축 방향으로 상기 물체의 Z 값의 최대값을 maxZ로 나타내는 경우, 상기 물체의 Z 값들의 최대값을 maxZ로 나타내는 경우, 상기 물체의 Z 값들의 평균값을 meanZ로 나타낸 경우, 및 표현식:
    |minZ - maxZ| ÷|minZ| ≤K1,
    |minZ - maxZ| ÷|maxZ| ≤K1, 또는
    |minZ - maxZ| ÷|meanZ| ≤K1
    을 만족하는 경우, 상기 물체의 Z 값들이 집중되는 것으로 결정되는 방식으로 결정되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  14. 제 13 항에 있어서, 상기 K1은 1.0보다 적은 수치인 것을 특징으로 하는 물체 원근투영 변환 장치.
  15. 제 13 항에 있어서, 상기 K1은 적용될 응용 프로그램에 따라 변하게 되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  16. 제 13 항에 있어서, 상기 K1은 적용될 장면에 따라 변하게 되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  17. 제 2 항에 있어서, 상기 다수의 물체를 특정하는 다수의 점들의 좌표값들은 물체들의 단위로 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부는, Z-축 방향으로 i번째 물체(i=1, 2, ... , M)의 Z 값들의 최소값을 minZi로 나타낸 경우, i번째 물체의 Z 값들의 최대값을 maxZi로 나타내는 경우, i번째 물체의 Z 값들의 평균값을 meanZi로 나타내는 경우, 및 표현식:
    |minZ1 - maxZ1| ÷|meanZ1 - meanZ2| ≤K2,
    |minZ2 - maxZ2| ÷|meanZ1 - meanZ2| ≤K2,
    |minZ2 - maxZ2| ÷|meanZ2 - meanZ3| ≤K2,
    |minZ3 - maxZ3| ÷|meanZ2 - meanZ3| ≤K2,
    ..................
    |minZM-1 - maxZM-1| ÷|meanZM-1 - meanZM| ≤K2, 및
    |minZM - maxZM| ÷|meanZM-1 - meanZM2| ≤K2
    을 만족하는 경우, 상기 Z 값들이 물체들의 단위로 집중되는 것으로 결정되는 방식으로 결정되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  18. 제 17 항에 있어서, 상기 K2는 1.0보다 적은 수치인 것을 특징으로 하는 물체 원근투영 변환 장치.
  19. 제 17 항에 있어서, 상기 K2는 적용될 응용 프로그램에 따라 변하게 되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  20. 제 17 항에 있어서, 상기 K2는 적용될 장면에 따라 변하게 되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  21. 제 17 항에 있어서, 상기 장치는 다수의 물체중 상기 표현식을 만족시키는 물체만에 선택적으로 적용되는 것을 특징으로 하는 물체 원근투영 변환 장치.
  22. 제 1 항 또는 제 2 항에 있어서, 원근투영 변환 장치는 형상 전송 엔진(geometry transfer engine)인 것을 특징으로 하는 물체 원근투영 변환 장치.
  23. 제어 시스템; 그래픽 시스템; 음향 시스템; 광학 디스크 제어 유닛; 및 이런 시스템과 상기 유닛을 서로 연결하는 버스를 포함하고,
    상기 그래픽 시스템은 형상 전송 엔진(geometry transfer engine)을 갖고, 상기 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되는 경우, 다수의 점들로부터 선택된 통상적인 점의 좌표값들을 이용하여, 상기 그래픽 시스템이 나머지 점들의 원근투영 변환을 개산하는 것을 특징으로 하는 엔터테인먼트 시스템.
  24. 제어 시스템; 그래픽 시스템; 음향 시스템; 광학 제어 유닛; 및 이런 시스템과 상기 유닛을 서로 연결하는 버스를 포함하고,
    상기 그래픽 시스템은 형상 전송 엔진(geometry transfer engine)을 갖고, 다수의 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되는 경우, 물체들의 단위로 상기 물체들을 특정하는 다수의 점들로부터 선택된 통상적인 점들의 좌표값들을 이용하여, 상기 그래픽 시스템이 나머지 점들의 원근투영 변환을 개산하는 것을 특징으로 하는 엔터테인먼트 시스템.
  25. 3차원 공간에 놓인 물체를 원근투영 변환하는 방법으로서,
    상기 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부를 검사하는 단계; 및
    상기 좌표값들이 집중된 경우, 다수의 점들로부터 선택된 통상적인 점의 좌표값들을 이용하여 나머지 점들의 원근투영 변환을 개산하는 단계를 포함하는 것을 특징으로 하는 물체 원근투영 변환 방법.
  26. 3차원 공간에 놓인 다수의 물체를 원근투영 변환하는 방법으로서,
    상기 물체들을 특정하는 다수의 점들의 좌표값들이 물체들의 단위로 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부를 검사하는 단계; 및
    상기 좌표값들이 집중된 경우, 물체들의 단위로 다수의 점들로부터 선택된 통상적인 점들의 좌표값들을 이용하여 나머지 점들의 원근투영 변환을 개산하는 단계를 포함하는 것을 특징으로 하는 물체 원근투영 변환 방법.
  27. 제 25 항에 있어서, 상기 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부는, Z-축 방향으로 상기 물체의 Z 값들의 최대값을 maxZ로 나타내는 경우, 상기 물체의 Z 값들의 최대값을 maxZ로 나타내는 경우, 상기 물체의 Z 값들의 평균값을 meanZ로 나타낸 경우, 및 표현식:
    |minZ - maxZ| ÷|minZ| ≤K1,
    |minZ - maxZ| ÷|maxZ| ≤K1, 또는
    |minZ - maxZ| ÷|meanZ| ≤K1
    을 만족하는 경우, 상기 물체가 집중되는 것으로 결정되는 방식으로 결정되는 것을 특징으로 하는 물체 원근투영 변환 방법.
  28. 제 26 항에 있어서, 상기 다수의 물체를 특정하는 다수의 점들의 좌표값들이 물체들의 단위로 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부는, Z-축 방향으로 i번째 물체(i=1, 2, ... , M)의 Z 값들의 최소값을 minZi로 나타낸 경우, i번째 물체의 Z 값들의 최대값을 maxZi로 나타내는 경우, i번째 물체의 Z 값들의 평균값을 meanZi로 나타내는 경우, 및 표현식:
    |minZ1 - maxZ1| ÷|meanZ1 - meanZ2| ≤K2,
    |minZ2 - maxZ2| ÷|meanZ1 - meanZ2| ≤K2,
    |minZ2 - maxZ2| ÷|meanZ2 - meanZ3| ≤K2,
    |minZ3 - maxZ3| ÷|meanZ2 - meanZ3| ≤K2,
    ..................
    |minZM-1 - maxZM-1| ÷|meanZM-1 - meanZM| ≤K2, 및
    |minZM - maxZM| ÷|meanZM-1 - meanZM2| ≤K2
    을 만족하는 경우, 상기 Z 값들이 물체들의 단위로 집중되는 것으로 결정되는 방식으로 결정되는 것을 특징으로 하는 물체 원근투영 변환 방법.
  29. 프로그램을 저장하는 기록 매체로서,
    3차원 공간에 놓인 물체가 원근투영 변화된 경우, 상기 물체를 특정하는 다수의 점들의 좌표값들이 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부를 검사하는 단계; 및 상기 좌표값들이 집중된 경우, 다수의 점들로부터 선택된 통상적인 점의 좌표값들을 이용하여 나머지 점들의 원근투영 변환을 개산하는 단계를포함하는 것을 특징으로 하는 기록 매체.
  30. 프로그램을 저장하는 기록 매체로서,
    3차원 공간에 놓인 물체가 원근투영 변환된 경우, 상기 물체들을 특정하는 다수의 점들의 좌표값들이 물체들의 단위로 3차원 공간에서 소정의 방향에 대해 집중되는 지의 여부를 검사하는 단계; 및 상기 좌표값들이 집중된 경우, 물체들의 단위로 다수의 점들로부터 선택된 통상적인 점들의 좌표값들을 이용하여 나머지 점들의 원근투영 변환을 개산하는 단계를 포함하는 것을 특징으로 하는 기록 매체.
KR1020017012835A 1999-04-09 2000-04-07 원근투영 변환 처리 방법 및 장치 KR20010113781A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP10265599 1999-04-09
JPJP-P-1999-00102655 1999-04-09
JP16174299 1999-06-08
JPJP-P-1999-00161742 1999-06-08
PCT/JP2000/002280 WO2000062255A1 (en) 1999-04-09 2000-04-07 Method and apparatus for performing perspective transformation

Publications (1)

Publication Number Publication Date
KR20010113781A true KR20010113781A (ko) 2001-12-28

Family

ID=26443338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017012835A KR20010113781A (ko) 1999-04-09 2000-04-07 원근투영 변환 처리 방법 및 장치

Country Status (13)

Country Link
US (2) US6590576B1 (ko)
EP (1) EP1181669A1 (ko)
JP (1) JP3643036B2 (ko)
KR (1) KR20010113781A (ko)
CN (1) CN100392678C (ko)
AU (1) AU3673900A (ko)
BR (1) BR0011156A (ko)
CA (1) CA2369879A1 (ko)
HK (1) HK1041959A1 (ko)
MX (1) MXPA01010150A (ko)
RU (1) RU2001130343A (ko)
TW (1) TW540009B (ko)
WO (1) WO2000062255A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2799558B1 (fr) * 1999-10-08 2002-02-08 Thomson Marconi Sonar Sas Procede de placement automatique des taches d'une application dans une machine de traitement de signal
US7664338B2 (en) * 2004-09-28 2010-02-16 Qualcomm Incorporated Perspective transformation of two-dimensional images
JP4487188B2 (ja) * 2004-10-25 2010-06-23 ソニー株式会社 情報処理装置および方法、プログラム、並びにナビゲーション装置
TWI386841B (zh) * 2008-08-22 2013-02-21 Acer Inc 立體圖形化使用者介面產生方法、系統,及電腦程式產品
CN104537712B (zh) * 2015-01-04 2017-04-19 成都思达特电器有限公司 一种建立待喷涂工件的三维喷涂节点的方法
CN108984262B (zh) * 2018-07-12 2021-04-13 宁波视睿迪光电有限公司 三维指针的创建方法、装置及电子设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61210395A (ja) 1985-03-14 1986-09-18 ソニー株式会社 画像処理装置
JP2604710B2 (ja) 1985-08-26 1997-04-30 ソニー株式会社 画像変換装置
US5283859A (en) * 1986-09-03 1994-02-01 International Business Machines Corporation Method of and system for generating images of object transforms
US5420979A (en) * 1989-12-22 1995-05-30 Eastman Kodak Company Method and apparatus for using composite transforms to form intermediary image data metrics which achieve device/media compatibility for subsequent imaging applications
US5448686A (en) * 1992-01-02 1995-09-05 International Business Machines Corporation Multi-resolution graphic representation employing at least one simplified model for interactive visualization applications
GB2270243B (en) * 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
JP2807608B2 (ja) 1992-12-29 1998-10-08 株式会社ナムコ ソーティング処理装置、これを用いた画像合成装置及びソーティング処理方法
JPH06348861A (ja) 1993-04-15 1994-12-22 Sony Corp 画像作成方法、画像作成装置及び家庭用ゲーム機
JP3181445B2 (ja) 1993-08-31 2001-07-03 株式会社東芝 画像処理装置及び方法
JP3647487B2 (ja) 1994-12-02 2005-05-11 株式会社ソニー・コンピュータエンタテインメント テクスチャマッピング装置
JP3578498B2 (ja) 1994-12-02 2004-10-20 株式会社ソニー・コンピュータエンタテインメント 画像情報処理装置
JP3442183B2 (ja) 1995-02-28 2003-09-02 株式会社ナムコ 3次元ゲーム装置及び画像合成方法
TW346611B (en) * 1996-03-28 1998-12-01 Sega Enterprises Kk An image processor, a game machine using the image processor, a method of image processing and a medium
JPH09305792A (ja) 1996-05-17 1997-11-28 Sony Corp 隠面処理方法
US5841442A (en) * 1996-12-30 1998-11-24 Cirrus Logic, Inc. Method for computing parameters used in a non-homogeneous second order perspective texture mapping process using interpolation

Also Published As

Publication number Publication date
RU2001130343A (ru) 2003-08-20
EP1181669A1 (en) 2002-02-27
JP3643036B2 (ja) 2005-04-27
WO2000062255A1 (en) 2000-10-19
US6900806B2 (en) 2005-05-31
JP2002541600A (ja) 2002-12-03
HK1041959A1 (zh) 2002-07-26
CN100392678C (zh) 2008-06-04
CA2369879A1 (en) 2000-10-19
US20030189569A1 (en) 2003-10-09
CN1346478A (zh) 2002-04-24
AU3673900A (en) 2000-11-14
BR0011156A (pt) 2002-02-26
MXPA01010150A (es) 2002-06-21
TW540009B (en) 2003-07-01
US6590576B1 (en) 2003-07-08

Similar Documents

Publication Publication Date Title
US6897865B2 (en) Three-dimensional image processing method and apparatus, readable storage medium storing three-dimensional image processing program and video game system
US7697015B2 (en) Storage medium and game device storing image generating program
JP2002074390A (ja) 低価格のグラフィックスシステムにおけるシャドウマッピング
US8128497B2 (en) Game machine, game machine control method, information recording medium, and program
JP2006318389A (ja) プログラム、情報記憶媒体、及び画像生成システム
US7212215B2 (en) Apparatus and method for rendering an antialiased image
JP3777288B2 (ja) ゲームシステム及び情報記憶媒体
US6629891B2 (en) Impact judgement method and device, computer-readable recording medium recording impact judgement processing program, and video game device
EP0948978B1 (en) Image creating apparatus, image creating method, and computer-readable recording medium containing image creating program
JP2004280596A (ja) シャドウボリューム生成プログラム及びゲーム装置
KR20010113781A (ko) 원근투영 변환 처리 방법 및 장치
JP3602835B2 (ja) ビデオゲーム装置およびその制御方法ならびにゲームプログラム
JP4167358B2 (ja) 画像生成システム及び情報記憶媒体
JP4318240B2 (ja) 画像生成システム及び情報記憶媒体
JP4447000B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4073031B2 (ja) プログラム、情報記憶媒体及び画像生成システム
EP1190392B1 (en) Method and apparatus for generating images
JP4247856B2 (ja) 画像生成システム及び情報記憶媒体
JP4391633B2 (ja) 画像生成システム及び情報記憶媒体
JP4475763B2 (ja) ゲームシステム及び情報記憶媒体
JP2001084398A (ja) 画像生成システム及び情報記憶媒体
JP2002042176A (ja) ゲームシステム及び情報記憶媒体
JP2009142685A (ja) 画像生成システム及び情報記憶媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application