슬라이드 제목 없음

Download Report

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