An Example-Based Approach to the Synthesis of Rube Goldberg Machines

루브 골드버그 기계의 합성을위한 예제 기반 접근방법

  • 이강훈 (광운대학교 컴퓨터소프트웨어학과)
  • Received : 2014.05.14
  • Accepted : 2014.05.29
  • Published : 2014.06.01

Abstract

We present an example-based approach to synthesizing physically simulated Rube Goldberg machines in which a series of rigid body elements are sequentially triggered and driven along the causal chain. Given a set of elements, our goal is to automatically instantiate and arrange those elements to meet the user-specified requirements including the start and end positions, and the boundary of movement. To do so, we first sample small-scale machines consisting of only a few elements randomly, and represent the connectivity between every pair of components as a graph structure. Searching over possible paths in this graph solves our problem by finding a path that can be unrolled to satisfy the given requirements, and then assembling components sequentially along the solution path. In order to ensure that the machine works precisely in a physically simulated environment, we finally elaborate the layout of assembled components by a simple greedy algorithm. We demonstrate the usefulness of our approach by displaying a large diversity of Rube Goldberg machines built with only five kinds of elements.

본 논문은 물리 시뮬레이션 환경에서 일련의 강체요소가 인과사슬에 따라 연쇄적으로 구동되는 가상의 루브 골드버그 기계를 합성하기 위한 예제 기반 접근방법을 제안한다. 일련의 요소 집합이 주어졌을 때, 본 논문의 목표는 사용자가 명시한 이동의 시작 및 종료위치, 그리고 경계 영역 조건을 만족하는 범위에서 이들 요소로만 구성된 루브 골드버그 기계를 자동으로 구축하는 것이다. 이를 위하여, 먼저 적은 개수의 요소로 구성된 소규모 컴포넌트들을 무작위로 추출한 후 모든 컴포넌트 쌍에 대한 결합 가능성을 하나의 그래프 구조로 표현한다. 이 그래프 위에서의 경로 탐색을 통하여 공간 상에 펼쳤을 때 사용자가 지정한 요구 조건을 만족시키는 경로를 찾고, 해당 경로에 따라 순차적으로 컴포넌트를 조립함으로써 기계를 구축한다. 완성된 기계가 물리 시뮬레이션 환경에서 정확히 동작함을 보장하기 위하여, 끝으로 간단한 그리디 알고리즘을 적용하여 조립된 컴포넌트들의 위치를 정교하게 조절한다. 다섯 종류의 요소만을 이용하여 만든 다양한 구조의 루브 골드버그 기계를 보임으로써 본 논문에서 제안한 방법의 유용성을 보인다.

Keywords

