KR100893526B1 - 시뮬레이션 방법 및 장치 - Google Patents

시뮬레이션 방법 및 장치 Download PDF

Info

Publication number
KR100893526B1
KR100893526B1 KR1020070009636A KR20070009636A KR100893526B1 KR 100893526 B1 KR100893526 B1 KR 100893526B1 KR 1020070009636 A KR1020070009636 A KR 1020070009636A KR 20070009636 A KR20070009636 A KR 20070009636A KR 100893526 B1 KR100893526 B1 KR 100893526B1
Authority
KR
South Korea
Prior art keywords
simulation
precision
time
simulated
viewpoint
Prior art date
Application number
KR1020070009636A
Other languages
English (en)
Other versions
KR20080071416A (ko
Inventor
고영인
조종근
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070009636A priority Critical patent/KR100893526B1/ko
Priority to US12/007,125 priority patent/US20080183437A1/en
Publication of KR20080071416A publication Critical patent/KR20080071416A/ko
Application granted granted Critical
Publication of KR100893526B1 publication Critical patent/KR100893526B1/ko

Links

Images

Classifications

    • A63F13/10
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • A63F2300/638Methods for processing data by generating or executing the game program for controlling the execution of the game in time according to the timing of operation or a time limit
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6615Methods for processing data by generating or executing the game program for rendering three dimensional images using models with different levels of detail [LOD]

Abstract

본 발명에 의한 시뮬레이션 방법 및 장치는, 시뮬레이션하고자 하는 하나 이상의 객체들 각각을 다양한 정밀도로 시뮬레이션할 수 있도록 함으로써, 시뮬레이션을 위한 컴퓨팅 자원이 보다 효율적으로 운용될 수 있도록 하는 효과를 갖는다.

Description

시뮬레이션 방법 및 장치 {Method and apparatus for simulation}
도 1은 본 발명에 의한 시뮬레이션 장치를 설명하기 위한 일 실시예의 블록도이다.
도 2는 본 발명에 의한 시뮬레이션 방법을 설명하기 위한 일 실시예의 플로우챠트이다.
본 발명은 시뮬레이션에 관한 것으로, 특히, 컴퓨터 게임(game)에서와 같이 디스플레이되는 영상이 사용자의 키 조작된 결과에 따라 갱신되도록 그 영상내의 각 객체를 시뮬레이션하는 시뮬레이션 방법 및 장치에 관한 것이다.
일반적으로, 컴퓨터 게임을 하고 있는 사용자가 제공받는 영상은 사용자의 키 조작된 결과에 상응하여 갱신되는 동영상이다. 이 때, 어느 일 시점에서의 프레임에는 다수의 객체들이 포함될 수 있다. 예컨대, 3차원 레이싱(racing) 게임의 경우, 어느 일 시점에서의 프레임에는 각각 경주용 차(car)를 나타내는 다수의 객체들이 포함될 수 있다.
어느 일 시점에서의 프레임이 나타내는 영상이 사용자의 키 조작된 결과에 따라 갱신되기 위해서는, 그 프레임에 포함된 각각의 객체를 그 키 조작된 결과를 고려하여 시뮬레이션해야 한다. 이러한 시뮬레이션을 수행하는 종래의 시뮬레이션 장치는, 시뮬레이션할 모든 객체들을 동일한 정밀도로 시뮬레이션한다. 즉, 종래의 시뮬레이션 장치는 '사용자가 시뮬레이션 결과에 상대적으로 적은 관심을 갖는 객체'와 '사용자가 시뮬레이션 결과에 상대적으로 큰 관심을 갖는 객체'를 구별없이 모두 동일한 정밀도로 시뮬레이션한다. 여기서, 사용자가 시뮬레이션 결과에 상대적으로 적은 관심을 갖는 객체는, 시뮬레이션 결과가 다소 부정확하더라도 사용자가 그 시뮬레이션 결과에 불만족을 느낄 확률이 상대적으로 적은 객체이다. 마찬가지로, 사용자가 시뮬레이션 결과에 상대적으로 큰 관심을 갖는 객체는, 시뮬레이션 결과가 조금이라도 부정확하면 사용자가 그 시뮬레이션 결과에 불만족을 느낄 확률이 상대적으로 큰 객체이다. 예를 들어, 3차원 레이싱 게임이 제공하는 레이싱에 집중하고 있는 사용자는 트랙(track) 상의 돌(stone)을 나타내는 객체의 시뮬레이션 결과보다는 레이싱 중인 차를 나타내는 객체의 시뮬레이션 결과에 관심이 집중되어 있어, 차의 시뮬레이션 결과와 달리 돌의 시뮬레이션 결과에 대해서는 높은 정밀도가 요구되지 않음에도 불구하고, 종래의 시뮬레이션 장치는 시뮬레이션할 돌과 차 모두를 동일한 정밀도로 시뮬레이션한다.
결국, 종래의 시뮬레이션 장치는 시뮬레이션을 위한 컴퓨팅 자원(resource)을 비효율적으로 운용하는 문제점을 갖는다.
본 발명이 이루고자 하는 기술적 과제는, 시뮬레이션하고자 하는 하나 이상 의 객체들 각각을 다양한 정밀도로 시뮬레이션할 수 있도록 함으로써, 시뮬레이션을 위한 컴퓨팅 자원이 보다 효율적으로 운용될 수 있도록 하는 시뮬레이션 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 시뮬레이션하고자 하는 하나 이상의 객체들 각각을 다양한 정밀도로 시뮬레이션할 수 있도록 함으로써, 시뮬레이션을 위한 컴퓨팅 자원이 보다 효율적으로 운용될 수 있도록 하는 시뮬레이션 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 시뮬레이션하고자 하는 하나 이상의 객체들 각각을 다양한 정밀도로 시뮬레이션할 수 있도록 함으로써, 시뮬레이션을 위한 컴퓨팅 자원이 보다 효율적으로 운용될 수 있도록 하는 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기 과제를 이루기 위해, 본 발명에 의한 시뮬레이션 방법은, 시뮬레이션하고자 하는 객체의 주어진 시뮬레이션 환경을 고려하여 결정되거나 미리 지정된 정밀도를 인지하는 단계; 및 상기 객체를 상기 인지된 정밀도로 시뮬레이션하는 단계를 포함하는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 본 발명에 의한 시뮬레이션 장치는, 시뮬레이션하고자 하는 객체의 주어진 시뮬레이션 환경을 고려하여 결정되거나 미리 지정된 정밀도를 인지하는 정밀도 인지부; 및 상기 객체를 상기 인지된 정밀도로 시뮬레이션하는 시뮬레이션 수행부를 포함하는 것이 바람직하다.
상기 또 다른 과제를 이루기 위해, 본 발명에 의한 컴퓨터로 읽을 수 있는 기록매체는, 시뮬레이션하고자 하는 객체의 주어진 시뮬레이션 환경을 고려하여 결정되거나 미리 지정된 정밀도를 인지하는 단계; 및 상기 객체를 상기 인지된 정밀도로 시뮬레이션하는 단계를 포함하는 시뮬레이션 방법을 컴퓨터에서 실행시키기 위한 프로그램을 저장하는 것이 바람직하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 그 첨부 도면을 설명하는 내용을 참조하여야만 한다.
이하, 본 발명에 의한 시뮬레이션 방법 및 장치를 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 1은 본 발명에 의한 시뮬레이션 장치를 설명하기 위한 일 실시예의 블록도로서, 정밀도 인지부(110), 및 시뮬레이션 수행부(120)를 포함할 수 있다.
정밀도 인지부(110)는 입력단자 IN 1을 통해 입력된 영상에 포함된 하나 이상의 객체(object)들 각각마다, 그 객체의 정밀도를 인지한다. 여기서, 영상이란 사용자의 키 조작된 결과에 상응하여 갱신되는 동영상의 어느 일 시점(time= to, 단, to는 양수)에서의 프레임이 나타내는 영상을 의미한다. 이 때, 그 어느 일 시점은 본 발명에 의한 시뮬레이션 장치가 시뮬레이션의 수행을 지시받은 시점인 것이 바람직하다. 한편, 컴퓨터 게임을 하고 있는 사용자가 제공받는 동영상은 그러한 동영상의 일 례이다. 또한, 컴퓨터 게임을 즐기기 위해 필요한 도구(예를 들어, 키보드(keyboard), 마우스(mouse), 조이스틱(joy-stick))가 조작된 시점은 그 어느 일 시점의 일 례이다.
이러한 정밀도는, 그 어느 일 시점 당시의 시뮬레이션 환경을 고려하여 결정되는 값일 수도 있고, 사용자에 의해 미리 지정된 값일 수도 있다. 구체적으로, 정밀도 인지부(110)는 시뮬레이션하고자 하는 객체의 정밀도가 미리 지정되어 있는 경우는 그 지정된 정밀도를 그 객체의 정밀도로서 인지하지만, 그 객체의 정밀도가 미리 지정되어 있지 않은 경우는 그 객체의 정밀도를 그 어느 일 시점 당시의 시뮬레이션 환경을 고려하여 결정하고 결정된 정밀도를 그 객체의 정밀도로서 인지할 수 있다.
'시뮬레이션하고자 하는 객체와 시점간의 거리', '시뮬레이션하고자 하는 객체가 시점의 시야 내에 위치하는지의 여부'는 그러한 시뮬레이션 환경의 일 례들이다. 여기서, 시뮬레이션하고자 하는 객체는 입력단자 IN 1을 통해 입력된 영상에 포함된 객체를 의미한다.
이 경우, 시뮬레이션하고자 하는 객체와 시점간의 거리가 길수록, 그 시뮬레이션하고자 하는 객체의 정밀도는 낮은 수치로 결정될 수 있다. 또한, 시뮬레이션하고자 하는 객체가 시점의 시야 내에 위치한다면, 그 시뮬레이션하고자 하는 객체의 정밀도는 높은 수치로 결정될 수 있다. 이를 위해, '시뮬레이션하고자 하는 객체가 시점의 시야 내에 위치하는지의 여부'와 '그 시뮬레이션하고자 하는 객체와 시점간의 거리'의 여러 다양한 경우마다 정밀도는 미리 규정되어 룩업테이블(Look-Up Table)로서 본 발명에 의한 시뮬레이션 장치에 미리 마련되어 있는 것이 바람직하다. 이 경우, 정밀도 인지부(110)는 '시뮬레이션하고자 하는 객체가 시점의 시야 내에 위치하는지의 여부'와 '그 시뮬레이션하고자 하는 객체와 시점간의 거리' 모두를 고려하여, 해당하는 정밀도를 그 룩업테이블에서 검색하고, 그 시뮬레이션하고자 하는 객체의 정밀도를 그 검색된 정밀도로서 결정할 수 있다.
시뮬레이션 수행부(120)는 시뮬레이션하고자 하는 객체에 대한 정보를 이용하여 그 객체를 시뮬레이션하고, 시뮬레이션된 결과를 출력단자 OUT 1을 통해 출력한다. 즉, 시뮬레이션 수행부(120)는 그 어느 일 시점(time= to) 당시의 객체에 대한 정보를 이용하여, 다른 일 시점(time= to+h, 단, h는 양수) 당시의 그 객체를 시뮬레이션한다. 본 명세서에서 객체는, 시간이 흐름에 따라 위치 및 형상이 변경될 수 있는 객체를 의미할 수도 있으나, 설명의 편의상, 강체(rigid body) 즉, 시간이 흐름에 따라 위치만이 변경될 수 있는 객체를 의미한다고 가정한다.
그 다른 일 시점(time= to+h) 당시의 객체의 위치와, 그 어느 일 시점(time= to) 당시의 객체의 위치간의 관계는 다음의 수학식 1과 같이, 테일러 시리즈(Taylor Series)를 이용하여 설명될 수 있다.
Figure 112007009257554-pat00001
Figure 112007009257554-pat00002
Figure 112007009257554-pat00003
Figure 112007009257554-pat00004
x(to+h) = x(to) + h * x'(to) + (/ 2!) * x''(to) + (/ 3!) * x'''(to) + ... + (/ n!) * (to) + ...
여기서, x(to+h)는 시뮬레이션하고자 하는 객체의 그 다른 일 시점(time= to+h) 당시의 위치를 의미하고, x(to)는 그 객체의 그 어느 일 시점(time= to) 당시의 위치를 의미하고,
Figure 112007009257554-pat00005
(to)는 그 어느 일 시점에서의 n차 미분 계수값을 의미 하고, n은 자연수이다.
시뮬레이션 수행부(120)는 시뮬레이션하고자 하는 객체를 정밀도 인지부(110)에서 인지된 정밀도로 시뮬레이션한다. 이를 위해, 시뮬레이션 수행부(120)는 시뮬레이션 과정을 그 인지된 정밀도에 따라 간략화시킬 수도 있고, 반복 동작하는 경우, 시뮬레이션 결과를 그 인지된 정밀도에 상응하는 빈도로 갱신시킬 수도 있다. 이를 구체적으로 설명하면 다음과 같다.
시뮬레이션 수행부(120)는 시뮬레이션하고자 하는 객체를, 가장 정밀한 시뮬레이션 과정을 그 인지된 정밀도에 상응하여 간략화시킨 과정에 따라 시뮬레이션할 수 있다. 예컨대, 입력단자 IN 1을 통해 입력된 영상에 총 3개의 객체(M1, M2, M3)가 포함되어 있고, 정밀도 인지부(110)에서 인지된 M1, M2, M3의 정밀도 각각은 A1, A2, A3이고, A2>A3>A1이라고 가정하자. 이 경우, 시뮬레이션 수행부(120)는 오일러 기법(Euler Method)에 따라 M1을 시뮬레이션하고, Runge-Kutta 4th order Method에 따라 M2를 시뮬레이션하고, 개량된 오일러 기법(Improved Euler Method)에 따라 M3를 시뮬레이션할 수 있다. 여기서, 오일러 기법은 n=1인 경우의 테일러 시리즈를 의미하고, 개량된 오일러 기법은 n=2인 경우의 테일러 시리즈를 의미하고, Runge-Kutta 4th order Method는 n=4인 경우의 테일러 시리즈를 의미한다.
한편, 시뮬레이션하고자 하는 어떤 객체에 대해 본 발명에 의한 시뮬레이션 장치가 반복 동작하는 경우, 그 객체의 시뮬레이션된 결과는, 그 인지된 정밀도에 상응하는 빈도로 갱신될 수 있다. 예컨대, 입력단자 IN 1을 통해 입력된 영상에 총 3개의 영상(M4, M5, M6)이 포함되어 있고, 정밀도 인지부(110)에서 인지된 M4, M5, M6의 정밀도 각각은 A4, A5, A6이고, A5>A4>A6 이라고 가정하자.
이 경우, M4의 시뮬레이션된 결과는 '인접한 프레임간의 시간 간격(T)' 동안 총 3번 갱신될 수 있다. 즉, h는 T/3일 수 있다. 구체적으로, 시뮬레이션 수행부(120)는 그 어느 일 시점(time= to)에서의 프레임 직후의 프레임에 포함된 객체 M4를 시뮬레이션하기 위해, 그 어느 일 시점 당시의 객체 M4에 대한 정보를 이용하여 time= to + T/3 당시의 객체 M4를 시뮬레이션하고, 그 시뮬레이션된 time= to + T/3 당시의 객체 M4에 대한 정보를 이용하여 time= to + 2T/3 당시의 객체 M4를 시뮬레이션하고, 그 시뮬레이션된 time= to + 2T/3 당시의 객체 M4에 대한 정보를 이용하여 time= to + T 당시의 객체 M4를 시뮬레이션할 수 있다.
이와 비슷하게, M5의 시뮬레이션된 결과는 '인접한 프레임간의 시간 간격(T)' 동안 총 5번 갱신될 수 있다. 즉, h는 T/5일 수 있다. 구체적으로, 시뮬레이션 수행부(120)는 그 어느 일 시점(time= to)에서의 프레임 직후의 프레임에 포함된 객체 M5를 시뮬레이션하기 위해, 그 어느 일 시점 당시의 객체 M5에 대한 정보를 이용하여 time= to + T/5 당시의 객체 M5를 시뮬레이션하고, 그 시뮬레이션된 time= to + T/5 당시의 객체 M5에 대한 정보를 이용하여 time= to + 2T/5 당시의 객체 M5를 시뮬레이션하고, 그 시뮬레이션된 time= to + 2T/5 당시의 객체 M5에 대한 정보를 이용하여 time= to + 3T/5 당시의 객체 M5를 시뮬레이션하고, 그 시뮬레이션된 time= to + 3T/5 당시의 객체 M5에 대한 정보를 이용하여 time= to + 4T/5 당시의 객체 M5를 시뮬레이션하고, 그 시뮬레이션된 time= to + 4T/5 당시의 객체 M5에 대한 정보를 이용하여 time= to + T 당시의 객체 M5를 시뮬레이션할 수 있다.
이처럼, h 값이 T보다 작을수록 시뮬레이션 수행부(120)는 그 어느 일 시점(time= to) 직후의 프레임에 포함된 객체를 보다 정밀하게 시뮬레이션한다.
마찬가지로, M6의 시뮬레이션된 결과는 '인접한 프레임간의 시간 간격(T)의 4배의 시간' 동안 총 1번 갱신될 수 있다. 즉, h는 4T일 수 있다. 구체적으로, 시뮬레이션 수행부(120)는 그 어느 일 시점(time= to)에서의 프레임에 포함된 객체 M6에 대한 정보를 이용하여, 그 어느 일 시점에서의 프레임 직후(time= to + T)의 프레임에 포함된 객체 M6을 시뮬레이션할 수 있다. 이 후, 시뮬레이션 수행부(120)는 time= to + T가 아닌 time= to 당시의 객체 M6에 대한 정보를 이용하여, 그 어느 일 시점에서의 프레임 이후로 2번째(time= to + 2T) 프레임에 포함된 객체 M6을 시뮬레이션할 수 있다. 이 후, 시뮬레이션 수행부(120)는 time= to + 2T가 아닌 time= to 당시의 객체 M6에 대한 정보를 이용하여, 그 어느 일 시점에서의 프레임 이후로 3번째(time= to + 3T) 프레임에 포함된 객체 M6을 시뮬레이션할 수 있다. 이 후, 시뮬레이션 수행부(120)는 그 시뮬레이션된 time= to + 3T 당시의 객체 M6에 대한 정보를 이용하여, 그 어느 일 시점에서의 프레임 이후로 4번째(time= to + 4T) 프레임에 포함된 객체 M6을 시뮬레이션할 수 있다. 이와 같이 시뮬레이션이 수행되는 경우, 그 어느 일 시점에서의 프레임 이후로 2번째(time= to + 2T) 프레임에 포함된 객체 M6의 시뮬레이션 결과와, 그 어느 일 시점에서의 프레임 이후로 3번째(time= to + 3T) 프레임에 포함된 객체 M6의 시뮬레이션 결과에 대해서는, 높은 정밀도를 기대할 수 없다. 이처럼, h 값이 T보다 클수록 시뮬레이션 수행부(120)는 시뮬레이션하고자 하는 객체를 낮은 정밀도로 시뮬레이션할 확률이 높 다.
도 2는 본 발명에 의한 시뮬레이션 방법을 설명하기 위한 일 실시예의 플로우챠트로서, 시뮬레이션하고자 하는 하나 이상의 객체들 각각을 다양한 정밀도로 시뮬레이션할 수 있도록 함으로써, 시뮬레이션을 위한 컴퓨팅 자원이 보다 효율적으로 운용될 수 있도록 하는 단계들(제210~ 제290 단계들)을 포함할 수 있다.
정밀도 인지부(110)는 시뮬레이션하고자 하는 객체의 정밀도가 미리 지정되어 있는가 판단한다(제210 단계).
제210 단계에서 그 객체의 정밀도가 미리 지정되어 있지 않다고 판단되면, 정밀도 인지부(110)는 그 객체가 시점의 시야 내에 위치하는가 판단한다(제220 단계).
제220 단계에서 그 객체가 시점의 시야 내에 위치한다고 판단되면, 정밀도 인지부(110)는 그 객체와 시점간의 거리에 상응하는 time step을 결정한다(제230 단계). 여기서, time step은 전술한 h를 의미하고, 그 결정된 time step은 그 객체와 시점간의 거리에 비례하는 것이 바람직하다.
제230 단계 후에, 정밀도 인지부(110)는 제230 단계에서 결정된 time step이 전술한 T보다 작은가 판단한다(제240 단계). 설명의 편의상 제240 단계에서 time step은 T와 비교되지만, 제240 단계에서 time step은 다른 수치(예를 들어, 2T)와 비교될 수도 있다.
만일, 제240 단계에서 time step이 T보다 작다고 판단되면, 정밀도 인지부(110)는 시뮬레이션 과정을 Runge-Kutta 4th order Method으로서 결정하고, 시뮬 레이션 수행부(120)는 그 객체를 제230 단계에서 결정된 time step을 고려하며 Runge-Kutta 4th order Method에 따라 시뮬레이션한다(제250 단계).
그에 반해, 제240 단계에서 time step이 T 이상이라고 판단되면, 정밀도 인지부(110)는 시뮬레이션 과정을 개량된 오일러 기법으로서 결정하고, 시뮬레이션 수행부(120)는 그 객체를 제230 단계에서 결정된 time step을 고려하며, 개량된 오일러 기법에 따라 시뮬레이션한다(제260 단계).
한편, 제220 단계에서 그 객체가 시점의 시야 내에 위치하지 않는다고 판단되면, 정밀도 인지부(110)는 시뮬레이션 과정을 오일러 기법으로서 결정하고, time step을 4T로서 결정하고, 시뮬레이션 수행부(120)는 그 객체를 그 결정된 time step을 고려하며 오일러 기법에 따라 시뮬레이션한다(제270 단계). 설명의 편의상 제270 단계에서 time step으로서 4T가 결정되었으나, 이에 제한되지 않는다.
또한, 제210 단계에서 그 객체의 정밀도가 미리 지정되어 있다고 판단되면, 정밀도 인지부(110)는 그 미리 지정되어 있는 정밀도를 인지하고, 인지된 정밀도를 고려하여 시뮬레이션 과정(예를 들어, Runge-Kutta 4th order Method)과 time step(예를 들어, h= T/8)을 결정하고, 시뮬레이션 수행부(120)는 그 객체를 그 결정된 time step을 고려하며 Runge-Kutta 4th order Method에 따라 시뮬레이션한다(제280 단계).
제250 단계, 제260 단계, 제270 단계, 또는 제280 단계 후에, 정밀도 인지부(110)는 시뮬레이션하고자 하는 객체가 프레임내에 더 존재하는지 판단한다(제290 단계). 만일, 제290 단계에서 더 존재한다고 판단되면, 제210 단계로 진행한 다.
이상에서 언급된 본 발명에 의한 시뮬레이션 방법을 컴퓨터에서 실행시키기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록매체에 저장될 수 있다. 여기서, 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬(ROM), 플로피 디스크, 하드 디스크 등), 및 광학적 판독 매체(예를 들면, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc))와 같은 저장매체를 포함한다.
이제까지 본 발명을 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점들은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 시뮬레이션 방법 및 장치는, 시뮬레이션하고자 하는 하나 이상의 객체들 각각을 다양한 정밀도로 시뮬레이션함으로써, 시뮬레이션을 위한 컴퓨팅 자원이 보다 효율적으로 운용될 수 있도록 하는 효과를 갖는다. 구체적으로, 본 발명에 의한 시뮬레이션 방법 및 장치는, '사용자가 시뮬레이션 결과에 상대적으로 적은 관심을 갖는 객체'를 '사용자가 시뮬레이션 결과에 상대적으로 큰 관심을 갖는 객체'의 시뮬레이션 정밀도보다 낮은 정밀도로 시뮬레이션함으로써, 컴퓨팅 자원이 효율적으로 사용되도록 하는 효과를 갖는다.
나아가, 본 발명에 의한 시뮬레이션 방법 및 장치는, 시뮬레이션 결과가 다소 부정확하더라도 사용자가 그 시뮬레이션 결과에 불만족을 느낄 확률이 상대적으로 적은 객체는 낮은 정밀도로 시뮬레이션하고, 시뮬레이션 결과가 조금이라도 부정확하면 사용자가 그 시뮬레이션 결과에 불만족을 느낄 확률이 상대적으로 큰 객체는 높은 정밀도로 시뮬레이션하므로, 사용자가 '종래의 시뮬레이션 장치에 의해 시뮬레이션된 결과(즉, 시뮬레이션하고자 하는 모든 객체들이 모두 높은 정밀도로 시뮬레이션된 결과들)'와 '본 발명에 의해 시뮬레이션된 결과(즉, 시뮬레이션하고자 하는 객체들 각각이 다양한 정밀도로 시뮬레이션된 결과들)'의 차이를 인식할 확률이 낮고, 이에 따라, 본 발명은, 시뮬레이션하고자 하는 모든 객체들을 모두 높은 정밀도로 시뮬레이션하지 않음에도 불구하고, 종래의 시뮬레이션 장치에 의한 시뮬레이션 결과의 품질을 어느 정도 유지하는 시뮬레이션 결과를 제공할 수 있다.

