Car Crash Simulation Result AR Demonstration and Animation
The goal of this project is to design and implement an AR mobile app that can visualize the Finite Element Analysis and Simulation result in the form of Mixed Reality, so that align the calculated FEA result with the real life and have a better understanding on the simulated progress.
The simulation results are read and reformatted using C#, and 3D geometries of drivers and car structures are constructed base on the simulation results. These geometries are visualized in Unity and animated by modifying the position of vertices.
The position and rotation of markers are tracked by utilizing Vuforia Engine in Unity, and the models are aligned to the markers by performing 3D math.
This project is funded by The University of Michigan Integrative Systems + Design Program.
Ray Tracer from Scratch
This is a class project aiming at building a ray-tracer in Python from scratch, and use it to render a complex 3D scene.
In this project I implemented the camera model, ray interactions and reflections for different surfaces, and enabled different shading effects such as shadow, specular shading, and mirror reflection.
The scene I rendered contains 28850 triangles. It is rendered into a 1024x576 graph within 15 minutes when the ray tracer runs on CPU.
Human Shape Website
This project aims at proving parametric digital human shape models for human-centered design in various fields (industrial design, fashion design, etc.). The parametric digital human models are visualized in the front-end and downloadable for users.
Vertices are segmented using Python, the position and rotation of each part are calculated using 3D math. The final human geometry is visualized using Three.js and JavaScript. A 'Pose Library' is also implemented for pre-stored postures.
ARGomoku
This project is the course project for EECS 441, Mobile App Development, at the University of Michigan, serves as the capstone design.
In this project I led a student team to develop a full-stack Augmented Reality mobile chess game. The goal of this project is to enable users to play online Gomoku game using real chess pieces and a physical chessboard, facilitated by mixed reality technology.
I'm responsible for the AR part and the frontend of the project, as well as the infrastructure and the overall design of the software. My work includes project managing, designing the whole project's structure, setting up the infrastructure of frontend as a Unity 3D project, designing and implementing game logics in the frontend in Unity Engine using C#, utilizing Vuforia Engine to track markers and implement AR function, and conducting user test after the prototype of this software is finished.
Supervised by Dr. Sugih Jamin.
Developing a Tool for AR Assisted Surgery using HoloLens2
The goal of this project is to design a tool for augmented reality (AR) assisted surgery that can accurately overlap three-dimensional human anatomy models onto the patient body and deliver a better understanding of the patient's anatomic relations beneath the surface.
I visualized reconstructed 3D human anatomy model in HoloLens 2 using Unity, aligned the models to the target based on physical markers and point cloud data by implementing Singular Value Decomposition (SVD) based Iterative Closest Point (ICP) algorithm using C#. I also designed and implemented an easy-to-use UI for surgeons and designed experiments to validate the accuracy of the system.
AR assisted Myomectomy Surgery Navigation
This project is a PRP project at SJTU. The goal is to develop a software tool for Laparoscopic Augmented Reality Navigation on Myomectomy Surgery using Python.
My work in this project mainly focuses on locating and calibrating the Laparoscopic Camera by detecting a chessboard marker using OpenCV, as well as implementing algorithms to locate the endpoint of a robotic arm.
I also tested the prototype on the communicated with surgeons about their needs about Myomectomy Surgery and feedback about using the tool.
Movable Bridge
This project is a course project for VG100 Intro to Engineering at SJTU. The goal is to make a bridge which can deploy and retract automatically.
I'm responsible for designing the structure of the bridge by using CAD and the control circuit. I'm also responsible for the coding in Arduino.
The final prototype meets all the requirements, including the weight and size requirements, the ability to be deployed and retracted automatically within 1 minute, as well as the ability to hold 1000g-3000g load or more than 3.33 times of its own weight.
For the final load test, the bridge itself weighed 293g, while its maximum load is 10kg.