가상현실과 vrml

Post on 30-Dec-2015

93 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

가상현실과 VRML. 1.1 가상현실 이란 ? 1.2 VRML (Virtual Reality Modeling Language) 1.3 VRML 의 특징. 1.1 가상현실 이란 ?. 인간의 오감이 바탕이 되어 상상 속에서 현실감을 느끼는 가상공간으로 3D 이 기본 가상공간의 구현 – 컴퓨터를 비롯한 H/W 와 3 차원 물체를 생성 , 편집 , 제어 , 관리하는 다양한 S/W H/W – HMD ,Data Glove ,Space Ball etc, S/W - PowerPoint PPT Presentation

TRANSCRIPT

가상현실과 가상현실과 VRMLVRML

1.1 1.1 가상현실 이란가상현실 이란 ?? 1.2 VRML1.2 VRML (Virtual Reality Modeling (Virtual Reality Modeling Language)Language) 1.3 VRML1.3 VRML 의 특징의 특징

1.1 1.1 가상현실 이란가상현실 이란 ??

• 인간의 오감이 바탕이 되어 상상 속에서 현실감을 느끼는 가상공간으로 3D 이 기본

• 가상공간의 구현 – 컴퓨터를 비롯한 H/W 와 3 차원 물체를 생성 , 편집 , 제어 , 관리하는

다양한 S/W• H/W – HMD ,Data Glove ,Space Ball etc,• S/W 1. 입출력장치 , 데이터베이스를 통합 , 제어하는 가상현실

개발 소프트웨어 <- 고가의 S/W 2. 3 차원 물체를 생성 , 편집하는 3 차원 모델링 소프트웨어 <- 비교적 저가의 S/W

1.2 VRML1.2 VRML (Virtual Reality Modeling (Virtual Reality Modeling Language)Language)• VRML 은 Virtual Reality Modeling Language 의 약자로

인터넷 환경에서 상호 작용하는 3 차원 환경을 개발하기 위해 제안된 스크립트 언어

• VRML 시초 -1994 년 5 월 스위스 제네바에서 열린 WWW conference 에서 Tim B

erners-Lee 와 Dave Raggett 가 제안 - Silicon Graphics 사의 Open Inventor 파일 형식을 기반으로 VRML V

1.0 규약 제정 - V1.0 의 기능에 다양한 기능을 추가하여 1996 년 VRML V2.0 제정 - 1997 년에 VRML 2.0 은 VRML97 로 수정하면서 국제 표준으로

인정받았다 . - 현재 web3d 표준안으로 X3d(eXtensible 3 Dimension) 란 명칭으로

가상현실을 모델링

• VRML 1.0 - 실리콘 그래픽스 (SGI) 의 오픈 인벤터 (Open Inventor) 의 파일 포맷을 기초로

하여 VRML 1.0 규약이 제정 하였지만 사운드 , 애니메이션 등이 결여되었고 가장 중요한 요소인 상호작용이 지원되지 않음

• VRML 2.0 - VRML 2.0 에 대표적으로 추가된 기능은 상호작용 (interactive), 키프레임

애니메이션 , 3 차원 사운드 , 다양한 배경 , 3 차원 물체를 제어할 수 있는 여러 스크립트가 제공

• VRML 97 - VRML 2.0 을 국제 그래픽 표준으로 인정받기 위하여 V2.0 의 스펙

(Specification) 과 관련한 문서와 기능의 수정을 통해 그래픽 언어의 표준으로 VRML97 이 제안

• X3D -X3D 는 “ Extensible 3D" 의 약자로 인터넷 가상현실 구현 표준 언어인

VRML97 을 대체할 차세대 표준안의 명칭

1.3 VRML1.3 VRML 의 특징 의 특징 • 상호작용과 탐색 기능 (Interaction and Navigation) - 3D 객체에 사용자의 이벤트를 발생 시킴 으로서 더욱 현실감 있는 가상공간

체험

• 인터넷상의 3D 그래픽 국제 표준 - 표준 스펙 공개 - ASCII 형태의 파일로 메모장에서 쉽게 구현

• 다양한 스크립트 지원 -HTML 문서와 연결 가능할 뿐만 아니라 , JAVA 나 JavaScript 와 결합

가능하여 다양한 기술을 효과적으로 표현 • 다른 응용프로그램과 호환성

X3DX3D 와와 VRMLVRML

2.1 X3D(extensible 3 2.1 X3D(extensible 3 Dimension) Dimension) 란란 ? ? 2.2 X3D2.2 X3D 의 특징 의 특징

  

