888c4d07667bfcd659e67550dd92632219f3ffb7
Previously the bounding box was calculated for each rotation, even though the loop would early exit if the area exceeded the best known area, this meant the areas of the bounds was checked for each point too. This scaled poorly, close to O(n^2). Replace this with simple logic that keeps track of the indices at the bounds, advancing them forward for each rotation. This is around ~140x faster for a hull with 10k points on my system. Note that there is potential for other improvements although the cases where this new method doesn't perform well are quite specific and faster than checking all points, see code-comments for details.
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
