Non-spherical particles
scordee, Irana Denissen will implement ellipsoids and rods
General non-spherical particles
http://www.sciencedirect.com/science/article/pii/S0009250914007040: article with many references and some basics about moment of inertia.
Notes from Wouter, this is what Thomas used to implement quaternions.
Cylinders
Contact detection
This group has already implemented rods, maybe we can just copy their algorithms? They seem to work pretty well. First paper is algorithm description, second paper validation.
More modern paper, which reduces contact detection of cylinders to 2D contact detection between sphere and ellipse, and sphere and line.
Old paper, which does not cover all cases. Source code is available though:
http://www.sklogwiki.org/SklogWiki/index.php/Rev._source_code_for_the_minimum_distance_between_two_rods_in_C
Force computation
Inertial moment computation
Ellipsoids (or maybe superquadrics?)
Contact detection
Option from Matuttis-Cheng book: write as generalised eigenvalue problem (this book advises against using ellipsoids)
Force computation
Inertial moment computation
Mercury implementation
- Quaternions already exist, and are a part of every BaseInteractable
- We probably want to inherit from BaseParticle?