yuhan

  • Point Clouds to Geometry

    Construct mesh from point cloud by computing implicit MLS function with marching cubes algorithm. The Algorithm is as follows: More Detailed Breakdown coming soon! Algorithm in Images: Experimentation with Grid Sampling Size

  • Drag & Deform Meshes

    Interactively deform 3D models by dragging user-set handles. Multi-resolution surface parameterization, deformed using naive Laplacian editing. Implements two approaches to mesh deformation: The above GIF shows real-time mesh interaction. Deformation Breakdown (More Implementation Details Coming Soon!)

  • Skinning & Skeletal Animation

    Experimentation with different methods for skinning and skeletal deformation. Skeletal Animation Computing Hamonic Skinning Weights on Selected Handles Handle Selection Skinning Weights Visualization Skeletal Animation Comparison of Animation Methods Linear Blend Skinning LBS propagates transformations using absolute translation and rotations. This method does not pay attention to rotation properties, particularly at the joints where…

  • Research: CV/ML Direct-Write 3D Printing Tool

    I conducted this research project in the University of Pennsylvania’s Architected Materials Laboratory under Prof. Jordan R. Raney. View my UPenn Fall Research Expo poster here. My research project investigates the application of convolutional neural networks to additive manufacturing. Combining machine learning and computer vision for intelligent, multi-material 3D printing allows printers to monitor…

  • Seam Carving Image Resizer

    Click Here to view the source code. Click Here to view the breakdown in slides. Content-Aware Image Resizing While editing images, it is often difficult to retain the crucial content while cropping or resizing. Seam carving, a graphical application of dynamic programming, is an image-resizing algorithm that maintains important elements. The algorithm locates and…

  • Transforming Meshes into LEGO

    Procedural Houdini + VEX project that converts any faceted mesh to a collection of LEGO pieces. Lego-fy Node To perform the transformation, I created a custom node Legofy, containing the input mesh and lego-fying algorithm. Converting Mesh to Points Various Brick Types: Sloped and Flat Preventing LEGO Brick Intersections Since the implementation uses differing-sized…

  • Water Lily Pond Generator

    Here’s my HDA submission for SideFX’s H20 Tech Art Challenge in the Game Art Asset category. Overview I created a Houdini Digital Asset (HDA) that generates procedural water lily ponds. This tool is made to be used in Houdini and is intended for environment artists or modelers working on animations/games that involve building water…

  • Procedural Bee

    For my Procedural Computer Graphics project, we were tasked with creating a procedural bee in Houdini, a wonderful assignment crafted by our TA, Elyssa. However, I wanted to challenge myself by applying the same skills to create a different model. I ended up creating a (somewhat?) realistic bee. Here’s how I did it:

  • Painting-In-Progress Shader

    Inspired by this painting from the Barnes Foundation in Philly, I worked to recreate the unfinished but elegant painting look using Unity shaders. I ended up creating a painting-in-progress shader in Unity, using some C# methods, while applying it to a scene created from a building tool I built in Houdini. Below is the…

  • Toy Carousel Generator

    Final Product Update A variety of textured carousels created entirely using the finished tool! To improve upon the first iteration tool, we decided to expand on the styles of carousels that the tool could generate. I worked on new procedural components like box/base types, non-animal figures, and additional options to the crown, column, and…