Me in front of Duomo in Florence

Egor Larionov

I'm a software developer and a graphics researcher, with a taste for free and open source software.
I'm also a PhD candidate at the University of British Columbia.
My interests include physically-based animation, geometry processing and software enginnering especially as it applies to scientific computing. ...



Volume Preserving Simulation of Soft Tissue with Skin

Seung Heon Sheen, Egor Larionov and Dinesh K. Pai Simulation of human soft tissues in contact with their environment is essential in many fields, including visual effects and apparel design. Biological tissues are nearly incompressible. However, standard methods employ compressible elasticity models and achieve incompressibility indirectly by setting Poisson’s ratio to be close to 0.5. This approach can produce results that are plausible qualitatively but inaccurate quantatively. This approach also causes numerical instabilities and locking in coarse discretizations or otherwise poses a prohibitive restriction on the size of the time step.

Frictional Contact on Smooth Elastic Solids

Egor Larionov, Ye Fan and Dinesh K. Pai Frictional contact between deformable elastic objects remains a difficult simulation problem in computer graphics. Traditionally, contact has been resolved using sophisticated collision detection schemes and methods that build on the assumption that contact happens between polygons. While polygonal surfaces are an efficient representation for solids, they lack some intrinsic properties that are important for contact resolution. Generally, polygonal surfaces are not equipped with an intrinsic inside and outside partitioning or a smooth distance field close to the surface.

Houdini Plugins

I developed the following plugins for Houdini to aid my research in soft tissue simulation. I plan to open source these tools at some point. But for the time being the binaries are here for those that need them. Installation The following instructions explain how to install Houdini plugins on various platforms. Linux After downloading the appropriate plugin binary, simply drop it into your ~/houdini18.5/dso folder. To make sure that Houdini sees the plugins, create a symlink to the versioned library with

Simulating deformable objects for computer animation: a numerical perspective

Uri M. Ascher, Egor Larionov, Seung Heon Sheen, and Dinesh K. Pai We examine a variety of numerical methods that arise when considering dynamical systems in the context of physics-based simulations of deformable objects. Such problems arise in various applications, including animation, robotics, control and fabrication. The goals and merits of suitable numerical algorithms for these applications are different from those of typical numerical analysis research in dynamical systems. Here the mathematical model is not fixed a priori but must be adjusted as necessary to capture the desired behaviour, with an emphasis on effectively producing lively animations of objects with complex geometries.

About Me

I am a 3D software developer by trade, with a profound interest in physically based animation and geometry processing. I’m currently a PhD candidate at the University of British Columbia supervised by Dinesh K. Pai. I hold a Master’s degree in Mathematics from the University of Waterloo. There I was a part of the Computational Motion Group supervised by Christopher Batty. I received a B.Math. degree majoring in Pure Mathematics and Computer Science with a minor in Physics, also at the University of Waterloo in 2013.

The Human Touch: Measuring Contact with Real Human Soft Tissues

Dinesh K. Pai, Austin Rothwell, Pearson Wyder-Hodge, Alistair Wick, Ye Fan, Egor Larionov, Darcy Harrison, Debanga Raj Neog, and Cole Shing Simulating how the human body deforms in contact with external objects, tight clothing, or other humans is of central importance to many fields. Despite great advances in numerical methods, the material properties required to accurately simulate the body of a real human have been sorely lacking. Here we show that mechanical properties of the human body can be directly measured using a novel hand-held device.

Variational Stokes: A Unified Pressure-Viscosity Solver for Accurate Viscous Liquids

Egor Larionov*, Christopher Batty* and Robert Bridson (*Joint first authors) We propose a novel unsteady Stokes solver for coupled viscous and pressure forces in grid-based liquid animation which yields greater accuracy and visual realism than previously achieved. Modern fluid simulators treat viscosity and pressure in separate solver stages, which reduces accuracy and yields incorrect free surface behavior. Our proposed implicit variational formulation of the Stokes problem leads to a symmetric positive definite linear system that gives properly coupled forces, provides unconditional stability, and treats difficult boundary conditions naturally through simple volume weights.

2D Surface Tension Liquids

