고적발굴지를 대상으로 한 저작도구 개발 3학년 김소희
고적지 프로그램의 웹상에서의 배포 2014.02.05 10’ 김소희
대목차 원기둥 만들기 원기둥 샘플링/저화질 교체 회전,확대축소,스팟 450회 기념 특별 세미나 고적지프로그램의 웹상에서의 배포1 고적지프로그램의 웹상에서의 배포2 고적지프로그램의 웹상에서의 배포 3
목차 원기둥 만들기 원기둥 맵핑 Gigapan사진 촬영 문제점 구현화면 앞으로의 계획 참고문헌
고적발굴지를 대상으로한 저작도구 개발 2013.08.16 10’ 김소희
r a b 원기둥 만들기(1/2) (a,b) a = (float) (r * Math.sin(angle)); b = (float) (r * Math.cos(angle)); (a,b) (a,b) angle r 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의 다음 좌표 를 수동으로 불러와 좌표들을 연결시켜 그려줌
원기둥 맵핑(3/3)
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을 작성 웹상에서 프로그램을 구동 시키기 위해서는 우선 class파일과 파일 구조를 나타내는 manifest.mf 파일을 .jar파일로 만들어 준 후, .jar파일에 대한 인증을 위해여 키를 생성해 주어야 한다. 이는 이클립스를 이용하거나, 수동으로 생성할 시 방법이 복잡하고 까다롭우나, NetBeans를 이용하면 쉽게 .jar파일을 생성할 수 있으므로 NetBeans를 이용하여 생성해 준다. 이 후 .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 별칭
NetBeans를 이용한 서명
키 저장소를 설치하지 않았을 경우
.jar의 서명전과 서명후
생성된 .jar
문제점 NetBeans에서 Run시 작동이 잘 되는 것을 확인 했지만, launch.html에서 실행 시 문제 발생
문제점 NetBeans에서 Run시 작동이 잘 되는 것을 확인 했지만, launch.html에서 실행 시 문제 발생
고적지 프로그램의 웹상에서의 배포 2014.01.15 10’ 김소희
소목차 JWS오류 해결 Jnlp파일 수정 JWS 구현화면 Jsmooth란? Jsmooth Jsmooth 구현화면 앞으로의 계획 참고문헌
JWS 문제점 해결 NetBeans에서 Run시 작동이 잘 되는 것을 확인 했지만, launch.html에서 실행 시 문제 발생 launch.html에서 실행 시
JWS 문제점 해결 일반적으로 웹서버의 mime이 설정되어 있지않은 경 우 발생 => mime이 제대로 설정되어 있었음 넷빈즈를 다시 설치 => 오류 해결
Jnlp파일 수정 APM SETUP을 이용해 로컬호스트를 설정 codebase: jnlp파일의 href속성으로 지정된 상대 ulr은 모두 이 ulr을 기준으로서 처리 href : jnlp파일의 링크가 걸려있는 html페이지 Security : 무제한의 엑세스 권한을 요구할 수 있음
JWS 구현화면
Jsmooth란? 자바 어플리케이션의 .jar파일이 있다면 실행파일(exe) 을 생성해 주는 프로그램 비교적 사용하기가 간편하고 쉬움
Jsmooth(1/4) AWT 프로그램 => Windowed Wrapper 콘솔 프로그램 => Console Wrapper
Jsmooth(2/4) 파일을 생성할 위치 지정 파일명.exe 형식으로 해야함
Jsmooth(3/4) Jar파일을 선택 후 Main Class를 선택 마지막으로 톱니바퀴 모양을 클릭
Jsmooth(4/4)
Jsmooth 구현화면
Jsmooth 문제점 하지만 이처럼 실행파일(exe)를 만든다 하여도 완벽한 독립 실행파일은 되지 못하며, JVM 설치여하에 따라 동작/비 동작 할 수 있으며, Jsmooth 를 이용하여 제작 된 exe 실행 프로그램 역시, 제작한 PC이외에 타 PC에 서 실행될 확률이 비교적 불안정 고적지프로그램(jogl)은 exe파일이 생성되지 않음
앞으로의 계획 JWS를 이용해 test 프로그램이 아닌 고적지 프로그 램을 로컬호스트가 아닌 웹에서의 배포
참고문헌 http://eureka7.com.ne.kr/jdk-1_5_0-Korean- doc/docs/guide/javaws/developersguide/syntax.ht ml http://blog.naver.com/mcgy0072?Redirect=Log&log No=5579988 http://blog.naver.com/PostView.nhn?blogId=orphe us2001&logNo=120055407966 http://blog.naver.com/PostView.nhn?blogId=barla ck&logNo=60012502238
고적지 프로그램의 웹상에서의 배포 2014.01.24 10’ 김소희
소목차 JWS오류 해결 Jnlp파일 수정 JWS 구현화면 Jsmooth란? Jsmooth Jsmooth 구현화면 앞으로의 계획 참고문헌
Jogl의 JWS Jogl을 웹상에서 배포하기 위해서는 Jogl에 연관된 .Jar 이 필요 -jogl.jar -gluegen-rt.jar -rt.jar -swt-opengl-windows_0.7.0.jar
JWS 오류 NetBeans에서 Run시 실행이 되지만 웹상에서 실행시 다음과 같은 오류 발생
LIBPATH,LD_LIBRARY_PATH JWS 문제점 해결 Java.lang.UnsatisfiedLinkError: no jogl in java.library.path =>”JVM”이 ‘jogl’이라는 네이티브 라이브러리를 찾을 수 없다 Native library path를 설정해 주는 방법 시스템 방법 AIX LIBPATH,LD_LIBRARY_PATH OS/2 LIBPATH Windows NT/95 PATH Solaris LD_LIBRARY_PATH HP/UX SHLIB_PATH
JWS 문제점 해결 윈도우 환경이기 때문에 환경 변수에 해당 라이브러 리 경로를 추가해 주거나 아래와 같이 자바 실행 옵션 에 추가 java –Djava.library.path = 라이브러리 경로 클래스명
Jnlp파일의 수정
JWS의 웹상에서의 배포 CG홈페이지 서버에서 test
JWS의 문제점 64bit에서만 실행됨(32bit 실행 불가능) 다운로드 받는데 시간이 오래 걸림
참고문헌 http://justiceheon.blog.me/150174488328http://b log.naver.com/mcgy0072?Redirect=Log&logNo=55799 88 http://blog.naver.com/PostView.nhn?blogId=orphe us2001&logNo=120055407966 http://blog.naver.com/PostView.nhn?blogId=barla ck&logNo=60012502238
고적지 프로그램의 웹상에서의 배포 2014.02.05 10’ 김소희
소목차 JWS 오류 JWS 오류 해결 JOGL의 JWS 필요 라이브러리 구현화면 앞으로의 계획 참고문헌
JWS 오류 Java.lang.UnsatisfiledLinkError: no jogl in java.library.path
JWS 오류 해결 Jogl의 경로를 찾을 수 없다는 에러로 jnlp파일의 소스를 아래와 같이 고쳐 주어야 함 32비트 윈도우 64비트 윈도우 32비트 64비트 모두 가능한 윈도우
JOGL의 JWS배포를 위한 필수 라이브러리 Library Dill파일
구현화면 http://cglab.hs.ac.kr/shtest/launch.html
참고문헌 http://blog.naver.com/seektruthyb?Redirect=Log& logNo=150114938884 http://mindprod.com/jgloss/jnlp.html http://forum.jogamp.org/no-jogl-in-java- library-path-Error-td4026357.html
앞으로의 계획 WebGL을 통해 웹상에서의 고적지 프로그램의 개발