Skip to main content

Posts

Motion Planning

Description This shows multiple agents finding the way to the destination without colliding with the obstacle or colliding with each other.  This assignment is a group work with Cheng Peng. Features: Global navigation with PRM and  Dijkstra algorithm. Road maps accounted for the size of agents. Local interaction based on a spring-like avoiding force. Texture. GPU shading. User controlled camera. Able to save screenshots to PNG files. Implementation Tools: Sublime Text 3 & command line C++ and cmake OpenGL, GLUT, GLEW Eigen PNG opensource file  std_image.h  (for loading texture images)

Motion Planning Check In

Description This shows an agent finding its way to the destination without colliding with the obstacle. This assignment is a group work with Cheng Peng. Demos:

Mass-spring System

Description This demonstrates a cloth simulated by mass-spring system under the gravity and spring forces. Features: 3D implementation. Real time. User controlled camera. Mass-spring system. GPU Shading. Gravity and spring force. Explicit and implicit integration. Texture. Air drag effect (flag-wind demo). One-way cloth-sphere interaction. 41×41 particles with over 33 FPS (time step 0.03s) Able to save screenshots to PNG files. Implementation Tools: Sublime Text 3 & command line C++ and cmake OpenGL, GLUT, GLEW Eigen PNG opensource file std_image.h (for loading texture images) Demos:

Particle System

Description: A particle system based on OpenGL and GPU shader. Features: 3D implementation. User controlled camera. Simple collision detection and handling between particles and planes. Gravity. Color changes over velocity. Transparency changes over lifetime. Shader on GPU. Real-time. More than 60, 000 particles over 33 FPS (time step 0.03s) Able to save screenshots to PNG files. Implication Tools: Sublime Text 3 & command line C++ and cmake OpenGL, GLUT, GLEW Eigen PNG Demos: Waterfall Camp fire Firework Snow

Bouncing Ball

Description: This demonstrates rigid balls' motion under the influence of gravity and colliding with the obstacles. The implementation didn't consider the effect of friction, so the ball wouldn't slow down while sliding on the floor.    Features: 3D implementation. Control: Press and drag the mouse left button to rotate the camera view. Press and drag the mouse middle button to translate the camera view. Scroll the mouse wheel to scale the camera view. Press 'ESCAPE' key to exit. Press 'SPACE' key to play/pause. Simple collision Detection and handling between spheres and planes. Gravity. No parallel computing (OpenMP or CUDA) yet. Implication Tools: Sublime Text 3 & command line C++ and cmake OpenGL & GLUT Eigen Demo: Different behaviors with different Coefficient of Restitution (COR): COR = 0.3 COR = 0.6 COR = 0.9