Liquid simulation has been an interest of mine for some time now. Water, maybe the most ubiquitous liquid familiar to us, exhibits many fascinating visual properties. This makes water simulation a very hot topic in the visual effects industry. In the history of liquid simulation, there hasn’t been one single efficient, clear cut method for simulating water in all its capacity. Each method has its advantages and disadvantages. In the visual effects industry, prominent methods for liquid simulation are grid-based (e.

Notes on Transient Imaging

In fall 2014, I took a seminar course in computer graphics, where we reviewed an emerging technology of capturing the propagation of light pulses. This work was sparked in recent years by the work of Velten, Raskar and Bawendi from MIT in their 2011 paper titled “Picosecond camera for time-of-flight imaging”. In response to this work, a team at the University of British Columbia (UBC) developed a much cheaper alternative (with certain limitations) to the hardware setup originally proposed by Velten et al.

Weighted Lloyd's Method for Voronoi Tesselation

This summer, I developed an algorithm to tesselate an image with Voronoi regions. I used a weighed Lloyd’s method to distribute the Voronoi regions evenly throughout the image. You can now see the method on a dedicated static page. The implementation is done entirely in JavaScript using the three.js library as well as dat.gui for exposing different parameters controlling the generated image. After seeing a series of lectures given by Craig Kaplan on computational stippling methods, in particular on Weighed Voronoi Stippling, I gained an interest in applications for Voronoi diagrams.

SPH for Weakly Compressible Fluids

In winter 2014, I took a course on physically-based simulation, and had the opportunity to work on a fluid simulator project. I finally found some time to organize my work and upload it to GitHub. The project outlines two notable methods in fluid simulation using Smoothed Particle Hydrodynamics (SPH): “Particle-Based Fluid Simulation for Interactive Applications” by M. Muller, D. Charypar and M. Gross “Weakly Compressible SPH for Free Surface Flows” by M.

Implicit Surface Method for Shape Reconstruction

A few months ago I wrote an implementation of an implicit surface method for shape reconstruction developed, in part, by H. Zhao, S. Osher, B. Merriman, and M. Kang, in their paper (2000) titled “Implicit and Non-parametric Shape Reconstruction from Unorganized Data”. This paper describes a level-set method for reconstructing a surface given a collection of points, curves and surface patches. My implementation deals with points alone and it is written entirely for MATLAB.

Experiment with 2D Particle Simulation and Artificial Neural Networks

In an effort to learn more about artificial neural networks, I implemented a simple method to learn the collision response between a pair of circular particles with a constant radius. Although not practically useful, this exercise was enlightening. The details can be found in the writeup:

Slides for Papers on Motion Tracking and Surface Reconstruction

CS 870 is a course at the University of Waterloo that briefly covers numerical PDE solutions, especially to the level set PDE developed by Stanley Osher and James A. Sethian in a paper called “Fronts propagating with curvature-dependent speed” from 1988. I presented two papers for this class (with links to slides): Implicit Shape Reconstruction Using a Level Set Method (2000) This paper presents a level-set based method to tightly wrap a 3D surface around a set of data points.

Notes on Numerical Analysis

I decided to typeset the course notes for the Numerical Analysis course (AM740/CM770/CS770) at the University of Waterloo for fall 2013 taught by Hans De Sterck. Use them at your own risk, since they may contain errors:

Undergraduate Research Seminar Talk on Information Theory

At the end of my undergraduate research semester in the summer of 2012 with IQC, I compiled a talk on classical and quantum information. I tried to start with an introduction to classical information and transition into quantum information on a very basic level. This talk should be appropriate for all audiences with a basic background in linear algebra. These notes on Classical and Quantum Information are somewhat incomplete, and will remain so, unless I give this talk again some day:

Ray Tracer Project

I implemented a ray tracer with rigid body dynamics for my final CS488 project. Unfortunately I didn’t have time to complete collision detection for all primitives, and could only demonstrate colliding spheres. Ray Tracer with Rigid Body Dynamics Table of Contents Dynamic Objects Rigid Body Collisions Texture Mapping Bump Mapping Multi-threaded Rendering Intensity Threshold Optimization Antialiasing Additional Primitives Constructive Solid Geometry Rube Goldberg machine Objective 1 & 2: Dynamic Objects Example of two spheres colliding

Notes on Continuity of Quantum Channel Capacities

I spent the summer of 2012 as an undergraduate research assistant working under Debbie Leung at the Institute for Quantum Computing. Since then I have decided to pursue a career in computer graphics, although quantum information remains one of my amateur interests. I have compiled the notes I took during this research semester into one document: There is little organization within these notes, however they summarize some of the necessary background to start the study of quantum information, and include a few proofs of theorems from various Quantum Information books, as well as a few new ideas aimed at proving the continuity of a particular quantum capacity.