3.2차 중간 보고

                 종합설계 프로젝트 2차 중간보고서 요약

팀명

팀이름

제출일

2012 5 3

프로젝트 제목

Planetarium Controller

설계프로젝트 개요

프로젝트 수행 내용 및 중간 결과

프로젝트 요약문

기존에 사용하던 Planetarium은 천체의 운행을 보여주는 기계이다. 이러한 Planetarium의 경우 현존하는 제품의 대부분의 인터페이스는 마우스, 키보드 등으로 한정적이다. 또한 천체에 대한 상호 작용으로 인해 발생할 수 있는 현상들을 관찰하기 어려워 어린 학생들이 이를 이용해 과학적 지식을 얻는 것은 다소 어려움이 있었다. 본 프로젝트에서는 이러한 문제점을 해결하기 위해 기존의 모호한 인터페이스를 보다 직관적이고 혁신적인 모션 인터페이스로 대체한다. 또한, Planetarium에 과학적 정보를 담아 교육적인 목적으로 사용될 수 있도록 개발한다.
이러한 모션 인터페이스의 인식 및 제어는 Xbox의 Kinect를 이용하여 사용자가 존재하는 3차원 공간의 정보를 얻어 사용자의 손 동작이나 움직임을 인지한다. 이러한 특정 움직임을 분석하고 의미를 부여하여 각 기능에 입력시킴으로써 기존 인터페이스를 대체한다.
이러한 인터페이스로 사용자는 간소화된 우주를 조종한다. 또한 사용자는 중요한 과학적 정보를 직접 체험해 보고 여러 가지 지식을 얻을 수 있다. 또한 따분할 수 있는 교과서 내용에 보다 흥미를 가질 수 있게 되어 향상된 교육적 효과를 얻을 수 있다.

마일스톤 수행 내용

1. OopenSceneGraph(이하 OSG)

-OpenSceneGraph는 C++기반의 다양한 Platform을 지원하는 고속 Graphic Open Library로, Simulation, Game 등 각종 분야에서 사용되고 있다. OpenSceneGraphLibrary에서 기본적으로 Object가 표현되는 방식은 최상위 node가 여러 개의 child node를 가지고 있다
직접적으로 low level의 API에 관련된 인터페이스를 사용하기 보다, 많은 경우 3D 응용프로그램은 Middleware Library를 사용하여 개발되는 경우가 많다. 본 프로젝트의 경우도 이를 고려하여 OpenSceneGraph를 중심으로 개발을 하게 되었다.

2. 3D Studio Max?

- 3D Studio MAX( 이하 3DS MAX)는 Windows등의 직관적인 인터페이스를 활용할 수 있도록 설계된 3차원 모델링 및 애니메이션 authoring tool이다.


3. OSG
(1) OSG & OpenGL
OpenSceneGraph는 앞에서도 설명하였듯이 OpenGL Library를 바탕으로 만들어졌다. 그 중 OpenGL State를 다루는 함수들의 경우 OpenSceneGraph 내부의 자체 State Machine 값을 임의로 바꾸므로 두 Library 간의 충돌을 유발한다. 따라서 OpenGL State를 바꾸지 않는 GLUT 함수를 이용하여 기존의 시스템을 재현하였다. GLUT 함수란 OpenGL을 이용한 그래픽 유틸리티 제작을 돕는 함수들의 Library로 Win32API와 유사하다.     

(2) OSG::Camera Manipulator
Camera Manipulator는 GUI 이벤트에 대한 응답으로 OSG 카메라를 제어하고자 하는 클래스이다.
본 프로젝트에서는 Camera Manipulator를 이용하여 프로그램 시작하자마자 처음보이는 화면의 Camera구도 및 Kinect를 통한 입력을 들어왔을 경우 Camera의  움직임을 제어한다.

(3) OSG::Animation Path Manipulator
Animation Manipulator는 GUI 이벤트에 대한 응답으로 사용자가 원하는 Camera의 구도를 미리 Path로 만들어 Animation효과를 제공하는 Class로 개발자가 미리 정해놓은 animation Path정보에 맞춰서 Animation효과를 제공한다.

4. OpenGL을 OSG로 대체
기존에 사용하던 OpenGL의 한계점으로 인해 ( Texture 작업을 OpenGL 을 이용하여 Coding으로 해야 하는 상황에서 detail한 부분을 더 이상 구현하기 어려운 점 등 ) OpenSceneGraph(이하 OSG)로 대체하게 되었다.

5. Authoring Tool 사용
현재 OSG에서 행성들의 다양한 modeling 기법과 효과를 주기 위하여, 3ds max 라는 authoring tool을 사용하기로 하였다.
3ds max 사용함으로써 독립적인 밀도를 가지는 완벽하게 부드러운 Surface를 modeling할 수 있으며, 간단한 작업만으로도 Surface와 Curve들을 애니메이션화 할 수 있다. 또한, 작업을 customize하거나, 외부 데이터와 연결하고 작업과정을 자동화시킬 수 있다. 이는, OpenGL, Direct3D와 같은 빠른 하드웨어 가속 카드를 사용해서 선택적으로 성능 향상을 가져올 수 있다. 

6. Planetarium 과학적 요소 및 UI 추가 구현
-   추가적으로 구현한 Planetarium Display mode에 이벤트 추가.
    (  mode 변환시에 이벤트를 통하여, mode 간의 차이를 부각시키고, 몰입감 향상 )

-   학습 효과를 증진시키기 위한 사용자 매뉴얼 작성
    (  animation 효과를 통하여, 데모 영상으로 사용자들에게 사용 방법을 제시해 준다. )

-   테스트 및 요구 분석을 통하여 유저들이 사용하기에 더욱 적합한 인터페이스 구현.
    (  테스트상 발견되는 오류나, 일반적으로 인식될 수 있는 보편적이고 간편한 인터페이스 도모 )

- 교육적 모드의 Display를 구축한 뒤에 태양, 달, 지구 간의 여러 가지 효과를 제어하기 위한 인터페이스 추가

동영상



다음 마일스톤 일정

2차 중간 보고

 

 

Planetarium Project UI구현 및 기능 추가

산출물 :

1.     프로젝트 2차 중간 보고서

2.     Planetarium UI 디자인, 구현 코드

3.     계획서 발표 준비물(ppt,pdf)

2012-04-06

2012-05-03

구현 완료

Planetarium Program 구현 완료

산출물:

1.     구현 완성 프로그램

2012-05-04

2012-05-18

테스트

Project 통합 테스트

산출물:

1.     Debugging 진행 후 관련된 문제점/해결책

2.     Project 수정 버전

2012-05-19

2012-05-29

최종 보고서

Project 최종 보고

산출물:

1.      Project 최종 보고서

2.      Project 최종 사용 설명서

3.      계획서 발표 준비물(ppt,pdf)

2012-05-30

2012-05-31

 

첨부화일 (아래 안내는 첨부 후에 삭제할 것)

1. 동영상 (위 본문 페이지에 삽입)
2. 중간 보고서(PDF)
Ċ
markers@cs.kookmin.ac.kr,
2012. 5. 3. 오전 12:45