Creating realistic virtual worlds requires fast, detailed physical simulations. Traditional simulation techniques based on discretization in time and space must trade speed for detail. Frequently, this tradeoff results in either coarse, unrealistic simulation, or slower-than-realtime response. Data-driven simulation techniques avoid this tradeoff by operating on compact representations of simulation state, which can be updated quickly due to their small size. These representations are learned from training simulations that resemble the runtime output we want the simulation to produce.
In this thesis, we greatly expand the scope of data-driven simulation in practical applications by answering three important questions. First, how can we reconfigure simulation domains at runtime? While simple forms of data-driven simulation operate in a monolithic fashion, we show how one important data-driven simulation technique can be extended to create modular simulation tiles that can be rearranged at runtime. Second, how can we simulate a wide variety of phenomena? One popular data-driven simulation method, Galerkin projection, only works for simulations with polynomial dynamics. We present an extension of Galerkin projection to dynamics that include division and roots, enabling its application to new phenomena. Finally, how can we ensure that we select appropriate training data? Selecting good training data is critical to ensure good speed and realism from data-driven simulations. We describe a method for building continually-improving data-driven simulations that use recordings of user interactions to guide their selection of training data, guaranteeing that the simulation is trained with data appropriate to its actual runtime use. These contributions move us closer to the ability to create detailed, immersive, interactive simulations of any phenomenon.
Adrien Treuille (Chair)
Doug James (Cornell University)