I just needed to vent a bit.
Several months ago, I created an algorithm that looped through a polygon's vertices and removed any and all cases of self-intersections. For my algorithm to work, I needed to first find a point on the convex hull of that polygon. For that, I implemented something along the lines of this: https://en.wikipedia.org/wiki/Gift_wrapping_algorithm
Now, this is all cool. However, someone just pointed out to me yesterday, that if I just need to find a point on the convex hull of a polygon, any point, then why not just take the vertex with minimum x and y values? Well, because... and at this point I realised that I had completely missed an obvious, easy and guaranteed solution. In fact, it can even be made easier by just looking for a vertex with minimum x value, since that vertex is also guaranteed to be on the convex hull.
So, my fancy solution was replaced by a simple for loop, like the one below:
local hullPoint, minX for i = 1, #vertices do if i == 1 then minX = vertices[i].x hullPoint = i else if vertices[i].x < minX then minX = vertices[i].x hullPoint = i end end end
I'm still having difficulties with grasping how I failed to see this.
But, what's your worst case of "how did I not see that?"