Campbell Barton 888c4d0766 BLI_convexhull_2d: optimize AABB fitting method
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.
2024-02-13 21:29:46 +11:00
2024-02-09 16:46:35 +11:00
2023-12-08 13:28:13 +11:00
2024-01-16 17:30:38 +11:00
2023-08-16 19:29:47 +02:00

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.

Blender screenshot

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
No description provided
Readme 841 MiB
Languages
C++ 78%
Python 14.9%
C 2.9%
GLSL 1.9%
CMake 1.2%
Other 0.9%