Claims (9)

  1. (a) 시뮬레이션하고자 하는 객체의 주어진 시뮬레이션 환경을 고려하여 결정되거나 미리 지정된 정밀도를 인지하는 단계; 및
    (b) 기 설정된 시뮬레이션 과정을 상기 시뮬레이션 과정의 수행시의 연산량이 상기 인지된 정밀도에 상응하여 감소되도록 간략화시킨 시뮬레이션 과정에 따라 상기 객체를 시뮬레이션하는 단계를 포함하는 것을 특징으로 하는 시뮬레이션 방법.
  2. 제1 항에 있어서, 상기 시뮬레이션 환경은 시점과 상기 객체간의 거리 및 상기 객체가 상기 시점의 시야 내에 위치하는지의 여부 중 적어도 하나를 포함하는 것을 특징으로 하는 시뮬레이션 방법.
  3. 삭제
  4. 제1 항에 있어서, 상기 시뮬레이션 방법이 반복 수행됨에 따라 상기 시뮬레이션된 결과는 상기 시뮬레이션 방법에 의해 상기 인지된 정밀도에 비례하는 빈도로 갱신되는 것을 특징으로 하는 시뮬레이션 방법.
  5. 시뮬레이션하고자 하는 객체의 주어진 시뮬레이션 환경을 고려하여 결정되거나 미리 지정된 정밀도를 인지하는 정밀도 인지부; 및
    기 설정된 시뮬레이션 과정을 상기 시뮬레이션 과정의 수행시의 연산량이 상기 인지된 정밀도에 상응하여 감소되도록 간략화시킨 시뮬레이션 과정에 따라 상기 객체를 시뮬레이션하는 시뮬레이션 수행부를 포함하는 것을 특징으로 하는 시뮬레이션 장치.
  6. 제5 항에 있어서, 상기 시뮬레이션 환경은 시점과 상기 객체간의 거리 및 상기 객체가 상기 시점의 시야 내에 위치하는지의 여부 중 적어도 하나를 포함하는 것을 특징으로 하는 시뮬레이션 장치.
  7. 삭제
  8. 제5 항에 있어서, 상기 시뮬레이션 장치가 반복 동작함에 따라 상기 시뮬레이션된 결과는 상기 시뮬레이션 장치에 의해 상기 인지된 정밀도에 비례하는 빈도로 갱신되는 것을 특징으로 하는 시뮬레이션 장치.
  9. 제1 항, 제2 항, 및 제4 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체.
