DOI QR코드

DOI QR Code

Development of an X3D Python Language Binding Viewer Providing a 3D Data Interface

3D 데이터 인터페이스를 제공하는 X3D Python 언어 바인딩 뷰어 개발

  • Received : 2021.01.04
  • Accepted : 2021.03.06
  • Published : 2021.06.30

Abstract

With the increased development of 3D VR applications augmented by recent VR/AR/MR technologies and by the advance of 3D devices, interchangeability and portability of 3D data have become essential. 3D files should be processed in a standard data format for common usage between applications. Providing standardized libraries and data structures along with the standard file format means that a more efficient system organization is possible and unnecessary processing due to the usage of different file formats and data structures depending on the applications can be omitted. In order to provide the function of using a common data file and data structure, this research is intended to provide a programming binding tool for generating and storing standardized data so that various services can be developed by accessing the common 3D files. To achieve this, this paper defines a common data structure including classes and functions to access X3D files with a standardized scheme using the Python programming language. It describes the implementation of a Python language binding viewer, which is an X3D VR viewer for rendering standard X3D data files based on the language binding interface. The VR viewer includes Python based 3D scene libraries and a data structure for creation, modification, exchange, and transfer of X3D objects. In addition, the viewer displays X3D objects and processes events using the libraries and data structure.

최근 VR/AR/MR 기술과 3D 주변 장치의 발전에 의해 3D 가상현실 응용 서비스 개발이 증가하고 있으며 이에 따라 3D 데이터의 호환성과 이식성에 대한 요구가 증가하고 있다. 여러 장치의 응용 프로그램의 데이터를 공동으로 사용할 수 있도록 하기 위해서는 3D 표준 데이터 형식의 파일 처리가 요구된다. 이 때 가상환경 장면 처리에 필요한 공통의 파일 형식과 함께 함수와 변수 클래스들을 표준화된 라이브러리와 데이터구조를 제공한다면 응용 별로 서로 다른 파일 형식과 데이터구조의 사용으로 인해 발생하는 불필요한 처리 과정을 생략할 수 있어서 보다 효율적인 시스템 구성이 가능할 것이다. 본 연구에서는 이러한 공통의 데이터 파일과 데이터구조 사용 기능을 위해서 특정의 프로그래밍 언어를 이용하여 공용의 3D 표준 파일에 접근하여 다양한 서비스를 개발할 수 있도록 표준화된 데이터를 생성하고 저장할 수 있는 프로그래밍 바인딩 도구를 제공하는 것이 목적이다. 이를 위해 본 논문에서는 Python 프로그래밍 언어를 이용하여 X3D 파일을 표준화된 방식으로 접근할 수 있도록 클래스와 함수를 포함하는 공통의 데이터구조를 정의하며 이 언어 바인딩 인터페이스를 기반으로 X3D 장면 데이터 파일을 렌더링 하는 X3D VR 뷰어인 Python 언어 바인딩 뷰어 구현에 대해 기술한다. 이 뷰어는 X3D 오브젝트의 생성, 변경, 교환 및 전송을 위한 Python 기반의 3D 장면 라이브러리들과 데이터구조를 포함한다. 그리고 이를 이용하여 X3D 오브젝트를 디스플레이하고 이벤트들을 처리한다.

Keywords

Acknowledgement

본 연구는 과학기술정보통신부 및 정보통신기획평가원의 대학ICT연구센터 지원사업의 연구결과로 수행되었음(IITP-2021-2016-0-00312).

References

  1. Manolis Savva, Angel X. Chang, Pat Hanrahan, Matthew Fisher, and Matthias Niessner, "SceneGrok: Inferring Action Maps in 3D Environments," ACM Transactions on Graphics (TOG), Vol.33, No.6, pp.1-10, Nov. 2014.
  2. Rui Ma, Honghua Li, Changqing Zou, Zicheng Liao, Xin Tong, and Hao Zhang, "Action-Drive 3D Indoor Scene Evolution," ACM Transactions on Graphics (TOG), Vol.35, No.6, pp.1-13, Nov. 2016
  3. Marc Petit, Henry Boccon-Gibod, and Christophe Mouton, "Evaluating the X3D Schema with Semantic Web Tools," Proceedings of the 17th International Conference on 3D Web Technology (Web3D Conference 2012), Aug. 2012.
  4. X. Cao and M. Klusch, "Advanced Semantic Deep Search for 3D Scenes," 2013 IEEE Seventh International Conference on Semantic Computing, Irvine, CA, pp.236-243, 2013.
  5. Chul-Hee Jung, Mingeun Lee, and Myeong Won Lee, "Development of Exchangeable Character Animation Using a Moion Sensor," J Korean Society for Computer Game, Vol.27, No.4, pp.237-246, Dec. 2014.
  6. Andreas Plesch and Mike McCann, "The X3D geospatial component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator nodes," Proceedings of the 20th International Conference on 3D Web Technology (Web3D Conference 2015), June 2015.
  7. ISO/IEC 19774-1: Humanoid Animation (HAnim): Architecture, 2019.
  8. ISO/IEC 19774-2: Humanoid Animation (HAnim): Motion data animation, 2019.
  9. Jun Liu, Wenzhen Su, and Yu Sun, "3D Model Semantic Automatic Annotation Based on X3D Scene," Proceedings of the 2013 International Conference on Computational and Information Sciences (ICCIS '13). IEEE Computer Society, USA, pp.282-285, 2013.
  10. Xingchao Peng, Baochen Sun, Karim Ali, and Kate Saenko, "Learning Deep Object Detectors from 3D Models," ICCV 2015, Vol.1, pp.1278-1286, 2015.
  11. Stefano Berretti, Mohamed Daoudi, Pavan Turaga, and Anup Basu, "Representation, Analysis, and Recognition of 3D Humans: A Survey," ACM Transactions on Multimedia Computing, Communications, and Applications, Vol.14, Iss.1s, pp.1-36, 2018.
  12. Olavo da Rosa Belloc, Rodrigo B. D. Ferraz, Marcio Calixto Cabral, Roseli de Deus Lopes, and Marcelo Knorich Zuffo, "Virtual Reality Procedure Training Simulators in X3D," Proceedings of the 17th International Conference on 3D Web Technology (Web3D Conference 2012), Aug. 2012.
  13. Jan Schilbach, "An event-based framework for animations in X3D," Proceedings of the 17th International Conference on 3D Web Technology (Web3D Conference 2014), Aug. 2014.
  14. ISO/IEC 14772-1: 1997 and ISO/IEC 14772-2: 2004, VRML 97 Functional and EAI, ISO/IEC, 2004.
  15. ISO/IEC 19775-1: 2013 Extensible 3D (X3D) Architecture and base components V3, ISO/IEC, 2013.
  16. ISO/IEC 19775-2: 2015 Extensible 3D (X3D) Scene Access Interface, 2015, ISO/IEC, 2015.
  17. Khronos Group, COLLADA 1.4 Quick Reference, Lulu.com, 2014.
  18. Mark Barnes. "COLLADA" SIGGRAPH'06: ACM SIGGRAPH 2006 Courses, Jul. 2006.
  19. Arne Schilling, Jannes Bolling, and Claus Nagel, "Using glTF for streaming CityGML 3D city models," Proceedings of the 21st International Conference on Web3D Technology (Web3D 2016), pp.109-116, Jul. 2016.
  20. ISO/IEC 19777-1: 2006 Extensible 3D (X3D) language bindings: ECMAScript, ISO/IEC, 2006.
  21. ISO/IEC 19777-2: 2006 Extensible 3D (X3D) language bindings: Java, ISO/IEC, 2006.