2 math approaches: 1 easy, works well on small objects, and 1 more involved, suited for large objects
No download links available.