Most domains of life can be reduced to a base of unitary components, which can, by combining and recombining, create or explain any object in that domain.
A little bit of math introduction is, unfortunately, necessary for this one...
In math, algebra if i'm not mistaken, there is the notion of Vector space : sets of vectors with some properties. In a vector space, there is a base - one or more - a set of unitary vectors that can explain any other vector in that space, so a vector
v = (a1*b1 + a2*b2 *... * an*bn)
- where you have the base is (b1, b2...bn)
and a set of scalars (numbers) which are (a1, a2...an)
. these are the "coordinates" of v
in the base B
.
For instance, any point in 3D space can be represented as a set of coordinates (x,y,z) along the three familiar axis.
The important generalization to note is that, from what i remember, everything in the real world can be proven to be a vector space and thus encoded in one or more bases.
To note that the elements of a base must be able to explain any vector in the space and any vector in the space to be explained in terms of that base.
I hope i made that somewhat clear - read more at Vector_space#Basis_and_dimension.
As long as we all agree what the base/axis really are and where the origin is, we can all communicate the set of coordinates to indicate any point in 3D space.
The beauty of the vector system is that the coordinates are generic: they do not have anything in common with the nature of the vectors, but are just imply numbers of quantifiers of some kind - because the "base" of common, unitary vectors captured the nature of that vector world...
Modelling is the art of figuring out a mathematical model for a real system.
Also, all "shapes" in the respective vector space are functions of one or more variables, but in terms of the scalar coordinates.
All "movement" in the respective vector space then is a function of coordinates and time, like sinus would be in 2D: y = sin(x). In 3D space, functions are z = f(x,y).
This way simple mathematical functions on scalar numbers can explain movement, trajectories, shapes and other objects in any vector space.
Extrapolating from here, if you model your domain correctly, complex objects in that domain may be modeled as functions in the vector space... now, is that abstract or what?
Most domain can be reduced to a base of unitary components, which can, by combining and recombining, create or explain any object in that domain.
For instance, all sports can be decomposed to a basic set of skills or movements which, recombined in different sequences and amounts, can create any move or set of movements of that sport, see Skiing Encoded++ for an example, where skiing was reduced to a few basic movements which can be combined and re-combined.
That, by the way is one trait of a "master coach" - the ability of braking down the sport to a set of basic elements (skills or movements), communicate them clearly, teach and practice them individually and then recombine them back into the "game". Idea from the excellent training book Practice Perfect++.
In computer science, any domain can be reduced, via a modelling language, UML, to "classes", "attributes" and "associations" for instance.
It is a life-skill to :
first) identify domains and relationships when looking at the physical world around you second) see through the different manifestations around you and identify one or more bases for these domains, at the same time