2.1 2.1 X3D(extensible 3 X3D(extensible 3 Dimension) Dimension) 란란 ?? • X3D 란 Extensible 3D( 확 장 가 능 한 3D) 를

의미하며 VRML2.0 의 기능을 상속 , 확장 , 보완한 차세대 web3D 표준 규약

• VRML 은 HTML 을 기본으로 하지만 X3D 는 XML상에서 구현되는 W3D

• X3D 등장 배경- 실리콘 그래픽스의 Cosmo Player 개발 포기- VRML 의 명세서가 최초의 Web3D 이지만 포괄적인 명세서로 인한 Viewer 의 용량이 커짐- Web3D 컨소시엄은 기존의 VRML 의 장점을 유지하고 단점을 보완한 새로운 표준안으로서 X3D 를 공개

• X3D 장점1. X3D 는 VRML 이 갖는 기술적 요소를 모두 포함한다 . 2. XML 로서 가상공간을 쉽게 구현 가능하다 . XML 은 가상공간의 데이터베이스를 효율적으로 관리하므로 정보를 관리하고 제어가 용이하다 . 3. X3D 는 명세서를 시장성에 맞게 프로파일 (profile) 로서 분해 (component) 가능하다 . 4. SAI(Scene Authoring Interface) 를 통하여 programming과 scripting 언어를 쉽고 간결하게 사용할 수 있다 . 5. X3D 의 오픈 소스 (open source) 는 개발 자원으로 매우 유용하다 . 6. 이진 형태의 파일은 보안과 압축이 가능하다 .

• X3D 특징1. XML - XML 은 웹 서비스를 기본으로 하고 있으며 분산 네트워크로서 내부 응용 프로그램과 전송이 가능하다 . 2. Componentize - VRML 의 각 명세서를 기능별로 분해하여 실시간 3D 엔진을 사용할 수 있다 . 3. 확장성 (extensible) - Component 를 통하여 응용 서비스에 대한 기능들을 추가로 확장할 수 있는 유연성을 갖고 있다 . 4. 프로파일 (profile) - 명세서가 갖는 여러 응용의 필요성에 대해 적합한 표준 확장성을 갖는다 . 5. 쉬운 Update(evolutionary) - X3D 로서 VRML 을 포함하여 쉽게 업데이트가 가능하다 . 6. 실시간 처리 (realtime) - 고화질의 그래픽으로서 상호대화 형식의 3D 오디오 , 비디오를 실시간으로 처리할 수 있다 .

• X3D 의 지원가능 분야1. 2,3 차원의 그래픽 - 2 차원 벡터의 그래픽과 텍스트 문자를 처리가능하며 , 3 차원의 다각형 , 텍스쳐 맵핑 등을 처리할 수 있다 . 2. CAD 데이터 - CAD 데이터를 개방된 형태의 파일 형태로 변환하여 제작할 수 잇다 . 3. 애니메이션 - 각 종 센서를 통하여 인간 모형이나 모핑 (morphing) 등 객체의 애니메이션을 구현할 수 있다 . 4. 오디오와 비디오 - MPEG 형태의 오디오와 비디오를 링크하여 표현할 수 있다 . 5. 사용자와 상호작용 - 마우스 뿐만 아니라 키보드를 통하여 입력이 가능하다 .

6. 물리적 시뮬레이션 - 분산 상호 시뮬레이션 (DIS : Distributed Interaction Simulation) 프로토콜로서 휴먼노이드 (Humanoid) 나

지형의 시뮬레이션이 가능하다 .

• X3D 의 계층별 프로파일

VRMLVRML 사용법사용법

3.1 3.1 전용 뷰어전용 뷰어 (Viewer) (Viewer) 설치 설치 3.2 Cortona Player 3.2 Cortona Player 사용법 사용법 3.3 3.3 노드와 필드노드와 필드

3.1 3.1 전용 뷰어전용 뷰어 (Viewer) (Viewer) 설치설치• VRML 3D – 플러그 인 형태의 전용 뷰어 필요

- 실리콘 그래픽스사의 Cosmo Player - 패러렐 그래픽스사의 Cortona Player - Sony 사의 Community Place - 블락선사의 Contact - ㈜ 사이맥스의 깨비 뷰어

• 가 장 널리 사 용 된 Cosmo Player 는 실 리 콘 그래픽사의 개발 포기로 사용 불가능해졌으므로 현재 Cortona Player 가 일반적으로 사용됨

