860 likes | 1.17k Views
고적발굴지를 대상으로 한 저작도구 개발. 3 학년 김소희. 고적지 프로그램의 웹상에서의 배포. 2014.02.05 10’ 김소희. 대목차. 원기둥 만들기 원기둥 샘플링 / 저화질 교체 회전 , 확대축소 , 스팟 450 회 기념 특별 세미나 고적지프로그램의 웹상에서의 배포 1 고적지프로그램의 웹상에서의 배포 2 고적지프로그램의 웹상에서의 배포 3. 목차. 원기둥 만들기 원기둥 맵핑 Gigapan 사진 촬영 문제 점 구현화면 앞으로의 계획 참고문 헌.
E N D
고적발굴지를 대상으로 한 저작도구 개발 3학년김소희
고적지 프로그램의 웹상에서의 배포 2014.02.05 10’ 김소희
대목차 • 원기둥 만들기 • 원기둥 샘플링/저화질 교체 • 회전,확대축소,스팟 • 450회 기념 특별 세미나 • 고적지프로그램의 웹상에서의 배포1 • 고적지프로그램의 웹상에서의 배포2 • 고적지프로그램의 웹상에서의 배포 3
목차 • 원기둥 만들기 • 원기둥 맵핑 • Gigapan사진 촬영 • 문제점 • 구현화면 • 앞으로의 계획 • 참고문헌
고적발굴지를대상으로한 저작도구 개발 2013.08.16 10’ 김소희
원기둥 만들기(1/2) • a = (float) (r * Math.sin(angle)); • b = (float) (r * Math.cos(angle)); r (a,b) angle (a,b) r a angle b
원기둥 만들기(2/2) • H라는 높이를 주어 map_max_y에 따라 기둥이 올라갈수 있도록 높이를 설정 20
원기둥 맵핑(1/3) • 현재 불러온 사진의 x축 개수는 21개로 홀수 • angle은 2를 기점으로 21개로 쪼개져야 하지만 홀수기 때문에 21로 설정 시 정확히 21개로 쪼개지지 않아 20.9999의 수를 하니 21개의 사진 모두 맵핑됨
원기둥 맵핑(2/3) • 이전에는 스트립 삼각형의 a,b두개의 좌표만을 이용해 원기둥을 그려준 후 폴리곤을 이용해 채워 주는 방식을 사용하였었는데, 이 방식을 이용할 경우 사진이 제대로 불러와 지지 않아 a,b의 다음 좌표를 수동으로 불러와 좌표들을 연결시켜 그려줌
Gigapan사진촬영 • 창경궁과, 융건능, 학교 운동장등을 통해 Gigapan사진 촬영기법에 대해 익히고 실제 고적지에서도 찍을수 있도록 익힘
문제점 • 기존의 고화질 교체 부분에서 기존에 교체되는 방식은 사용 가능하지만, 원기둥으로 바뀌면서 확대 시 언제 교체해야 할지 조건을 찾는 중
앞으로의 계획 • 고화질 교체 완성 • 맵핑시 겹치는 부분 맵핑 수정
참고문헌 • OpenGL Super Bible,정보문화사,Richard S. Wright외 3명,정보문화사,p142~p147
고적발굴지를대상으로한 저작도구 개발 2013.09.03 10’ 김소희
목차 • 원기둥 샘플링 • 사진 겹치기 • Gigapan촬영 • 고화질 교체
원기둥 샘플링(1/2) • 픽킹을 이용한 스팟 구현과,사진의 겹치는 부분을 맞춰주기 위해 샘플링이 필요
원기둥 샘플링(2/2) • 원기둥 샘플링 원기둥의 좌표인 a,b,a2,b2의 sin,cos의 각도를 X,Y라는 for문의 반복적인 SAMPLING변수를 이용해 증가시켜 시도
사진 겹치기 • 샘플링을 기준으로 사진 맵핑시 그려주는 좌표를 겹치게 해 주어서 사진 맵핑
Gigapan 사진 촬영(1/2) • 실제 프로젝트에 쓰일 무령왕능 사진을 찍음
Gigapan사진 촬영(2/2) • 무령왕능 내부는 구형태로 촬영
고화질 교체 • 평면에서 원기둥으로 바뀌면서 기존의 기준치가 달라져 고화질 교체가 되지 않는 문제점이 발생 lookx라는 변수를 주어 기준치를 바꿔보았으나 교체되지 않음
앞으로의 계획 • 고화질 저화질 교체 • 스팟
고적발굴지를 대상으로 한 저작도구 개발 2013.09.03 10’ 김소희
목차 • 실린더 스크린 회전 • 스팟 • 구현화면
실린더 스크린 회전 • 기존에는 카메라의 시점변환을 통해 회전을 하였지만 원기둥 자체를 회전하는 방식으로 변환 • 버텍스들로 구성된 행렬을 모델 뷰 행렬과 곱해줌 원기둥 회전은 z축 중심으로 회전하기 떄문에z축 행렬만 필요
스팟(1/3) • 스팟 정보를 가진 txt파일을 생성 spot_size spot_image spot_height spot_degree
스팟(2/3) • 읽어들인스팟txt파일의 정보를 이용해 버텍스 좌표를 찍어 준 뒤 그려줌
스팟(3/3) • 실린더 스크린 회전에서 원기둥 자체를 회전 시키기 때문에 스팟 또한 동시에 원기둥과 함께 회전을 시켜 주어야 함
구현화면 • 스팟ID값을 아직 부여하지 못함 • 고화질 저화질 교체 필요
앞으로의 계획 • 고화질 저화질 교체 • 스팟의ID값을 부여해 스팟 정보 파일 읽기
소목차 • 현재까지의 연구 • 현재 진행중인 연구
고적지 발굴을 대상으로 한 가상탐사 프로그램 정보 제공 영상 데이터 영상 정보 실린더형 스크린
영상데이터 맵핑 실린더 형 좌표계로 투영한 통합 사진 • 수직 수평 분할로 촬영된 사진들을 좀 더 현실감 있게 이어 붙이기 위해서는 • 실린더 형태의 스크린이 필요
실린더 형 스크린 좌표 구성 • 삼각폴리곤모델을 구성하여 이를 이용하여 실린더 스크린을 구현 • 실린더 스크린 상의 삼각폴리곤의 정점 좌표 결정과 삼각 폴리곤 수 : 사진 수를 고려해 결정 • 이 후 실린더형좌표계의 구성에 맞춰 정점 좌표를 구성 정점 삼각 폴리곤 모델
스팟 • 사용자들에게 고적지에 대한 상세 정보를 알려주기 위해 고적지의 특정 부분을 클릭했을 경우 이벤트가 발생하도록 함 • 스팟을 구현하기 위해 픽킹을 이용 • 픽킹 시 물체마다 부여된 고유의 ID값을 비교 • 선택된 객체가 스팟으로지정되있는경우 클릭된 객체에 대한 상세정보를 보여줌
JWS • 웹을통해 자바 어플리케이션 프로그램을 배포하는 기술 • 프로그램을 Java Web Start Client가 다운받아 실행하는 형식 • 클라이언트가 어플리케이션의 정보를 담고 있는 JNLP파일을 요청하여,JWS가 이를 다운받고 어플리케이션을 실행할 수 있도록 함 • 클라이언트 측에는 반드시 JWS가 설치되어 있어야 함 • JNLP파일 요청 시 JWS가 설치되어 있는지 확인하여 JWS를 설치하고, 프로그램을 실행할 수 있음
JWS 배포 절차 • class파일과 파일 구조를 나타내는 manifest.mf 파일을 .jar파일로 만들어 준 후, .jar파일에 대한 인증을 위해 키를생성 • NetBeans를 이용하면 쉽게 .jar파일 생성 가능 • .jar파일의 배포를 위하여 웹서버를 설정해 주고, .jnlp파일을 생성한뒤 Html을 작성
배포시 주의사항 • 프로그램 상에서의 데이터는 getClassLoader()를 이용하여 불러올 것 • URL imageFile = getClass().getClassLoader().getResource("image/us.gif");
Jar생성을 위한설정 • propertiese
Jar생성을 위한설정 • propertiese
Jar생성을 위한설정 • 필요한 모든 .jar파일에 서명을 하기 위하여 lib와 dll을 추가 후 실행
Jar생성을 위한설정 • 라이브러리 파일만을 포함한 .jar파일 생성
서명을 위한 키 저장소 생성 • Keytool의 위치 : java/jdk/jre/bin • keytool -genkey -keystore keystoreName–alias별칭