System of Shape | Classification system for shapes
How to differentiate two shapes? Where is the difference between two shapes? While we are talking about a shape, we are talking about a specific shape, or the class of shape? When we say "triangle", we mean a specific triangle, or shapes with the features of triangle? How do we classify shapes? In what levels? With what features? Based on what features we are able to say "Hey! These two shapes are different" ? Do we have a system to classify shapes? I know we have a system to classify nature, but how about shapes? What if we want to classify shapes, what system we can use? Based on what criteria? Eyes? Maths? Anything else? Can we ask someone to draw a shape we want, for instance: "Please draw a shape, this shape has three lines, six vertices. Two lines are jointed together with a vertex and the other line has an intersection with one line and has another intersection with another line. One intersection is a T-like intersection and the other is a X-like intersection." Can she/he draws a shape for us based on this description?
Here are two shapes we may think they are different. However, both shapes have three lines, an "L" and a floating line. Both shapes have three construction lines and these three construction lines have the same configuration. Briefly, they have the same structure (they are isomorphic) and they have the same underlying lines (construction lines). So, why they are different? The difference is the spatial relationship. The way the "L" and the floating line are arranged. Thus, here is a question: what kind of features we need to differentiate them or what information (data) we need? Good news is, we already found the features! Here are some examples:
Figure 01 - Differentiating the shapes with different spatial relationship
Another example we are interested in is "K" and "Ψ". These two shapes have the same structure (yes, they are isomorphic again) and they both have the same number of edges (lines), vertices including endpoints and intersections. The adjacency relationships among vertices are the same. So, again, why they are different? One more time, the simple answer is spatial relationship. We can view these two shapes as a composition with three lines with an arrangement that two "legs" connecting to one "spine". The difference is how these two legs are arranged. Are both legs in the same "side" like a "K"? Or, are these two legs are in different sides like a "Ψ"? What features we need to differentiate them? Or, how do we make the descriptions for these two shapes (to distinguish them)? Fortunately, we already found the features! Here are some tests:
Figure 02 - Differentiating "K" and "Ψ"
This kind of discussion can be also on "N" and "C". "N" and "C" are isomorphic, both shapes are a polygon with three line segments. Both shapes are a "continuous" polygon and the spatial difference is how these three segments are arranged. The features we used to differentiate "N" and "C" are the same as we used to differentiate "K" and "Ψ". Here are some tests:
Figure 03 - Differentiating "N" and "C"
Let's take a look at one more example: "Z" and "S". Again, these two shapes are isomorphic. Both shapes are continuous polygon with five line segments and the spatial relationship are very similar. But, in some level (what are the levels? we have other levels?), they are viewed as different shapes. So, the feature we used to differentiate these two shapes is the configuration of construction lines. Construction lines can be seen as the "guide lines" for the lines in a shape, we can say that construction lines are a part of spatial relationships. So, there are four intersections of construction lines in "Z" and six intersections of construction lines in "S". That's how we differentiate them. Here are some tests:
Figure 04 - Differentiating "Z" and "S"
For a long time, I thought dealing with an issue of shape recognition. It turns out I am dealing with an issue of shape classification, just like Carl Linnaeus did. "Recognition" is based on certain features which are already known, for example, when we show a frog picture to Google, Google will give me an answer: "Hey! This is a image of a frog!" But, if I show it an image of a creature which is just discovered (it is even without a name), then Google will say "Uh...it looks like a frog, but I don't know what kind of frog it is." However, if I put this creature into Carl Linnaeus's system, this system will give me a name, a new name. This is a question of classification, instead of a question of recognition. I spent a lot of time to figure out that I am actually working on a classification problem, not a recognition problem.
Let's go back to my research. If I draw a shape which is totally new, never exists before and never has a name, how we can name it? What features I should use to classify it? What kind of system I should follow? One more question: WHY DO I NEED TO NAME IT? My answer is simple: ONCE WE NAME IT, WE CAN USE IT!