References

  1. M. F.Wolfe, Rube Goldberg: Inventions! Simon & Schuster, 2011.
  2. Y. Kim and N. Park, "Development and application of steam teaching model based on the rube goldberg's invention," in Computer Science and its Applications, 2012, vol. 203, pp. 693-698. https://doi.org/10.1007/978-94-007-5699-1_70
  3. T. Ijiri, R. Mech, T. Igarashi, and G. Miller, "An examplebased procedural system for element arrangement," Computer Graphics Forum, vol. 27, no. 2, pp. 429-436, 2008. https://doi.org/10.1111/j.1467-8659.2008.01140.x
  4. M.-M. Cheng, F.-L. Zhang, N. J. Mitra, X. Huang, and S.-M. Hu, "Repfinder: Finding approximately repeated scene elements for image editing," ACM Trans. Graph., vol. 29, no. 4, pp. 83:1-83:8, 2010.
  5. Y. Liu,W.-C. Lin, and J. Hays, "Near-regular texture analysis and manipulation," ACM Trans. Graph., vol. 23, no. 3, pp. 368-376, 2004. https://doi.org/10.1145/1015706.1015731
  6. C. Ma, L.-Y. Wei, and X. Tong, "Discrete element textures," ACM Trans. Graph., vol. 30, no. 4, pp. 62:1-62:10, 2011.
  7. T. Funkhouser, M. Kazhdan, P. Shilane, P. Min, W. Kiefer, A. Tal, S. Rusinkiewicz, and D. Dobkin, "Modeling by example," ACM Trans. Graph., vol. 23, no. 3, pp. 652-663, 2004. https://doi.org/10.1145/1015706.1015775
  8. Y. Zheng, D. Cohen-Or, and N. J. Mitra, "Smart variations: Functional substructures for part compatibility," Computer Graphics Forum, vol. 32, no. 2pt2, pp. 195-204, 2013.
  9. P. Muller, G. Zeng, P. Wonka, and L. Van Gool, "Imagebased procedural modeling of facades," ACM Trans. Graph., vol. 26, no. 3, 2007.
  10. L.-F. Yu, S.-K. Yeung, C.-K. Tang, D. Terzopoulos, T. F. Chan, and S. J. Osher, "Make it home: Automatic optimization of furniture arrangement," ACM Trans. Graph., vol. 30, no. 4, pp. 86:1-86:12, 2011.
  11. A. Schodl, R. Szeliski, D. H. Salesin, and I. Essa, "Video textures," in Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques, 2000, pp. 489-498.
  12. A. Agarwala, K. C. Zheng, C. Pal, M. Agrawala, M. Cohen, B. Curless, D. Salesin, and R. Szeliski, "Panoramic video textures," ACM Trans. Graph., vol. 24, no. 3, pp. 821-827, 2005. https://doi.org/10.1145/1073204.1073268
  13. J. Lee, J. Chai, P. S. A. Reitsma, J. K. Hodgins, and N. S. Pollard, "Interactive control of avatars animated with human motion data," ACM Trans. Graph., vol. 21, no. 3, pp. 491- 500, 2002.
  14. K. H. Lee, M. G. Choi, and J. Lee, "Motion patches: Building blocks for virtual environments annotated with motion data," ACM Trans. Graph., vol. 25, no. 3, pp. 898-906, 2006. https://doi.org/10.1145/1141911.1141972
  15. M. Kim, Y. Hwang, K. Hyun, and J. Lee, "Tiling motion patches," in Proceedings of the ACM SIGGRAPH/ Eurographics Symposium on Computer Animation, 2012, pp. 117-126.
  16. T. Kwon, K. H. Lee, J. Lee, and S. Takahashi, "Group motion editing," ACM Trans. Graph., vol. 27, no. 3, pp. 80:1-80:8, 2008.
  17. B. Yersin, J. Maim, J. Pettre, and D. Thalmann, "Crowd patches: Populating large-scale virtual environments for realtime applications," in Proceedings of the 2009 Symposium on Interactive 3D Graphics and Games, 2009, pp. 207-214.
  18. L. Zhu, W. Xu, J. Snyder, Y. Liu, G. Wang, and B. Guo, "Motion-guided mechanical toy modeling," ACM Trans. Graph., vol. 31, no. 6, pp. 127:1-127:10, 2012.
  19. S. Coros, B. Thomaszewski, G. Noris, S. Sueda, M. Forberg, R. W. Sumner, W. Matusik, and B. Bickel, "Computational design of mechanical characters," ACM Trans. Graph., vol. 32, no. 4, pp. 83:1-83:12, 2013.
  20. D. Ceylan, W. Li, N. J. Mitra, M. Agrawala, and M. Pauly, "Designing and fabricating mechanical automata from mocap sequences," ACM Trans. Graph., vol. 32, no. 6, pp. 186:1- 186:11, 2013.
  21. J. Popovic, S. M. Seitz, M. Erdmann, Z. Popovic, and A. Witkin, "Interactive manipulation of rigid body simulations," in Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques, 2000, pp. 209-217.
  22. C. D. Twigg and D. L. James, "Many-worlds browsing for control of multibody dynamics," ACM Trans. Graph., vol. 26, no. 3, 2007.