GithubHelp home page GithubHelp logo

Christine Zheng's Projects

cloth-simulator icon cloth-simulator

In the project, I implemented a real-time simulation of cloth using a point masses and springs system. The cloth is divided into evenly spaced point masses and then connected by springs. The position of each of the point mass is recalculated at each time step based on the external forces. I take three constraints between point masses as STRUCTURAL, SHEARING, BENDING. I then compute the total force acting on each point mass and use Verlet integration to calculate the new position. Later on, I implement cloth collisions with sphere, plane and self collision. Self collision is the hardest part for me through out the whole project. In order to prevent cloth clip through, I implemented spatial hashing to apply a repulsive collision force to point mass if any pair of point masses are too close to each other. The result comes out awesome!

fa15-hw1 icon fa15-hw1

Homework 1 for Ruby on Rails Decal Fall 2015

fluid-simulation icon fluid-simulation

We first develop a simple particle renderer with controls. We then attempt to use a particle-based approach to simulate water. The key to simulating any fluid is enforcing incompressibility. Unfortunately, this is computationally expensive. In the paper Position Based Fluids, Muller and Macklin describe a method for simulating fluids in a relatively efficient manner while not requiring impractical timesteps. We attempt to implement the various ideas in this paper such as enforcing incompressibility by incorporating density constraints into Position Based Dynamics, simulating surface tension by adding artificial pressure, and reducing damping by adding vorticity confinement and viscosity.

lecturecode icon lecturecode

Code developed in lecture. Starter code if you want to try to do what I did.

mesh-editor icon mesh-editor

Mesh is made up of many triangles that combined together. It is very amazing to explore how these tiny triangles oriented in different ways can make billions of things! Using halfedge data structure represetation and loop subdivision make it easier to smooth the meshes. I also learned some very cool shading and lighting effects.

pathtracer icon pathtracer

In this project, I explored ray generation, ray-scene intersection, acceleration, direct and indirect lighting, and some basic materials. It is very interesting to see different implementations affect the qualities of the image.

proj1 icon proj1

Project 1 for Ruby on Rails Course

rasterizer icon rasterizer

In this project, I implemented a rasterizer that allows me to take an image and draw it on a screen by converting it into a raster image with calculating pixel values. It takes a stream of pixels and transforms them into corresponding 2 dimensional points on the screen. I started with points and lines drawing, and then moved on to single-color drawing and transformations Supersampling is used to antialias the rasterized triangles. Barycentric coordinates are calculated to get the appropriate color from the image onto the screen. Second part of the project is about texture mapping. Different sampling schemes are implemented and compared to get a better viewing of the images. UV coordinates are computed to map the corresponding pixels onto a 3D model. Nearest sampling, bilinear sampling, and trilinear sampling are tested to see the results.

ray-tracer icon ray-tracer

This project is added with more complicated materials, environment lights, and depth of field to your ray tracer. It is very interesting to see different materials applied on the mesh with different lighting effects. Depth of field gives very cool images like using a camera.

vr-poker icon vr-poker

A VR app to control the movement of a deck of 52 cards in different algorithms using OVR and Unity.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.