KR1020070009636A 2007-01-30 2007-01-30 시뮬레이션 방법 및 장치 KR100893526B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070009636A KR100893526B1 (ko) 2007-01-30 2007-01-30 시뮬레이션 방법 및 장치
US12/007,125 US20080183437A1 (en) 2007-01-30 2008-01-07 Simulation method, medium and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070009636A KR100893526B1 (ko) 2007-01-30 2007-01-30 시뮬레이션 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20080071416A KR20080071416A (ko) 2008-08-04
KR100893526B1 true KR100893526B1 (ko) 2009-04-17

Family

ID=39668941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070009636A KR100893526B1 (ko) 2007-01-30 2007-01-30 시뮬레이션 방법 및 장치

Country Status (2)

Country Link
US (1) US20080183437A1 (ko)
KR (1) KR100893526B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001076180A (ja) * 1999-09-07 2001-03-23 Nec Corp 3次元グラフィックス表示装置
KR20050112492A (ko) * 2004-05-25 2005-11-30 후지쯔 가부시끼가이샤 형상 시뮬레이션 장치, 형상 시뮬레이션 방법 및 형상시뮬레이션 프로그램

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6204850B1 (en) * 1997-05-30 2001-03-20 Daniel R. Green Scaleable camera model for the navigation and display of information structures using nested, bounded 3D coordinate spaces
US20020113865A1 (en) * 1997-09-02 2002-08-22 Kotaro Yano Image processing method and apparatus
US6414679B1 (en) * 1998-10-08 2002-07-02 Cyberworld International Corporation Architecture and methods for generating and displaying three dimensional representations
US20020158873A1 (en) * 2001-01-26 2002-10-31 Todd Williamson Real-time virtual viewpoint in simulated reality environment
JP3910382B2 (ja) * 2001-07-11 2007-04-25 株式会社日立製作所 画像照合装置
US6701236B2 (en) * 2001-10-19 2004-03-02 Yamaha Hatsudoki Kabushiki Kaisha Intelligent mechatronic control suspension system based on soft computing
JP4361389B2 (ja) * 2004-02-26 2009-11-11 本田技研工業株式会社 道路交通シミュレーション装置
US7768527B2 (en) * 2006-05-31 2010-08-03 Beihang University Hardware-in-the-loop simulation system and method for computer vision

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001076180A (ja) * 1999-09-07 2001-03-23 Nec Corp 3次元グラフィックス表示装置
KR20050112492A (ko) * 2004-05-25 2005-11-30 후지쯔 가부시끼가이샤 형상 시뮬레이션 장치, 형상 시뮬레이션 방법 및 형상시뮬레이션 프로그램

