Random Image
Site Visitor Trivia

Visits today:4
Visits yesterday:75
Visits in this month:79
Visits in previous month:1633
Visits in this year:16226
Visits in previous year:14747
Visits total:67822
Max.daily visits:748
Day of max visits:2013-06-12
Max.monthly visits:3714
Month of max visits:2013-06
Impressions today:33
Impressions yesterday:194
Impressions this month:227
Impressions total:298985
Bots today:10
Date since:2010-08-27
Visitors By Country
Top 5:
Unknown flag 37%Unknown (25129)
United States flag 15%United States (10064)
Germany flag 6%Germany (4174)
Russian Federation flag 4%Russian Federation (2678)
China flag 4%China (2583)
67822 visits from 140 countries

I began writing MathGeoLib some time around the summer of 2011. The library has come a long way since and it now contains a range of common geometry types and different operations related to them. One of the recurring issues has been the problem of computing minimal enclosing shapes for 3D meshes for culling and collision detection. Code for generating minimum enclosing axis-aligned bounding boxes (AABB) was included in MathGeoLib right from the start, and finding minimum enclosing spheres was added almost immediately in November 2011. Convex hull computation was added in 2012. These covered three very common geometric collision shapes, but for oriented bounding boxes (OBB), another very common collision primitive, MathGeoLib did not have anything to offer for a long time. This was due to the fact that there did not really exist any good algorithms for finding minimum enclosing OBBs, and brute force or principal component analysis (PCA) were the most common approaches. This means a choice of getting either practically the optimal result extremely slowly, or possibly an arbitrarily bad result very quickly. A number of intelligent numerical optimization algorithms have been crafted to help this issue, but since those are not able to give any guarantees either, and I could not find any reproducible implementations, they did not feel right.

Last Updated (Friday, 05 June 2015 13:08)

Read more...

 

When doing research that involves concrete programming, it is absolutely important to be able to confirm that the code and the results are correct. Last year when I was writing the survey on Rectangle Bin Packing, I used a battery of test functions which affirmed that the generated packings were legal for each algorithm. However, it does not guarantee the quality of the packings, and the results, while correct, can still be suboptimal.

Last Updated (Sunday, 08 January 2012 15:29)

Read more...

 

Along the years, I have accumulated tons of different utility functions for performing games-related geometric tests. Recently, I was faced by a task of implementing a generic script API for math and geometry handling. It would become a part of a generic API for a script-driven 3D engine. The scripting system would be used potentially by people who are very unfamiliar with scripting, and possibly even with mathematics. Around the same time, I was investigating developing code for a project that uses the Android NDK platform, and was looking for a math library to use on that architecture.

 

Read more...