Alvin Law
Contact Information
Home Address:
27 Valewood Run
Penfield, NY 14526
(585) 381-4432
School Address:
307 Montifiore St. Apt. 216
Lafayette, IN 47905
(585) 202-9767
email: ajlaw at cs dot purdue dot edu
Education
Purdue University, West Lafayette, IN
Ph.D. Candidate in Computer Science
GPA 3.60
Coursework completed in: computer graphics and visualization, algorithm design and analysis, operating systems, computer networks, numerical linear algebra, compilers, and data mining.
Cornell University, Ithaca, NY
BS in Computer Science; Minor in Electrical and Computer Engineering, May 2005
GPA 3.3 (Dean’s List Fall 2003, Spring 2004, Spring 2005)
Major Programming Experience
• Parser: parser translated Java-like code to assembly-like code; instructions
included arithmetic, loops, and conditionals.
• Pipeline Processor: five stage pipeline processor supported arithmetic,
logical, and branching commands.
• Grenorth III: networked RPG game featured map editor, server and client,
and windows-like user interface.
• XINU: various operating systems projects implemented on the XINU operating system including implementing different scheduling policies, binary locks, paging schemes, and file systems.
• Compilers: implemented various aspects of a modern compiler in SML, including a polymorphic type checker, CPS translation, inlining optimizations, live variable analysis, and linear scan register allocator.
Graphics Related
• Particle Systems: billboarded system with a cone shaped emitter; used
midpoint integration method; implemented gravity, wind, and drag forces.
• Gorched: 3D tank game written using Cg and OpenGL libraries; graphics
features include frustum culling, terrain generation and deformation, particle
systems via billboarding, bump mapping, environment mapping, and reflections.
• Ray Tracer:
Monte Carlo ray tracer on sphere, box, and triangle primitives with a kd-tree, pixel anti-aliasing, reflections, global illumination, and photon mapping.
• Texture Synthesis: program took in a sample texture image and synthesized
a larger texture from the sample; used Heeger and Bergen’s algorithm proposed
in Pyramid Based Texture Analysis/Synthesis (1995).
• Fluid Simulator: fluid simulator using Sphere Particle Hydrodynamics, fluid contained in a box using mirror particles for boundary forces.
• Image Support: support for additional images in Autodesk Inventor using GDI+.
• Volume Rendering: both classical and Monte Carlo volume rendering implemented on 3D datasets.
• Physically-Based Modeling: a physically based model for rendering smoke phenomena. Model includes wavelength dependent scattering effects.
• Imaged-Based Graphics: lightfields/lumigraphs, model reconstruction and completion
• 3D Modeling and Reconstruction: see research experience for details.
• Virtual Restoration Stage: see research experience for details.
Research
Interests: computer graphics; particular interest
in interactive rendering, physically accurate rendering and modeling, model reconstruction and completion.
• Purdue University Computer Graphics and Visualization Lab
Purdue University , West Lafayette , IN , May 2007– present
Responsibilities: exploring ways to exploit symmetric properties of objects, such as for 3D model acquisition and completion. Also involved in a virtual restoration project to visually alter the appearance of deteriorated objects.
Supervisor: Professor Daniel Aliaga
• Purdue University Rendering and Perception Lab Research Assistant
Purdue University , West Lafayette , IN , May 2006 – August 2006
Responsibilities: analyzed performance of PRIME, a weather visualization tool, updated webserver to accept different rendering requests.
Supervisor: Professor David Ebert
• Computer Graphics Independent Research
Cornell University, Ithaca, NY, September 2004 – present
Responsibilities: currently implementing Heeger and Bergen’s paper Pyramid
Based Texture Analysis/Synthesis (1995)
Supervisor: Professor Kavita Bala
• Advanced Computer Architecture Laboratory Research Assistant
University of Rochester, Rochester, NY, Summer 2002
Responsibilities: analyzed research value of various benchmarks in Minne SPEC
by simulating shortened benchmarks from the SPEC 2000 dataset including compression
agents, database tasks, and word processing tasks.
Supervisor: Professor David Albonesi
Work Experience
• Computer Science Teaching Assistant for Introduction to Programming
Purdue University , West Lafayette, IN, August 2005 – present
Responsibilities: taught recitation section, created programming projects, graded assignments and tests.
• Software Engineer Intern
Google, Mountain View, CA, Summer 2008
Responsibilities: involved in grpahics related work for Google Earth.
• Software Engineer Intern
Autodesk, Portland ,OR, Summer 2005
Responsibilities: expanded image support for saving images, loading textures, and loading backgrounds, image formats.
• Computer Science Teaching Assistant for Data Structures
Cornell University, Ithaca, NY, August 2004 - present
Responsibilities: taught recitation section, graded assignments and tests.
• Cybercamps Camp Counselor
Giant Campus, San Jose, CA, Summer 2004
Responsibilities: taught C++, Visual Basic, robotics, and game design, lead
recess activities.
• Computer Science Course Consultant for Data Structures
Cornell University, Ithaca, NY, January 2003 – May 2004
Responsibilities: assisted students with their programs, graded assignments
and tests.
Programming Skills
Languages: Java, C++, C#, Cg, SML, Matlab
Environments: Windows, Linux
Publications
D. Aliaga, A. Law, and Y. Yeung. 2008. A Virtual Restoration Stage for Real-World Objects. Proc. to SIGGRAPH Asia, ACM Transactions on Graphics, 27, 5.
A. Law, D. Aliaga, Y.Yeung, R. McCoy, A. McKune, and L. Zimmerman. 2009. Projecting Restorations in Real-Time for Real-World Objects. In J. Trant and D. Bearman (eds). Museums and the Web 2009: Proceedings. Toronto: Archives & Museum Informatics. Published March 31, 2009. (http://www.archimuse.com/mw2009/papers/law/law.html)