Randy Fan

Developer

Researcher

About

I graduated from UC Berkeley with a Bachelor's and Master's in Computer Science, where I had the opportunity to be advised by Professor Carlo Séquin. I'm committed to solving engineering challenges through elegant and reliable solutions. My current career-related interests span 3D real-time computer graphics, networking, and investing. I am open to discussing collaborative opportunities. Please feel free to contact me at randyfan77@gmail.com.


Education

UC Berkeley

Class of 2021

Master's in EECS with research focus in computational geometry and 3D modeling; advised by Professor Carlo Séquin


UC Berkeley

Class of 2020

Bachelor's in CS; GPA: 3.84; Magna Cum Laude; Dean's List; Upsilon Pi Epsilon (CS Honors Society for top Berkeley CS students)


Plano West Senior HS

Class of 2016

Class Rank: 3 out of 1400; 21 AP courses; SAT: 2320 (800 Math, 790 Reading); ACT: 36; SAT Math II: 800; National AP Scholar




Projects

Some applications I've created while at school or in my free time. It's quite outdated.

Pathtracer

CRM

A physically-based renderer using a pathtracing algorithm. Incorporates ray-scene intersection, acceleration structures, physically based lighting, complex materials, environment lighting, and depth of field effects.

Color in Nature Inspired Design

IronSnake

Combining smart color schemes with cellular automaton and reaction-diffusion system.

MeshEdit

Grubify.co

A mesh editor that allows you to load and edit basic COLLADA mesh files. Uses de Casteljau's algorithm to build Bezier curves/surfaces and half-edge data structure to manipulate meshes. Also includes an implementation of loop subdivision.

Real-time Cloth Simulator

KeyCode

A real-time cloth simulator using a mass and spring based system. Simulates cloth movement and calculates forces using numerical integration. Handles collisions with other objects (e.g. sphere) and self-collisions to prevent cloth clipping.

erth.io

DooDoo

A multiplayer battle game in the ever-growing list of .io games. This time you control a colored circle and can choose a class (archer, magician, or warrior; each has its own unique attack and power)

Colorizing Photos using Alignment

StarWars

Align digitized glass plates to form colored versions of those images. There were two alignment approaches we were required to implement: single-scale and image pyramid.

Filter and Frequencies

StarWars

Implemented various derivative filters to perform useful tasks such as image straightening. Applied filters to help sharpen images, create hybrid images, and implemented image blending operations using Gaussian and Laplacian stacks.

Face Morphing

KeyCode

Face morphing using triangulation and affine transformations to output new, interpolated faces (or extrapolated for caricatures).

Autostitching Mosaics

IronSnake

Recovered homographies, warped images (with 2 rectified images as examples), and blended my own images into a mosaic.

Seam Carving + Gradient Fusion

StarWars

Implemented verticla and horizontal seam carving as well as gradient domain fusion, performing poisson blending.

Neural Coreference Resolution

DooDoo

Built a PyTorch implementation of a neural coreference system using a mention-ranking model with word embeddings and mention distance features.

Transition-based Dependency Parser

DooDoo

Checked projectivity of dependency trees used, created an oracle method to convert trees to configuration and action pairs, and used oracle data to train neural network to predict actions given a configuration.

Enigma Machine

StarWars

A simulator for a generalized version of the Enigma Machine. The Enigma was used by Germany in World War II to encrypt millitary communications.

Amazons

KeyCode

A simulated Argentinian strategy game, including minimax AI bots that can force wins within a dozen moves.

Rasterizer

IronSnake

A simple rasterizer that includes features such as supersampling, hierarchical transforms, and texture mapping with antialiasing. It is a fully functional vector graphics renderer that can take in modified SVG (Scalable Vector Graphics) files.

ML Cellular Automata

StarWars

ML detection of interesting 2D CA.

NOME

KeyCode

Interactive CAD tool.

Get in touch!

Send me an email at randyfan77@gmail.com and I'll get back to you. Thank you.
Feel free to connect with me on LinkedIn as well!