“min” represents the bottom left corner of a bounding box, but “min” actually is a geometric point.
Look at this graph: Min/Max Example | Desmos
Notice how there are two points defined, labeled “min” and “max”. They both consist of an x and a y value, which defines where they appear on the X/Y axes of the graph. Also notice how there are two dashed lines extending outwards from each point. Where the lines coming from “min” intersect with the lines coming from “max”, a box is formed. As you drag around one of the points, the invisible box in the middle changes shape and can become any possible box. In other words, even though there are only two points on the grid, any axis-aligned box with four sides and four corners can be inferred from these two points.
When I refer to min.x, I’m referring to the x component of the point labeled “min”. So if “min” is a point defined as (2,3), “min.x” would refer to the x component of 2.
Like I mentioned above, 2D points are represented in Unity as a type called “Vector2”. You can make a new Vector2 and assign values to it, and then access those values:
Vector2 myValue = new Vector2( 2, 3 );
Debug.Log( myValue.x ); // will print "2.0" to the console
The Bounds type has two Vector2 values inside it called “min” and “max”. You access the x and y components of these Vector2 points the same way that you would with a Vector2 you make yourself, so to access the x component of the “min” point inside a bounds object, you would do this:
bounds.min.x
So when I’m saying that you can get the top left corner from min.x and max.y, I’m speaking in code terms. To get the four corners of a bounding box in Unity, you might do the following (this is actual code from the spinning collider example I made above):
Bounds bounds = coll.bounds;
Vector2 bottomLeft = bounds.min;
Vector2 topRight = bounds.max;
Vector2 bottomRight = new Vector2( topRight.x, bottomLeft.y );
Vector2 topLeft = new Vector2( bottomLeft.x, topRight.y );