Skip to main content
Log in

Automated Synthesis of Numerical Programs for Simulation of Rigid Mechanical Systems in Physics-Based Animation

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Physics-based animation programs are important in a variety of contexts, including science, engineering, education and entertainment among others. Manual construction of such programs is expensive, time-consuming and prone to error. We have developed a system for automatically synthesizing physics-based animation programs for a significant class of problems: constrained systems of rigid bodies, subject to driving and dissipative forces, under the control of an interactive user. Our system includes a graphical interface for specifying a physical scenario, including objects, geometry and coordinate systems, along with a symbolic interface for specifying dynamical variables, forces and constraints operating in the scenario. The entities defined in the graphical interface serve as the underlying vocabulary for specifications entered in the symbolic interface. Our system partitions the constraints and dynamical variables into classes and assigns each class to be implemented in a different component of a general simulation program scheme. It generates a numerical C++ simulation program that drives a real-time animation of the specified scenario. Our system is implemented as a collection of rewrite rules in the Mathematica programming language. Our approach provides some of the benefits of formal deductive program synthesis, while keeping the computational costs of program synthesis more in line with conventional program generator technology. We have successfully tested our system on numerous examples.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Akers, R., Baffes, P., Kant, E., Randall, C., Steinberg, S., and Young, R. 1998. Automatic synthesis of numerical codes for solving partial differential equations. Mathematics and Computers in Simulation, 45.

  • Baruh, H. 1999. Analytical Dynamics. WCB/McGraw-Hill.

  • Blaine, L., Gilham, L., Liu, J., Smith, D., and Westfold, S. 1998. Planware-Domain-specific synthesis of high-performance schedulers. Proceedings of the Thirteenth Automated Software Engineering Conference, Los Alamitos, CA: IEEE Computer Society Press.

    Google Scholar 

  • Ellman, T. and Murata, T. 1998. Deductive synthesis of numerical simulation programs from networks of algebraic and ordinary differential equations. Automated Software Engineering, 5(3).

  • Ellman, T., Keane, J., Banerjee, A., and Armhold, G. 1998. A transformation system for interactive reformulation of design optimization strategies. Research in Engineering Design, 10(1).

  • Ellman, T. 2003. Specification and synthesis of hybrid automata for physics-based animation. In Proceedings of the 18th IEEE International Conference on Automated Software Engineering, Montreal, Canada. In press.

  • Ellman, T., Deak, R., and Fotinatos, J. 2002. Knowledge-based synthesis of numerical simulation programs for rigid-body systems in physics-based animation. Proceedings of the 17th IEEE International Conference on Automated Software Engineering, Edinburgh, UK.

  • Fischer, B. and Schumann, J. 2003. AutoBayes: A system for generating data analysis programs from statistical models. Journal of Functional Programming, In press.

  • Gray, A., Fischer, B., Schumann, J., and Buntine, W. 2002. Deriving statistical algorithms automatically: The EM family and beyond. Proceedings of the Conference on Neural Information Processing Systems, Vancouver, Canada.

  • Hartl, R., Sethi, S., and Vickson, R. 1995. A survey of the maximum principles for optimal control problems with state constraints. SIAM Review, 37(2).

  • Haug, E. 1989. Computer-aided kinematics and dynamics of mechanical systems. Boston, MA: Allyn & Bacon.

    Google Scholar 

  • Kant, E. 1993. Synthesis of mathematical modeling software. IEEE Software, 10(3).

  • Kowalski, A. and Peskin, R. 1990. Anatomy of AGNES: An automatic generator of numerical equation solutions. In E.N. Houstis, editor, Intelligent Mathematical Software Systems, New York, NY: Elsevier Science Publishers.

    Google Scholar 

  • Lowry, M., Philpot, A., Pressberger, T., and Underwood, I. 1994. A formal approach to domain-oriented software design environments. Proceedings of the Ninth Knowledge-Based Software Engineering Conference, Monterey, CA.

  • Lowry, M. and Van Baalen, J. 1997. Meta-amphion: Synthesis of efficient domain-specific program synthesis systems. Automated Software Engineering, 4(2).

  • Manna, Z. and Waldinger, R. 1992. Fundamentals of deductive program synthesis. IEEE Transactions on Software Engineering, August.

  • Pissanetsky, S. 1984. Sparse Matrix Technology. Academic Press.

  • Press, W., Vetterling, W., Teukolsky, S., and Flannery, B. 1986. Numerical Recipes. New York, NY: Cambridge University Press.

    Google Scholar 

  • Roach, S. and Van Baalen, J. 2002. Experience report on automated procedure construction for deductive synthesis. In Proceedings of the 17th IEEE International Conference on Automated Software Engineering, Edinburgh, UK.

  • Rosu, G. and Whittle, J. 2002. Towards certifying domain specific properties of synthesized code. Proceedings of the 17th IEEE International Conference on Automated Software Engineering, Edinburgh, UK.

  • Schumann, J., Fischer, B., Whalen, M., and Whittle, J. 2003. Certification support for automatically generated programs. Proceedings of the 36th Hawaii International Conference on System Sciences.

  • Srivastava, B. and Kambhampati, S. 1998. Synthesizing customized planners from specifications. Journal of Artificial Intelligence Research, 8.

  • Van Engelen, R., Wolters, L., and Cats, G. 1997. Tomorrow's weather forecast: Automatic code generation for atmospheric modeling. IEEE Computational Science & Engineering, 4(3).

  • Van Der Schaft, A. and Schumacher, H. 2000. An introduction to hybrid dynamical systems. Lecture Notes in Control and Information Sciences, Springer-Verlag, vol. 251.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ellman, T., Deak, R. & Fotinatos, J. Automated Synthesis of Numerical Programs for Simulation of Rigid Mechanical Systems in Physics-Based Animation. Automated Software Engineering 10, 367–398 (2003). https://doi.org/10.1023/A:1025811105984

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1025811105984

Navigation