Difference between revisions of "C3DL Collision Detection"

From CDOT Wiki
Jump to: navigation, search
(Description)
(February 2009)
Line 60: Line 60:
 
== Project Updates ==
 
== Project Updates ==
 
=== February 2009 ===
 
=== February 2009 ===
 +
<i>Feb 18, 2009</i>
 +
* Extracted collision detection code from scene object
 +
** Created a new class for collision detection
 +
* Successful in adding collision detection into scene update callback on user side
 +
** Users can easily add collision detection functionality whenever they want and get the result back from it as scene is updated
 
<i>Feb 13, 2009</i>
 
<i>Feb 13, 2009</i>
 
* Created a 2nd demo page which includes triangle-triangle test
 
* Created a 2nd demo page which includes triangle-triangle test

Revision as of 00:17, 19 February 2009

Name of Project

Canvas 3D - Collision Detection

Description

The ability to detect any object(s) colliding with object(s).

Blog: http://www.c3dl.org/index.php/development-news/

Project Demo Pages: http://matrix.senecac.on.ca/~pplam3/

Basic Demo Page: http://matrix.senecac.on.ca/~pplam3/OSD/canvas3dapi-dev/testDemo.html

Basic Demo Page2: http://matrix.senecac.on.ca/~pplam3/OSD/canvas3dapi-dev2/testDemo.html

Advance Demo/Debugger Page: http://matrix.senecac.on.ca/~pplam3/OSD/canvas3dapi-dev/test.html

Leader(s)

Project Contributor(s)

  • Catherine Leung

Contribution(s)

Student Demo

  • Jan 27th (Week 3) - 10:00am

Releases

0.4 - Week of Jan 19

  • Created flag for models to have collision detection
    • Created set/get functions for flag
  • Created function for bounding sphere for models
    • Returns array of 2: Sphere Position (array of 3), Sphere Radius (float)
  • Enable callback to check for collision detection when updating scene

0.5 - Week of Feb 2

  • Performed initial test for collision
    • Check flags
    • Check for bounding sphere collision with out models with flags on
      • Collision - distance of two bounding sphere's position is less than the sum of the radius of both sphere
  • Perform 2nd test for collision
    • Test for triangle-triangle intersection test between objects

0.6 - Week of Feb 16

Goal

0.7 - Week of Mar 9

Goal

0.8 - Week of Mar 23

Goal

0.9 - Week of Apr 6

Goal

1.0 - Week of Apr 20

Goal

Project Updates

February 2009

Feb 18, 2009

  • Extracted collision detection code from scene object
    • Created a new class for collision detection
  • Successful in adding collision detection into scene update callback on user side
    • Users can easily add collision detection functionality whenever they want and get the result back from it as scene is updated

Feb 13, 2009

  • Created a 2nd demo page which includes triangle-triangle test
    • Explain the difference between having it and not having it

Feb 12, 2009

  • C3DL meeting
    • extract the code for collision detection out of scene class and create a class of it's own
  • Working on breaking down the updates into smaller steps
    • There was a major lag in performance, need to further investigate on what's the main cause of slow down

Feb 8, 2009

  • created getNextPosition(timeStep) function
    • returns the position of the object after timeStep - ie. get the object's future position

Feb 4, 2009

  • Dropped Tomas Moller's algorithm
  • Reapplied the idea of using line-triangle intersection test from picking
    • Made two important change to get it working
      • performed a check on the variable t to make sure it's between 0-1 (the length of the edges of triangle A)
      • set the accuracy to 0.02 instead of 0.8

Feb 3, 2009

  • Implemented Tomas Moller's Triangle-Triangle Intersection Test algorithm
    • Did not work, might have bugs in the implementation
    • Causes extreme slowdown when objects with more faces exist (ie. sphere)

Feb 1, 2009

  • Triangle-Triangle test failed using Ray-Triangle test
    • Reading/Looking for other ways of doing Triangle-Triangle test

January 2009

Jan 31, 2009

  • Reused code from picking function for triangle-triangle intersection test
    • Using the 3 edges of Triangle A as lines and perform Line-Triangle intersection test

Jan 28, 2009

Jan 25, 2009

  • Started on Triangle-Triangle Test function

Jan 17, 2009

  • Perform initial test for bounding sphere collision

Jan 16, 2009

  • Created bounding sphere for models

Jan 15, 2009

  • Enable callback to collision detection function
  • Created flags for collision detections
    • Set/Get functions

Jan 13, 2009

  • Created wiki page