I'm currently a research scientist at Adobe. I received my Ph.D. from the Cornell Computer Science
Graphics Lab where I was advised by
Doug James.
My research interests include physically-based animation and physical simulation,
with a focus on acoustics.
I aim to make it easier and more
efficient to simulate various phenomena, and also to make it easier
to create physically realistic animations.
Internships @ Adobe Research: If you are a PhD student interested in doing a
research internship at Adobe and/or collaborating on a project with me, send an
e-mail. It will be helpful if you include a CV and a summary of your current
research interests.
Education
Ph.D., Computer Science
Cornell University
2011-2016
B.S., Computer Engineering
University of Massachusetts Amherst
2005-2009
Activities
Technical paper reviewer: SIGGRAPH, SIGGRAPH Asia, ACM TON, ECCV, TVCG, IEEE VR, CGF, Pacific Graphics
Member of Adobe Employee Community Fund grant committee
Improved Water Sound Synthesis Using Coupled Bubbles
Kangrui Xue, Ryan M. Aronson, Jui-Hsien Wang, Timothy R. Langlois, Doug L. James
ACM Transactions on Graphics (SIGGRAPH 2023)
We introduce a practical framework for synthesizing bubble-based water sounds that captures the rich inter-bubble coupling effects responsible for low-frequency acoustic emissions from bubble clouds. We propose coupled bubble oscillator models with regularized singularities, and techniques to reduce the computational cost of time stepping with dense, time-varying mass matrices. Airborne acoustic emissions are estimated using finite-difference time-domain (FDTD) methods. We propose a simple, analytical surface acceleration model, and a sample-and-hold GPU wavesolver that is simple and faster than prior CPU wavesolvers. Sound synthesis results are demonstrated using bubbly flows from incompressible, two-phase simulations, as well as procedurally generated examples using single-phase FLIP fluid animations. Our results demonstrate sound simulations with hundreds of thousands of bubbles, and perceptually significant frequency transformations with fuller low-frequency content.
@article{Xue:2023:Coupled,
author = {Xue, Kangrui and Aronson, Ryan M and Wang, Jui-Hsien and Langlois, Timothy R and James, Doug L},
title = {Improved Water Sound Synthesis using Coupled Bubbles},
year = {2023},
issue_date = {August 2023},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {42},
number = {4},
journal = {ACM Trans. Graph.},
month = {aug},
}
Qiaodong Cui, Timothy Langlois, Pradeep Sen, and Theodore Kim
ACM Transactions on Graphics (SIGGRAPH Asia 2021)
We introduce a fast, expressive method for simulating fluids over radial domains, including discs, spheres, cylinders, ellipses, spheroids, and tori. We do this by generalizing the spectral approach of Laplacian Eigenfunctions, resulting in what we call spiral-spectral fluid simulations. Starting with a set of divergence-free analytical bases for polar and spherical coordinates, we show that their singularities can be removed by introducing a set of carefully selected enrichment functions. Orthogonality is established at minimal cost, viscosity is supported analytically, and we specifically design basis functions that support scalable FFT-based reconstructions. Additionally, we present an efficient way of computing all the necessary advection tensors. Our approach applies to both three-dimensional flows as well as their surface-based, codimensional variants. We establish the completeness of our basis representation, and compare against a variety of existing solvers.
Humans routinely sit or lean against supporting surfaces and it is important to shape these surfaces to be comfortable and
ergonomic. We give a method to design the geometric shape of rigid supporting surfaces to maximize the ergonomics of physically
based contact between the surface and a deformable human. We model the soft deformable human using a layer of FEM deformable
tissue surrounding a rigid core, with measured realistic elastic material properties, and large-deformation nonlinear analysis. We define
a novel cost function to measure the ergonomics of contact between the human and the supporting surface. We give a stable and
computationally efficient contact model that is differentiable with respect to the supporting surface shape. This makes it possible to
optimize our ergonomic cost function using gradient-based optimizers. Our optimizer produces supporting surfaces superior to prior
work on ergonomic shape design. Our examples include furniture, apparel and tools. We also validate our results by scanning a real
human subject’s foot and optimizing a shoe sole shape to maximize foot contact ergonomics. We 3D-print the optimized shoe sole,
measure contact pressure using pressure sensors, and demonstrate that the real unoptimized and optimized pressure distributions
qualitatively match those predicted by our simulation.
Zachary Ferguson, Minchen Li, Teseo Schneider, Francisca Gil-Ureta, Timothy Langlois, Chenfanfu Jiang, Denis Zorin, Danny M. Kaufman, and Daniele Panozzo
ACM Transactions on Graphics (SIGGRAPH 2021)
We introduce the first implicit time-stepping algorithm for rigid body dynamics, with contact and friction, that guarantees intersection-free configurations at every time step.
Our algorithm explicitly models the curved trajectories traced by rigid bodies in both collision detection and response. For collision detection, we propose a conservative narrow phase collision detection algorithm for curved trajectories, which reduces the problem to a sequence of linear CCD queries with minimal separation. For time integration and contact response, we extend the recently proposed incremental potential contact framework to reduced coordinates and rigid body dynamics.
We introduce a benchmark for rigid body simulation and show that our approach, while less efficient than alternatives, can robustly handle a wide array of complex scenes, which cannot be simulated with competing methods, without requiring per-scene parameter tuning.
@article{Ferguson:2021:RigidIPC,
title = {Intersection-free Rigid Body Dynamics},
author = {Zachary Ferguson and Minchen Li and Teseo Schneider and Francisca Gil-Ureta and Timothy Langlois and Chenfanfu Jiang and Denis Zorin and Danny M. Kaufman and Daniele Panozzo},
year = 2021,
journal = {ACM Transactions on Graphics (SIGGRAPH)},
volume = 40,
number = 4,
articleno = 183
}
Incremental Potential Contact: Intersection- and Inversion-free, Large-Deformation Dynamics
Minchen Li, Zachary Ferguson, Teseo Schneider, Timothy Langlois, Denis Zorin, Daniele Panozzo, Chenfanfu Jiang, and Danny M. Kaufman
ACM Transactions on Graphics (SIGGRAPH 2020)
Contacts weave through every aspect of our physical world, from daily household chores to acts of nature. Modeling and predictive computation of these phenomena for solid mechanics is important to every discipline con- cerned with the motion of mechanical systems, including engineering and animation. Nevertheless, efficiently time-stepping accurate and consistent simulations of real-world contacting elastica remains an outstanding com- putational challenge. To model the complex interaction of deforming solids in contact we propose Incremental Potential Contact (IPC) – a new model and algorithm for variationally solving implicitly time-stepped nonlinear elastodynamics. IPC maintains an intersection- and inversion-free trajectory regardless of material parameters, time step sizes, impact velocities, severity of deformation, or boundary conditions enforced.
Constructed with a custom nonlinear solver, IPC enables efficient res- olution of time-stepping problems with separate, user-exposed accuracy tolerances that allow independent specification of the physical accuracy of the dynamics and the geometric accuracy of surface-to-surface conformation. This enables users to decouple, as needed per application, desired accuracies for a simulation’s dynamics and geometry.
The resulting time stepper solves contact problems that are intersection- free (and thus robust), inversion-free, efficient (at speeds comparable to or faster than available methods that lack both convergence and feasibility), and accurate (solved to user-specified accuracies). To our knowledge this is the first implicit time-stepping method, across both the engineering and graphics literature that can consistently enforce these guarantees as we vary simulation parameters.
In an extensive comparison of available simulation methods, research libraries and commercial codes we confirm that available engineering and computer graphics methods, while each succeeding admirably in custom- tuned regimes, often fail with instabilities, egregious constraint violations and/or inaccurate and implausible solutions, as we vary input materials, contact numbers and time step. We also exercise IPC across a wide range of existing and new benchmark tests and demonstrate its accurate solution over a broad sweep of reasonable time-step sizes and beyond (up to h = 2s) across challenging large-deformation, large-contact stress-test scenarios with meshes composed of up to 2.3M tetrahedra and processing up to 498K contacts per time step. For applications requiring high-accuracy we demon- strate tight convergence on all measures. While, for applications requiring lower accuracies, e.g. animation, we confirm IPC can ensure feasibility and plausibility even when specified tolerances are lowered for efficiency.
@article{Li2020IPC,
author = {Minchen Li and Zachary Ferguson and Teseo Schneider and Timothy Langlois and
Denis Zorin and Daniele Panozzo and Chenfanfu Jiang and Danny M. Kaufman},
title = {Incremental Potential Contact: Intersection- and Inversion-free Large Deformation Dynamics},
journal = {ACM Transactions on Graphics},
year = {2020},
volume = {39},
number = {4}
}
Fast and Robust Stochastic Structural Optimization
Qiaodong Cui, Timothy Langlois, Pradeep Sen, Theodore Kim
Eurographics 2020
Stochastic structural analysis can assess whether a fabricated object will break under
real-world conditions. While this ap- proach is powerful, it is also quite slow, which
has previously limited its use to coarse resolutions (e.g., 26 × 34 × 28). We show that
this approach can be made asymptotically faster, which in practice reduces computation
time by two orders of magnitude, and allows the use of previously-infeasible resolutions.
We achieve this by showing that the probability gradient can be com- puted in linear
time instead of quadratic, and by using a robust new scheme that stabilizes the inertia
gradients used by the optimization. Additionally, we propose a constrained restart
method that deals with local minima, and a sheathing approach that further reduces the
weight of the shape. Together, these components enable the discovery of
previously-inaccessible designs.
Scene-Aware Audio Rendering via Deep Acoustic Analysis
Zhenyu Tang, Nicholas Bryan, Dingzeyu Li, Timothy Langlois, and Dinesh Manocha
IEEE VR 2020 Journal Track (TVCG)
We present a new method to capture the acoustic characteristics of real-world rooms using commodity devices,
and use the captured characteristics to generate similar sounding sources with virtual models. Given the
captured audio and an approximate geometric model of a real-world room, we present a novel learning-based
method to estimate its acoustic material properties. Our approach is based on deep neural networks that estimate
the reverberation time and equalization of the room from recorded audio. These estimates are used to compute
material properties related to room reverberation using a novel material optimization objective. We use the
estimated acoustic material characteristics for audio rendering using interactive geometric sound propagation
and highlight the performance on many real-world scenarios. We also perform a user study to evaluate the
perceptual similarity between the recorded sounds and our rendered audio.
@article{tang2020scene,
author={Tang, Zhenyu and Bryan, Nicholas J and Li, Dingzeyu and Langlois, Timothy R and Manocha, Dinesh},
journal={IEEE Transactions on Visualization and Computer Graphics},
title={Scene-Aware Audio Rendering via Deep Acoustic Analysis},
year={2020},
volume={26},
number={5},
pages={1991-2001}
}
Decomposed Optimization Time Integrator for Large-Step Elastodynamics
Minchen Li, Ming Gao, Timothy Langlois, Chenfanfu Jiang, and Danny Kaufman
ACM Transactions on Graphics (SIGGRAPH 2019)
Simulation methods are rapidly advancing the accuracy, consistency and
controllability of elastodynamic modeling and animation. Critical to these
advances, we require ecient time step solvers that reliably solve all implicit
time integration problems for elastica. While available time step solvers succeed admirably in some regimes, they become impractically slow, inaccurate,
unstable, or even divergent in others — as we show here. Towards addressing these needs we present the Decomposed Optimization Time Integrator
(DOT), a new domain-decomposed optimization method for solving the per
time step, nonlinear problems of implicit numerical time integration. DOT is
especially suitable for large time step simulations of deformable bodies with
nonlinear materials and high-speed dynamics. It is ecient, automated, and
robust at large, xed-size time steps, thus ensuring stable, continued progress
of high-quality simulation output. Across a broad range of extreme and mild
deformation dynamics, using frame-rate size time steps with widely varying
object shapes and mesh resolutions, we show that DOT always converges
to user-set tolerances, generally well-exceeding and always close to the best
wall-clock times across all previous nonlinear time step solvers, irrespective
of the deformation applied.
@article{Li:2019:DOT,
title = {Decomposed Optimization Time Integrator for Large-Step Elastodynamics},
author = {Li, Minchen and Gao, Ming and Langlois, Timothy R. and Jiang, Chenfanfu and Kaufman, Danny M.},
journal = {ACM Transactions on Graphics},
volume = {38},
number = {4},
year = {2019}
}
Volumetric Michell Trusses for Parametric Design & Fabrication
Rahul Arora, Alec Jacobson, Timothy R. Langlois, Yijiang Huang, Caitlin Mueller, Wojciech Matusik, Ariel Shamir, Karan Singh, and David I.W. Levin
Proceedings of the 3rd ACM Symposium on Computational Fabrication (SCF) 2019
We present the first algorithm for designing volumetric Michell Trusses. Our method uses a parametrization-based
approach to generate trusses made of structural elements aligned with the primary direction of an object’s
stress field. Such trusses exhibit high strength-to-weight ratio while also being parametrically editable
which can be easily integrated with parametric editing tools such as Autodesk Fusion. We show a number
of examples that demonstrate that the output of our algorithm produces truss structures that are aligned with
an object’s underlying stress tensor field, are structurally sound and that their global parametrization
facilitates the creation of unique structures in a number of domains.
@misc{Arora:michell:scf:2019,
author = {Arora, Rahul and Jacobson, Alec and Langlois, Timothy R. and Huang, Yijiang and Mueller, Caitlin and Matusik, Wojciech and Shamir, Ariel and Singh, Karan and Levin, David I.W.},
title = {Volumetric Michell Trusses for Parametric Design \& Fabrication},
booktitle = {Proceedings of the 3rd ACM Symposium on Computation Fabrication},
series = {SCF '19},
year = {2019},
location = {Pittsburgh, PA, USA},
numpages = {12},
publisher = {ACM},
address = {New York, NY, USA}
}
Self-Supervised Generation of Spatial Audio for 360° Video
Pedro Morgado, Nuno Vasconcelos, Timothy R. Langlois and Oliver Wang
Neural Information Processing Systems (NIPS 2018)
We introduce an approach to convert mono audio recorded by a
360° video camera into spatial audio, a representation of the
distribution of sound over the full viewing sphere. Spatial audio
is an important component of immersive 360° video viewing, but spatial
audio microphones are still rare in current 360° video production. Our
system consists of end-to-end trainable neural networks that
separate individual sound sources and localize them on the viewing
sphere, conditioned on multi-modal analysis of audio and 360° video
frames. We introduce several datasets, including one filmed ourselves,
and one collected in-the-wild from YouTube, consisting of 360° videos
uploaded with spatial audio. During training, ground-truth spatial
audio serves as self-supervision and a mixed down mono track forms
the input to our network. Using our approach, we show that it is
possible to infer the spatial location of sound sources based only
on 360° video and a mono audio track.
@inproceedings{morgadoNIPS18,
title = {Self-Supervised Generation of Spatial Audio for 360\deg Video},
author = {Pedro Morgado, Nuno Vasconcelos, Timothy Langlois and Oliver Wang},
booktitle = {Neural Information Processing Systems (NIPS)},
year = {2018}
}
Toward Wave-based Sound Synthesis for Computer Animation
Jui-Hsien Wang, Ante Qu, Timothy R. Langlois, and Doug L. James
ACM Transactions on Graphics (SIGGRAPH 2018)
We explore an integrated approach to sound generation that supports a wide variety of
physics-based simulation models and computer-animated phenomena. Targeting high-quality
offline sound synthesis, we seek to resolve animation-driven sound radiation with
near-field scattering and diffraction effects. The core of our approach is a
sharp-interface
finite-difference time-domain (FDTD) wavesolver, with a series of supporting algorithms
to handle rapidly deforming and vibrating embedded interfaces arising in physics-based
animation sound. Once the solver rasterizes these interfaces, it must evaluate
acceleration boundary conditions (BCs) that involve model- and phenomena-specific
computations. We introduce acoustic shaders as a mechanism to abstract away these
complexities, and describe a variety of implementations for computer animation:
near-rigid objects with ringing and acceleration noise, deformable (finite element)
models such as thin shells, bubble-based water, and virtual characters. Since
time-domain wave synthesis is expensive, we only simulate pressure waves in a small
region about each sound source, then estimate a far-field pressure signal. To further
improve scalability beyond multi-threading, we propose a fully time-parallel sound
synthesis method that is demonstrated on commodity cloud computing resources. In
addition to presenting results for multiple animation phenomena (water, rigid, shells,
kinematic deformers, etc.) we also propose 3D automatic dialogue replacement (3DADR) for
virtual characters so that pre-recorded dialogue can include character movement, and
near-field shadowing and scattering sound effects.
@article{Wang:2018:WaveSim,
title = {Toward Wave-based Sound Synthesis for Computer Animation},
author = {Wang, Jui-Hsien and Qu, Ante and Langlois, Timothy R. and James, Doug L.},
journal = {ACM Trans. Graph.},
volume = {37},
number = {4},
year = {2018},
}
Dingzeyu Li, Timothy R. Langlois, and Changxi Zheng
ACM Transactions on Graphics (SIGGRAPH 2018)
Although 360° cameras ease the capture of panoramic footage, it remains challenging to add realistic 360° audio that
blends into the captured scene and is synchronized with the camera motion. We present a method for adding scene-aware
spatial audio to 360° videos in typical indoor scenes, using only a conventional mono-channel microphone and a speaker.
We observe that the late reverberation of a room's impulse response is usually diffuse spatially and directionally. Exploiting
this fact, we propose a method that synthesizes the directional impulse response between any source and listening locations
by combining a synthesized early reverberation part and a measured late reverberation tail. The early reverberation is
simulated using a geometric acoustic simulation and then enhanced using a frequency modulation method to capture room resonances.
The late reverberation is extracted from a recorded impulse response, with a carefully chosen time duration that separates out
the late reverberation from the early reverberation. In our validations, we show that our synthesized spatial audio matches closely
with recordings using ambisonic microphones. Lastly, we demonstrate the strength of our method in several applications.
@article{Li:2018:360audio,
title = {Scene-Aware Audio for 360\textdegree{} Videos},
author = {Li, Dingzeyu and Langlois, Timothy R. and Zheng, Changxi},
journal = {ACM Trans. Graph.},
volume = {37},
number = {4},
year = {2018},
}
Stochastic Structural Analysis for Context-Aware Design and Fabrication
Timothy R. Langlois, Ariel Shamir, Daniel Dror, Wojciech Matusik, and David I.W. Levin
ACM Transactions on Graphics (SIGGRAPH Asia 2016)
In this paper we propose failure probabilities as a semantically and mechanically meaningful measure of object fragility.
We present a stochastic finite element method which exploits fast rigid body simulation and reduced-space approaches to
compute spatially varying failure probabilities. We use an explicit rigid body simulation to emulate the
real-world loading conditions an object might experience, including persistent and transient frictional contact,
while allowing us to combine several such scenarios together. Thus, our
estimates better reflect real-world failure modes than previous methods. We validate our results using a series of
real-world tests. Finally, we show how to embed failure probabilities into a stress constrained topology optimization
which we use to design objects such as weight bearing brackets and robust 3D printable objects.
Toward Animating Water with Complex Acoustic Bubbles
Timothy R. Langlois, Changxi Zheng, and Doug L. James
ACM Transactions on Graphics (SIGGRAPH 2016)
This paper explores methods for synthesizing physics-based bubble sounds directly from
two-phase incompressible simulations of bubbly water flows. By tracking fluid-air
interface geometry, we identify bubble geometry and topological changes due to
splitting, merging and popping. A novel capacitance-based method is proposed that can
estimate volume-mode bubble frequency changes due to bubble size, shape, and proximity
to solid and air interfaces. Our acoustic transfer model is able to capture cavity
resonance effects due to near-field geometry, and we also propose a fast precomputed
bubble-plane model for cheap transfer evaluation. In addition, we consider a
bubble forcing model that better accounts for bubble entrainment, splitting, and merging events, as well as a
Helmholtz resonator model for bubble popping sounds. To overcome frequency bandwidth
limitations associated with coarse resolution fluid grids, we simulate micro-bubbles in
the audio domain using a power-law model of bubble populations. Finally, we present
several detailed examples of audiovisual water simulations and physical
experiments to validate our frequency model.
@article{Langlois:2016:Bubbles,
author = {Timothy R. Langlois and Changxi Zheng and Doug L. James},
title = {Toward Animating Water with Complex Acoustic Bubbles},
journal = {ACM Transactions on Graphics (Proceedings of SIGGRAPH 2016)},
year = {2016},
volume = {35},
number = {4},
month = Jul,
doi = {10.1145/2897824.2925904}
url = {http://www.cs.cornell.edu/projects/Sound/bubbles}
}
Timothy R. Langlois, Steven S. An, Kelvin K. Jin, and Doug L. James
ACM Transactions on Graphics (SIGGRAPH 2014)
We propose and evaluate a method for significantly compressing modal sound models, thereby making them far more practical for audiovisual applications.
The dense eigenmode matrix, needed to compute the sound model's response to contact forces, can consume tens to thousands of megabytes
depending on mesh resolution and mode count. Our eigenmode compression pipeline is based on nonlinear optimization of Moving
Least Squares (MLS) approximations. Enhanced compression is achieved by exploiting symmetry both within and between eigenmodes,
and by adaptively assigning per-mode error levels based on human perception of the far-field pressure amplitudes. Our method provides
smooth eigenmode approximations, and efficient random access. We demonstrate that, in many cases, hundredfold compression ratios can
be achieved without audible degradation of the rendered sound.
@article{Langlois:2014:EMC,
author = {Timothy R. Langlois and Steven S. An and Kelvin K. Jin and Doug L. James},
title = {Eigenmode Compression for Modal Sound Models},
journal = {ACM Transactions on Graphics (Proceedings of SIGGRAPH 2014)},
year = {2014},
volume = {33},
number = {4},
month = Aug,
doi = {10.1145/2601097.2601177}
url = {http://www.cs.cornell.edu/projects/Sound/modec}
}
Inverse-Foley Animation: Synchronizing rigid-body motions to sound
Timothy R. Langlois and Doug L. James
ACM Transactions on Graphics (SIGGRAPH 2014)
In this paper, we introduce Inverse-Foley Animation, a technique for optimizing rigid-body animations so that contact
events are synchronized with input sound events. A precomputed database of randomly sampled rigid-body contact events
is used to build a contact-event graph, which can be searched to determine a plausible sequence of contact events synchronized
with the input sound's events. To more easily find motions with matching contact times, we allow transitions between simulated
contact events using a motion blending formulation based on modified contact impulses. We fine tune synchronization
by slightly retiming ballistic motions. Given a sound, our system can synthesize synchronized motions using graphs
built with hundreds of thousands of precomputed motions, and millions of contact events. Our system is easy to use, and
has been used to plan motions for hundreds of sounds, and dozens of rigid-body models.
@article{Langlois:2014:IFA,
author = {Timothy R. Langlois and Doug L. James},
title = {Inverse-Foley Animation: Synchronizing rigid-body motions to sound},
journal = {ACM Transactions on Graphics (Proceedings of SIGGRAPH 2014)},
year = {2014},
volume = {33},
number = {4},
month = Aug,
doi = {10.1145/2601097.2601178}
url = {http://www.cs.cornell.edu/projects/Sound/ifa}
}
Protein Identification using Receptor Arrays and Mass Spectrometry
Timothy R. Langlois, Ramgopal R. Mettu, and Richard W. Vachet
Advances in Computational Biology (2010)
Mass spectrometry is one of the main tools for protein identification in
complex mixtures. When the sequence of the protein is known, we can check to see
if the known mass distribution of peptides for a given protein is present in the recorded
mass distribution of the mixture being analyzed. Unfortunately, this general approach
suffers from high false-positive rates, since in a complex mixture, the likelihood that
we will observe any particular mass distribution is high, whether or not the protein
of interest is in the mixture. In this paper, we propose a scoring methodology
and algorithm for protein identification that make use of a new experimental tech-
nique, which we call receptor arrays, for separating a mixture based on another
differentiating property of peptides called isoelectric point (pI). We perform extensive
simulation experiments on several genomes and show that additional information
about peptides can achieve an average 30% reduction in false-positive rates over
existing methods, while achieving very high true-positive identification rates.
@incollection{Langlois:2010:IEP,
year={2010},
isbn={978-1-4419-5912-6},
booktitle={Advances in Computational Biology},
volume={680},
series={Advances in Experimental Medicine and Biology},
editor={Arabnia, Hamid R.},
doi={10.1007/978-1-4419-5913-3_39},
title={Protein Identification Using Receptor Arrays and Mass Spectrometry},
url={http://dx.doi.org/10.1007/978-1-4419-5913-3_39},
publisher={Springer New York},
keywords={Receptor; Array; Mass; Spectrometry; Protein; Identification; Isoelectric; Point},
author={Langlois, Timothy R. and Vachet, Richard W. and Mettu, Ramgopal R.},
pages={343-351},
language={English}
}
My group's Senior Design Project at UMass. We designed and built a system
which watched a game of pool using webcams, suggested the best shot to the player,
and assisted them with aiming the cue stick, all in realtime. More details
here.