• Parallel Graphics 사의 Cortona Player 설치방법1. http://www.parallelgraphics.com/products/cortona/download/iexplore/ 접속 후 cortvrml.exe 를 다운로드 혹은 CD 의 cortvrml.exe 를 참조2. cortvrml.exe 를 실행 후 다음 화면에서 next 선택 후 라이센스 동의에 Yes 클릭

3. Setup 상태 창 - 소프트웨어가 자동으로 적절히 나타냄 . 브라우져는 Explorer 를 선택하고 인스톨 형태는 Typical 를 선택한 후 다음 화면으로 이동한다 .

4. Setup 옵션 창 – Cortona Player 에서 사용할 랜더링 툴 선택 일반적으로 DirectX renderer 선택

5. 설치 완료 화면 설치가 완료되면 다음 그림이 실행된다 .

3.2 Cortona Player 3.2 Cortona Player 사용법사용법

• VRML 파일을 생성하기 위해선 메모장이나 VRMLPad 를 사용한다 .

• VRML 편집기를 사용해서 파일 확장자 .wrl 로 저장한다 . 아이콘 형태

• 예제 3-1 을 메모장에서 작성한 후 실행 프로그램은 인터넷 익스플로러 선택

•Cortona Player 화면

• Cortona Player 뷰어 - 3D 물체를 표시하기 위한 작업 표시과 물체를 조종하기 위한 콘트롤 바 (Control Bar) 로 분류 - 콘트롤 바는 수평과 수직 툴 바로 분류- 수직 툴 바는 가상공간속에서 사용자의 탐색 형태를 나타내는 버튼- 수평 툴바는 사용자가 미리 정의해둔 위치로 이동할 수 있는 버튼들을 포함하고 있다 .

• 수직 툴바 - 중력 모드 : 가상공간의 탐험- 중력해제 모드 : 비행모드로 탐험- 관찰 모드 : 가상공간내의 물체를 관찰하기 위한 모드

• 수평 툴바 - : 가상세계의 물체에 바로 접근

- : 초기상태로 되돌리기 - : 윈도우 창의 크기에 맞게 표현 - :객체의 수직과 수평축을 직각으로 맞춤

3.3 3.3 노드와 필드노드와 필드• VRML 구조

- #VRML V2.0 utf8 - #은 VRML 의 헤더로서 반드시 첫 줄 첫 칸에서 시작 - V2,0 VRML 의 버전- utf8 VRML 문서의 인코딩 (Encoding) 방식 - 두 번째 줄 이상의 #은 주석문으로 해석

• 대문자 , 소문자로 구성- 대문자는 노드- 소문자는 필드

•노드 - 반드시 대문자로 시작하며 가상공간내의 객체를 나타냄- 54 개의 노드로 구성

- 기하노드Box Cone Cylinder Sphere ElevationGrid Extrusion PointSet IndexedLinneSet IndexedFaceSet Text

- 기하속성 노드Color Coordinate Normal TextureCoordinate- 외형 노드Appearance FontStyle ImageTexture Material MovieTexture PixelTexture TextureTransform- 그룹 노드Anchor Billboard Collision Group Transform Inline LOD Switch- 센서 노드TouchSensor PlaneSensor CylinderSensor SphereSensor ProximitySensor TimeSensor VisibilitySensor

- 인터폴레이터 노드ColorInterpolator CoordinateInterpolator NormalInterpolator PositionInterpolator ScalarInterpolator- 바인딩 노드Background Fog NavigationInfo Viewpoint- 라이트 노드DirectionalLight PointLight SpotLight- 사운드와 일반 노드AudioClip Script Shape Sound WorldInfo

• 필드 - 반드시 소문자로 시작하며 가상공간내의 객체의 속성을 나타냄- 속성 자료형 이름 변수 값 Field SFvec3f size 2 2 2

• 속성의 종류와 의미Field : 상수와 같은 의미

exposedField : 변수와 같은 의미로 프로그램의 실행 중 항시 값의 변경이 가능하며 이벤트에서 값을 받을 수도 있고 다른 노드에게 이벤트 값을 전송할 수도 있다

EventIn : 이벤트를 발생하기만 하는 속성이다 .EventOut : 이벤트를 받기만 하는 속성이다 .

• 자료형 - 필드가 가질 수 있는 변수의 데이터 형태

• 이름- 노드의 속성을 나타내는 필드 이름

• 변수 값- 노드의 필드가 실질적으로 갖는 값

4 장 이후의 내용은 CD 실습 참조

top related