Transcript 슬라이드 제목 없음
12장 자바와 VRML의 활용 12장 자바와 VRML의 활용 12.1 자바 애플릿의 소개 Network 환경에 적합한 객체 지향형 Programming Language 인터넷 및 분산 환경 시스템에서 효과적으로 응용 프로그램을 작성할 수 있도록 설계된 언어 객체 지향성 및 다양한 개발 환경을 지원 12.1.1 자바와 자바 애플릿 자바 마스코트 듀크 자바 로고 2 12장 자바와 VRML의 활용 (1)자바의 역사 1991년 Sun Microsystems사의 제임스 고슬링이 가전제품에서 사용될 수 있는 단순하고 버그 없는 언어 제작을 목적으로 프로젝트 시작 이를 위해 특정한 컴퓨터 칩에 의존하지 않는 언어인 '자바'를 구상 1993년 월드와이드 웹 발표 후 인터넷과 같은 분산환경에서는 자바와 같이 하드웨어 독립적인 언어가 이상적인 프로그래밍 수단임을 많은 사람들이 인식 Netscape 2.0에 자바 기술이 포함된 이후 인터넷 환경에서 가장 각광받는 프로그래밍 언어로 부상 (2) 자바의 특성 간단한 언어 : C++ 에서 혼동되는 개념을 제거 객체지향 언어 플랫폼 독립적 : 하드웨어와 OS에 관계 없이 동작 3 12장 자바와 VRML의 활용 (3) 자바의 컴파일과 실행 환경 자바 프로그램 개발 환경은 컴 파일과 실행환경으로 구성 자바 소스 코드(.java)를 만들고, 이를 바이트코드(.class)로 컴파 일 생성된 바이트코드는 자신의 컴 퓨터에서 자체적으로 이용되거 나 네트워크를 통해 다른 곳으 로 전송 자바 가상 기계가 바이트코드의 명령을 해석하여 실행 자바의 컴파일과 실행 환경 4 12장 자바와 VRML의 활용 (4) 자바의 활용 분야 웹, 네트워크, 멀티미디어 분야 인트라넷 분야 주식, 증권 분야 인터넷 제어(Control) 5 12장 자바와 VRML의 활용 (5) 자바 애플릿 인터넷 브라우저 상에서 실행되는 자바 어플리케이션 HTML로만 구성된 정적 웹페이지에 동적 효과와 여러가지 특수효과를 지 원 미리 만들어져 있는 자바 애플릿 클래스 화일을 다운로드받아 쉽게 사용 가능 자바 애플릿을 다운로드받을 수 있는 웹사이트 • • • http://java.sun.com : 자바를 개발한 Sun사의 홈페이지 http://www.gamelan.com : 자바 어플리케이션 개발자를 위한 웹 사이트 http://www.javaboutique.com : 다양한 자바 애플릿이 종류별로 잘 정리되어 있는 곳 6 12장 자바와 VRML의 활용 (6) 자바 애플릿과 자바스크립트의 차이점 7 12장 자바와 VRML의 활용 (7) 자바 애플릿을 사용하는 이유 자바 애플릿은 브라우저에 대해서 독립적 프로그래밍에 대한 지식 없이도 쉽게 미리 만들어진 애플릿을 가져와 이용 할 수 있음 JavaScript와 Dynamic HTML 보다 높은 수준의 상호작용성을 지원 8 12장 자바와 VRML의 활용 12.1.2 자바 애플릿의 활용 자바 애플릿을 HTML과 함께 수행시키기 위해서는 HTML문서 안에 자바 애플릿을 사용한다는 것을 선언해야 함 HTML 문서 내에서의 자바 애플릿의 삽입 9 12장 자바와 VRML의 활용 자바 애플릿의 삽입 • 자바 애플릿과 HTML을 연결해 주는 태그는 <APPLET> 태그 • 기본 형식 <APPLET CODE="클래스이름.class" WIDTH=n HEIGHT=n> </APPLET> 매개 변수 • 애플릿의 동작을 사용자가 정의하고 변경하기 위한 것 • 매개변수를 전달하는 태그는 <PARAM>으로서 <APPLET>태그와 </APPLET>태그 사이에 위치 • 기본 형식 <PARAM NAME="파라미터 이름" VALUE="파라미터 값"> 10 12장 자바와 VRML의 활용 [시연] 자바 애플릿의 활용 예 <html> <head> <title>The Animator Applet</title> </head> <body> <hr> <p> <applet code="Animator.class" width="200" height="200"> <param name="imagesource" value="images/Duke"> <param name="endimage" value="10"> 11 12장 자바와 VRML의 활용 <param name="soundsource" value="audio"> <param name="soundtrack" value="spacemusic.au"> <param name="sounds" value="1.au|2.au|3.au|4.au|5.au|6.au|7.au|8.au|9.au|0.au"> <param name="pause" value="200"> </applet> </p> <hr><hr> <a href="Animator.java"> <p>The source.</a> </p> </body> </html> 12 12장 자바와 VRML의 활용 12.2 자바 애플릿의 활용 예 12.2.1 텍스트 및 이미지 효과 (1) 호수에 비치는 이미지 그림화일을 받아 호수에 반사되는 효과 를 만들어 주는 자바 애플릿 13 12장 자바와 VRML의 활용 14 12장 자바와 VRML의 활용 (2) 아래에서 위로 흐르는 글 사용자가 원하는 문구를 받 아 화면에 스크롤시켜 주는 애플릿 15 12장 자바와 VRML의 활용 16 12장 자바와 VRML의 활용 12.2.2 메뉴 (1) 동적 메뉴 동적인 메뉴를 보 여 주는 애플릿, 슬라이드 바 형식 으로 구성 17 12장 자바와 VRML의 활용 18 12장 자바와 VRML의 활용 12.2.3 게임 (1) 그림맞추기 그림을 입력받아 간단한 퍼즐 게임 으로 만들어 주는 애플릿 19 12장 자바와 VRML의 활용 20 12장 자바와 VRML의 활용 (2) 크로스워드 퍼즐 웹상에서 흔히 볼 수 있는 가로세로 퀴즈의 예 21 12장 자바와 VRML의 활용 12.2.4 교육용 애플릿 (1) 분자구조 애플릿 화학 분자구조를 동적으로 보여주는 애플릿, 사용자와 의 상호작용을 지원 22 12장 자바와 VRML의 활용 (2) 피타고라스의 정리 단계별로 알기 쉽게 증 명되는 피타고라스의 정 리 23 12장 자바와 VRML의 활용 12.2.5 기타 (1) 자바 시계 크기를 조절할 수 있는 간단 한 자바 애플릿 시계 24 12장 자바와 VRML의 활용 (2) 기타연주 사용자가 기타 음을 연주해 볼 수 있는 애플릿 25 12장 자바와 VRML의 활용 (3) 우주여행 우주를 날으는 듯한 효과를 만들어 주 는 애플릿 26 12장 자바와 VRML의 활용 12.3 VRML의 소개 12.3.1 가상현실의 개념 가상현실(Virtual Reality) : 컴퓨터 시스템을 이용하여 생성한 3차원적인 인공의 세계에 인간이 몰입하여 실시간으로 보고 듣고 만지는 현실감을 체 험하는 것 가상의 세계에서 눈과 귀를 통해서 보고 들을 수 있으며 심지어 냄새와 맛 그리고 촉각까지도 현실에서처럼 느낄 수 있음 시뮬레이션(Simulation)과는 달리 직접 그 안에 들어가 직접적인 체험을 할 수 있도록 하며 그 안의 물체들과 상호작용(Interaction)이 가능 27 12장 자바와 VRML의 활용 가상현실의 중요한 요소 • 임장감: 사용자가 실제 3차원 세계 안에 들어와 있는 것처럼 느끼는 것 • 몰입감(Immersion): 현실 세계를 잊고 눈앞에 보이는 가상현실이 실제 인 것처럼 빠져드는 것 28 12장 자바와 VRML의 활용 일반적인 가상현실 시스템의 구성 29 12장 자바와 VRML의 활용 • 입력장치: 참여자의 행동으로 인한 변화(이벤트)를 받아들임 • 월드 데이터베이스: 3차원 환경에 대한 모델링 정보를 담고 있는 데이 터베이스 • 렌더링 시스템: 입력장치에서 받아들인 정보를 월드 데이터베이스에 반영하여 실시간으로 3차원 영상과 음향을 생성 • 출력장치: 렌더링된 영상과 음향을 참여자에게 전달 30 12장 자바와 VRML의 활용 12.3.2 VRML이란? VRML(Virtual Reality Modeling Language): 웹에서 3차원 가상 환경(Virtual Environment)을 표 현하기 위한 언어 VRML월드의 예 31 12장 자바와 VRML의 활용 VRML의 역사 • 1994년 5월 제 1차 www conference에서 Mark Pesce와 Tony Parisi가 VRML의 표본을 제시 • VRML 개발을 위한 국제 그룹 결성 • SGI사의 Open Inventor를 바탕으로 한 VRML 1.0 발표 • 1996년 상호작용성을 추가하여 VRML 2.0 발표 • 1997년 VRML97 이 표준안으로 채택됨 32 12장 자바와 VRML의 활용 VRML의 특성 • 구, 육면체, 원뿔 등의 기본적인 입체 도형을 이용하거나 복잡한 3차원 오브젝트 모델링 가능 • 애니메이션과 사운드 삽입 가능 • 사용자와의 상호작용 지원 : 가상현실의 구현을 가능케 함 • 웹 상에서의 다중 사용자 환경 지원 : 사용자가 자신을 대변하는 객체 (Avatar)를 조종하여 • 다른 사람들과 상호작용이 가능 33 12장 자바와 VRML의 활용 12.3.3 VRML과 다른 미디어와의 비교 상호작용 네비게이션 장면의 구성 상호작용 가상성 파일 형식 파일 크기 VRML Animation 있음 없음 가능 불가능 실시간에 미리 녹화된 장 만들어냄 면 가능 불가능 사물을 모 인공적으로 그림 델링 텍스트 바이너리 작음 큼 34 Video 없음 불가능 미리 녹화된 장면 불가능 실제 장면의 녹화 바이너리 큼 Graphics 없음 불가능 그려진 그림 QuickTime VR 없음 제한적 가능 녹화 + 실시 간 불가능 불가능 그림 혹은 사 사진 진 바이너리 바이너리 작음 큼 12장 자바와 VRML의 활용 상호작용: VRML은 사용자와의 상호작용을 훌륭하게 지원 네비게이션: 사용자가 VRML 월드 안으로 들어가 원하는 장소를 살펴볼 수 있으며 Anchor를 통해 다른 문서나 VRML 월드로 이동 가능 장면의 구성: VRML은 장면을 구성하는 요소들에 대한 정보를 가지고 있 기 때문에 상호작용에 의해 실시간으로 변화하는 장면을 만들어 낼 수 있 음 스크립트: 여러가지의 단순하거나 복잡한 상호작용을 만들어 내는 데에 사용되며 마음대로 VRML의 구성요소를 제어 가능 35 12장 자바와 VRML의 활용 12.3.4 VRML의 사용환경 VRML 월드를 탐험하기 위해 필요한 요소: 웹 브라우저(필수), VRML 브라우저(필수), 3차원 가속 보드(권장 사항) 대표적인 VRML 브라우저 • Live3D • Netscape사의 VRML플러그인 • VRML1.0만을 지원 36 12장 자바와 VRML의 활용 • CosmoPlayer • SGI사의 플러그인 • 최신 표준 지원 • 가장 많이 사용되는 브라우저 • 웹 사이트: http://www.cosmosoftware.com • Community Place Browser: • Sony사의 VRML브라우저 • 최신표준을 지원 • Cosmoplayer다음으로 많이 이용됨 • 웹 사이트: http://www.community-place.com 37 12장 자바와 VRML의 활용 12.3.5 QuickTime VR Apple사의 가상현실 기술 사진을 기반으로 소프트웨어적으로 구현하는 가상현실 카메라의 위치를 고정시키고 360도 회전시켜 사물을 찍은 후 이 사진 (파 노라마 사진) 을 이용해 저작도구로 가상현실과 유사한 결과를 생성 좌우, 상하 시선이동이 가능하며 축소, 확대도 가능 Anchor와 유사한 핫스팟(Hot Spot)을 통해 다른 QuickTime VR이나 HTML문서로 이동 가능 38 12장 자바와 VRML의 활용 QuickTime VR 파노라마의 제작과정 (a) 카메라를 제자리 에서 30도씩 회전시키면서 사진 을 찍는다. (b) 이렇게 찍혀진 사 진들을 일렬로 연결 한다. 39 12장 자바와 VRML의 활용 (c) QuickTime VR은 이 사진들을 변형시켜 부드럽게 연결한다. (d)실제로 사용자에게 보여질 때는 변형된 이 미지를 원상태로 돌려 서 보여준다. 40 12장 자바와 VRML의 활용 12.3.6 VRML 브라우저의 사용법 이동용(Movement) 대쉬보드 관찰용(Examine) 대쉬보드 아래에 표시된 부분을 클릭함으로써 대쉬보드를 바꿈. 41 12장 자바와 VRML의 활용 걷기(Walk) 콘트롤 GO 움직이고자 하는 방향으 로 드래그 TILT 자신의 위치 변화 SLIDE 자신의 위치는 그대로 유지한 채로 보이는 화 면을 변화 FLOAT 지면 보다 높은 곳에서 이동 가능 GRAVITY 지면에 붙어서 이동 42 12장 자바와 VRML의 활용 관찰(Examine) 콘트롤 ROTATE 정면의 물체를 회전시킴 PAN 정면의 물체를 평행 이 동 ZOOM 물체로부터 거리 변화 43 12장 자바와 VRML의 활용 기타 콘트롤 44 12장 자바와 VRML의 활용 12.4 VRML의 활용 예 12.4.1 3D 캐릭터 애니메이션 Protozoa(프로토조아) • http://www.protozoa.com • VRML 캐릭터 애니메이션 전문 회사 • 최초의 VRML 만화 'Floops'를 개발한 곳으로 유명 45 12장 자바와 VRML의 활용 Cosmosoftware • http://www.cosmosoftware.com • CosmoPlayer의 홈페이지 • Protozoa에서 개발한 'Floops'가 연재중 46 12장 자바와 VRML의 활용 12.4.2 Lightscape사의 VRML 갤러리 Lightscape • http://www.lightscape. com • 3D 프로그램 Lightscape로 유명한 회사 • VRML과 QuickTime 갤러리 47 12장 자바와 VRML의 활용 12.4.3 VRML을 이용한 배너와 로고 Virtual Gallery • http://www.geometrie.tuw ien.ac.at/virtual.gallery • VRML로 만든 배너와 로 고를 볼 수 있는 곳 48 12장 자바와 VRML의 활용 12.4.4 상호작용식 게임 Shout Interactive • http://www.shoutinteracti ve.com • VRML과 자바를 이용한 게임 • 연재 만화 • VRML을 이용한 광고 배 너 서비스 49