Coder Social home page Coder Social logo

chai3d-dynamics's Introduction

About

This was made for an assignment in CPSC 599.86 - Computer Haptics at the University of Calgary under Dr. Sonny Chan. It uses the CHAI3D haptics engine.

It is a basic dynamics engine (rigidbody physics simulation) supporting dynamic and static rigidbodies with sphere colliders, and spring constraints. Note that the TorsionSpring is unfinished and broken.

Install

Unfortunately this will only work for Windows with Visual Studio, because I didn't bother with CMake. However, given its structure, it should be easy to port to other platforms using CMake.

The project is structured as a CHAI3D module, so after downloading and building CHAI3D, simply clone the project into the CHAI3D/modules directory, and then build with Visual Studio.

chai3d-dynamics

Controls

Control Action
Space Toggle workspace lock for the current scene (so you cannot move the workspace)
Left Cycle scenes left
Right Cycle scenes right
1 Spawn a heavy sphere at (0, 0, 1) in the current scene
2 Spawn a light ball at your cursor position attached by a "rope" spring (only applies force to correct elongation) in the current scene
3 Toggle the visibility of the mesh for the current scene
Device button Delete objects touching the cursor

Notes

  • Green springs denote close to natural length
  • Red springs denote longer than natural length
  • Yellow springs denote shorter than natural length
  • "Springs" on the second scene and on the balls attached to the cursor are "ropes"
  • As easily visualized by pressing 3, the third scene has the basic horizontal spring connections described in the assignment. The fourth scene adds criss-cross springs which results in a much stronger mesh.
  • I attempted to get torsion springs working but failed.

chai3d-dynamics's People

Contributors

blake-mealey avatar

Watchers

 avatar  avatar

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.