Also Published As

Publication number Publication date
KR20080071416A (ko) 2008-08-04
US20080183437A1 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
Grammatikopoulou et al. An adaptive framework for the creation of exergames for intangible cultural heritage (ICH) education
US10546507B2 (en) Recommending a set of learning activities based on dynamic learning goal adaptation
US8766077B2 (en) Music playing movement display control device, music playing movement control method and computer readable medium
US8586849B1 (en) Media system and method of progressive instruction in the playing of a guitar based on user proficiency
CN106653037B (zh) 音频数据处理方法和装置
US20110300516A1 (en) Tactile Tile Vocalization
US8895829B2 (en) Music playing movement display device, method and recording medium
JP2007094055A (ja) 穴埋めテスト問題作成プログラム、方法及び装置
EP1351209A2 (en) Sign language education system and program therefor
CN115795009A (zh) 基于生成式多语言模型的跨语言问答系统构建方法和装置
US11547945B2 (en) Content generation system
KR20120038616A (ko) 마커리스 실감형 증강현실 제공 방법 및 시스템
TW201301129A (zh) 互動式三維多媒體編輯系統、方法及其電腦可讀取媒體
KR20080087570A (ko) 그래픽 사용자 인터페이스를 이용한 설계 장치, 방법 및이를 구현하기 위한 프로그램을 기록한 기록매체
JPWO2020003670A1 (ja) 情報処理装置、および情報処理方法
JP7210489B2 (ja) 学習装置、学習方法および学習プログラム
TWI403911B (zh) 中文辭典建置裝置和方法,以及儲存媒體
KR100893526B1 (ko) 시뮬레이션 방법 및 장치
Jaglan et al. COVID-19 trend analysis using machine learning techniques
US20040237756A1 (en) Computer-aided music education
Gillespie et al. Interactive dynamics with haptic display
US10515563B2 (en) Apparatus and method for providing realistic education media
JP2018190041A (ja) 情報処理装置、その制御方法、プログラム
Chen Development of a Novel Computer-Aided Design Experiment Protocol for Studying Designer Behaviours
CN111274392B (zh) 一种多频道联合处理方法和装置

Legal Events

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

Payment date: 20130318

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140325

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee