가시성그래프는 최소 탐색 공간으로 게임환경을 모델링하여 효과적으로 길을 찾을 수 있도록 하는 방법으로 잘 알려져 있다. 일반화 가시성그래프는 가시성그래프의 가장 큰 단점으로 지적되는 "벽-껴안기" 문제를 해결하기 위해 확장된 장애물의 경계 위에 생성된 가시성그래프이다. 일반화 가시성그래프에 의해 구해진 경로는 근사 최적이며 자연스럽게 보이는 장점이 있다. 본 논문에서는 변화하는 출발점과 목표점과 정적인 장애물 사이를 움직이는 게임 캐릭터에 효과적으로 일반화 가시성그래프를 적용하는 방법을 제안한다. 일반화 가시성그래프는 일단 생성되면 최소 탐색공간을 보장하지만 그 생성 자체는 노드사이의 링크의 교차 여부론 일일이 체크하여야 하므로 시간이 많이 소요된다. 아이디어는 먼저 정적인 장애물만으로 지도를 생성해 놓고 출발점과 목표점을 빠르게 포함시키는 것이다. 출발점과 목표점의 포함 부분이 여러 번 반복되어야 하는 과정이므로 출발점과 목표점을 빠르게 포함시키는데에 연산 기하학 분야의 회전 plane-sweep 알고리즘을 이용할 것을 제안한다. 시뮬레이션 결과는 전체 그래프를 매번 생성하는 것보다 제안한 방법의 실행시간이 39%-68% 정도 향상되었음을 보여준다.
최근 게임에서 자주 등장하기 시작한 랜덤 지형 맵 생성기법으로 인해 단순한 경로 찾기가 아닌 지형분석을 통한 복잡한 경로 찾기 문제가 많은 관심을 받고 있다. 이에 로보틱스 분야에서 경로 찾기에 이용되는 가시성그래프(Visibility Graph, Vgraph)가 지형분석과 경로 찾기를 동시에 해결할 수 있는 방법으로 제안되고 있다. Vgraph를 이용하면 지형의 로드맵을 효과적으로 생성할 수 있을 뿐 아니라 A* 알고리즘과 결합하여 최적의 경로를 찾는 것을 보장하는 장점이 있다. 그러나 Vgraph에 의해 구해진 경로는 장애물의 정점에서 정점으로 이동하기 때문에 항상 장애물의 모서리를 향해 움직이며 벽에 붙어가는 듯이 보여 부자연스러운 것이 단점이다. 본 논문에서는 설계자가 요구하는 여유공간 c만큼 장애물을 확장하여 확장된 장애물에 대해 가시성그래프를 생성함으로써, Vgraph의 장점은 유지하며 단점을 보완할 수 있는 방법에 대해 제안한다.
본 논문에서는 무인기의 경로 계획을 위한 맵 분할 방법론 중 하나인 Visibility Graph를 산악지형, 방공망, 그리고 레이더 등의 장애물이 존재하는 실제적인 3차원 환경에서 효율적으로 사용하기 위한 방안에 대해 서술한다. 기존의 가시성 그래프는 빌딩 사이를 주행하는 자율주행 자동차와 같이 주로 2차원 환경에서 간단한 형상의 장애물에 대해 연구되어왔다. 무인기 분야에서 사용하기 위해서는 고도 변화를 위해 3차원 가시성 그래프가 적용되어야 하는데, 3차원 가시성 그래프의 경우 2차원 환경에 비해 가시성을 판단해야 하는 노드 쌍이 매우 많아진다. 이에 더해 복잡한 다각형으로 이루어진 산악 지형은 가시성 그래프의 계산 시간을 더욱 상승시키는 요인으로 작용한다. 이러한 문제를 해결하기 위해 본 논문에서는 맵을 일정 고도로 분할하는 계층형 가시성 그래프 방식을 기반으로 복잡한 산악 지형을 Convex Hull 개념을 활용하여 노드 수를 감소시켜 계산 시간을 줄이는 방법에 대해 서술하며, 노드 수를 감소시키지 않은 상태와의 계산 시간을 비교한 결과 계산 시간이 약 99.5% 감소하였음을 확인하였다.
최근 컴퓨터 게임에서 중대성이 부각되고 있는 NPC(NonPlayer Character)는 게임의 기본이 되는 이동에 있어서 스스로 장애물과 다른 캐릭터들을 인지하고 자신의 임무를 수행하여야 한다. NPC들의 자연스러운 이동을 위해 고정된 장애물 환경에서 일반화 가시성그래프를 이용하여 경로를 계획하는 방법이 제안된 바 있는데 본 논문에서는 이렇게 생성된 경로를 따라 효율적으로 이동할 수 있게 하기 위한 실행 모듈을 개발한다. 일반화 가시성그래프의 특성에 따라, 계획된 경로는 직선과 원의 호로 이루어져 있는데 본 실행 모듈에서는 이 특성에 적합하고 NPC의 움직임이 자연스럽도록 직선이동 동작, 원 이동 동작, 도착하기 등의 기본 조타 동작을 정의하여 실제 경로 이동의 실행에 이용한다. 또한 이동 중에 나타나는 동적 장애물을 감지하기 위해 충돌감지 기능을 실행 모듈에 포함시키며 감지된 장애물의 종류에 따라 선택적으로 대처하기 위해 의사결정나무를 이용한다. 실행 모듈을 테스트하기 위해 NPC의 경로 이동을 방해하는 다른 NPC가 등장하도록 예제 시나리오를 작성하여 시뮬레이션한다.
게임의 장르가 다양해지고 대규모의 온라인 게임이 가능해 징에 따라 게임 환경과 더불어 게임 안에 등장하는 캐릭터의 수도 많아지고 있다. 게이머에 의해 움직이는 캐릭터 외에도 여러 종류의 다양한 NPC(Non-Player Character)들이 각각 맡은 임무를 띠고 각기 움직이게 된다. 본 논문에서는 NPC들의 자연스러운 이동을 위해 제안된 일반화 가시성그래프를 이용하여 계획된 경로의 효과적인 구현을 위한 조타행동(steering behaviors)과 경로 이동 중에 만나는 다른 캐릭터에 대한 NPC들의 조타행동을 정의하고 구현하여 이동에 따른 효율을 실험해 본다.
본 논문에서는 Navigation Mesh로 이루어진 3D 게임에서 가시성 그래프(Visibility Graph)와 $A^*$ 알고리즘을 혼용한 효율적인 경로 탐색 방법을 제안한다. Navigation Mesh로 지형을 생성할 때 이동에 꼭 필요한 Mesh로만 최대한 단순하게 지형을 구성하는 경우에는 경로 탐색을 위하여 $A^*$ 알고리즘을 적용할 수 있으나, 일반적으로 세밀하게 구성된 Navigation Mesh에서 $A^*$ 알고리즘을 적용할 경우 탐색할 공간이 많아지기 때문에 경로 탐색이 매우 비효율적이 된다. 세밀하게 구성된 Navigation Mesh에서도 효율적인 탐색을 하기 위해서 본 논문에서는 가시성 그래프를 이용하여 탐색 공간을 줄이는 방법을 사용하였다. 장애물들의 정점을 찾아 반드시 통과하여야 하는 mesh 들을 선정하고 $A^*$의 휴리스틱 함수를 이 mesh들을 지나가는 거리로 정의함으로써 기본적인 $A^*$ 알고리즘을 수행하는 것보다 탐색을 위하여 방문하는 mesh들의 수를 현저히 줄일 수 있었다.
컴퓨터 게임에서 NPC(non-player character)가 이동하는 자연스러운 경로를 찾기 위해서는 탐색을 위한 공간을 어떻게 표현할 것인가에 대한 연구가 어떤 탐색 방법을 사용할 것인가에 대한 연구 못지 않게 중요하다고 할 수 있다. 최근까지 게염 경로 찾기의 동향을 보면 경로 계획을 위한 탐색 방법으로는 A* 알고리즘이 단연 우위를 보이지만 A* 알고리즘을 적용하기 위한 상태 공간 표현 방식으로는 게임을 위해 만들어진 여러가지 표현 방법들이 사용되고 있다. 기존의 방법들은 탐색 공간의 크기가 너무 크거나, 최적의 경로를 찾지 못하거나, 경로가 자연스럽지 못하는 등의 단점 뿐 아니라 노드와 링크의 생성이 자동적이지 못하고 레벨 디자이너에 의존하는 것도 문제점으로 지적되고 있다. 본 논문에서는 경로가 자연스럽게 보이기 위한 성질을 정의하고 이를 충족하는 경로를 생성할 수 있도록 로보틱스 분야의 가시 성그래프를 응용한 일반화 가시성그래프를 이용하여 상태공간을 표현할 것을 제안한다.
일반적으로 외부에서 획득되는 영상은 대기 중에 존재하는 먼지, 물방울, 연무, 안개, 연기 등에 의해 화질이 감쇠되고 결과적으로 대비도 감소와 색상의 왜곡 현상이 발생한다. 그리나 안개와 배경 사이에 내재된 모호성 때문에 배경으로부터 안개를 제거하는 작업은 결코 간단한 문제가 아니다. 본 논문에서는 단일 영상에서 비용함수로서 에지의 기울기를 이용한 그래프 기반 영역 분할 방법을 이용하여 안개 제거를 위한 새로운 방법을 제안한다. 우리는 장면을 깊이 관련 정보에 따라 여러 영역으로 분리하고 전역적인 안개값을 추정한다. 매체의 전달량은 그래프 기반 영역 분할 알고리즘의 임계 함수에 의해서 직접적으로 계산된다. 매체 전달량과 안개값이 계산되면 안개 모델식에 의해서 쉽게 안개가 제거된 영상을 복원할 수 있다. 그리고 안개 영상과 복원된 영상간의 에지의 기울기 비율을 계산함으로써 기존의 연구 방법과 제안된 연구 방법의 가시성 복원 정도를 비교 평가하였다. 다양한 안개 영상에 대한 실험 결과 제안된 방법의 우수한 안개 제거 및 화질 복원 능력이 입증되었다.
기존의 절차 중심적으로 개발되어진 시스템들은 일반적으로 오래 전에 개발되었으며 규모가 크고 구조화되어 있지 않아서 이해하기 어렵고 분석에 드는 비용이 크다. 그러나 그런 시스템들은 이미 운영환경에 관한 많은 비용과 중요한 정보들을 포함하고 있어서 시스템을 폐기하기 곤란하며 새로 개발하는 데에도 많은 비용과 시간이 요구된다. 이러한 절차 중심적 소프트웨어들이 제공하는 서비스를 계속 유지해가면서 그 시스템을 현대화하기 위한 방안으로 객체 지향 구조로의 소프트웨어 재공학이 요구되고 있다. 본 논문에서는 기존의 절차 중시적 소프트웨어 시스템을 객체 지향 소프트웨어 시스템으로 변환하는 방법에 관하여 논의한다. 이를 위해 프로그램에 내재되어 있는 타입 가시성 정보와 자료 가시성 정보를 그래프로 표현하고 이 그래프를 이용하여 객체를 추출하는 방법을 제시한다. 또한, 추출된 객체들을 클래스로 표현하고 클래스들 간의 관계를 파악하며, 클래스들을 기반으로 기존의 코드를 객체 지향 중심의 코드로 변환하기 위한 방법들을 연구한다.
이동망(Navigation Mesh)은 캐릭터가 이동할 수 있는 다각형(삼각형) 집합으로 지형을 표현한다. 이동망은 자동화된 생성이 가능하며, 유연하게 3차원 공간을 표현할 수 있다. 지형 구조에 따라 삼각형 수를 달리함으로써 다양한 표현이 가능하며, 캐릭터는 3차원 상태 공간을 2차원 평면 공간으로 표현한 이동망으로만 이동하기 때문에 효율적인 이동과 경로 계획을 보장받을 수 있다. 그러나 현실적인 캐릭터의 이동을 위해 보다 많은 삼각형을 이용하여 지형을 표현함으로 경로 계획 수립 시 많은 상태 공간(다각형)을 검색하여 효율적인 탐색이 이루어지지 않는다. 본 논문에서는 이동망으로 표현된 3차원 게임에서에서의 효율적인 경로 탐색 방법을 위한 가시성 검사 시법을 제안한다. 정교한 다각형으로 이루어진 세밀한 지형에 그래프 기반 탐색을 적용하면 탐색할 공간이 많기 때문에 효율적인 탐색이 이루어지지 않는다. 그래서 본 논문에서는 정교하게 구성되어 있는 3차원 지형에서 효율적인 탐색이 이루어질 수 있도록 가시성 검사(visibility test)를 이용하여 탐색 공간을 줄이는 방법을 사용하였다. 장애물의 정점을 찾고 추정 함수(heuristic function)를 이동망을 지나가는 거리로 정의함으로서, 직선거리를 추정 함수로 정의한 그래프 기반 탐색 방법보다 탐색 영역을 현저하게 줄일 수 있었다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.