In order to continue an explanation of the relationships I see between art and engineering I will expand a bit what I've mentioned in previous posts. The abstractions that are employed to master use of the "objects" of each discipline are the same, the process of solving a problem involves first, isolating the objects and understanding their parameters or attributes in detail, followed by building the solution with the objects , while adhering to the parameters or interface attribute constraints. In the drawing analogy , the idea of shape covers what in programming is expressed by interface.
The final step involves making a view of the objects constructed to solve a particular problem. In software engineering the view defines the scope of the solution, how efficient it should be in a given work domain, how scalable it should be, how intensive in resource utilization it should or should not be. In drawing, the view maps to the visual idea of perspective, how does the physical object appear when observed through a hypothetical camera in a given position given its known physical extent, it's translucence, it's texture or illumination. In both cases we are painting a solution from the vast possibility of options in the problem space by discretization of the properties of the view.
As mentioned in sent2null space: objects , abstractions, symmetry and pop corn??? with practice of creating the object abstractions from the problem space comes an appreciation for using symmetry to vastly reduce the work required during the implementation stage. In art this involves taking advantage of geometrical symmetry, cylindrical, spherical , ellipsoidal characteristics are seen in the objects and transformations on these primitives allow real time computation of intermediate positions of the object from a desired view. In software engineering, the symmetry prevents itself in taking advantage of constraints of the over all design to avoid doing work that is computationally or memory inefficient.
Today I had a discussion where explaining these similarities were hard to come by, though I was some what successful in my endeavor mostly the correlation between solving and art problem and solving a software object problem was hard for the listener to absorb. The difficulty in seeing the connections aside, I think a great deal of effort can be avoided by taking advantage of these ideas in any area of study. Another example should help, this one comes from my training as an electrical engineer. In electrical engineering, the task of designing an electronic or electric device involves the exact same steps of object learning, object building, object symmetry finding and finally solution synthesis.
In the ee design world, the objects are discrete components which not surprisingly have constraints on their behavior when placed in an electrical circuit or circuits. Inductors store magnetic energy as a result of the thickness and length, density and type of windings used, capacitors store electric charge based on the area of plates, their separation and again the type of material. The key to understanding how to build circuits with these components is to first understand intimately the components, what they do when fed a signal and why...this is the same as knowing how the component is "viewed" , to use the drawing analogy again, or of knowing how an object with a given attribute set and return type will behave when fed a given set of values.
Again, the act of solution synthesis involves the same abstractions, as well an eye for symmetry allows simplifications to be revealed ... standard electronic circuit design involving non linear components like capacitors and inductors , diodes and transistors were solved using large sets of simultaneous equations that expressed the instantaneous (time dependent) relationships between the circuit components. Later, methods were developed to take advantage of the continuous time response of the components , these allowed integro differential equations to be solved for specified initial conditions of time and other parameters like frequency, voltage or current and thus expedited solution.
Recognizing the symmetry of frequency in various circuits allowed the application of transformational solutions. The Fourier and Laplace transforms being key methods to reduce the order of complexity for complex electronic circuits and thus make certain hard problems easy and certain virtually impossible problems only hard to solve. Each solution method employed a deep understanding of the object relationships of the component level in conjunction with a recognition of symmetry that allowed solution short cuts to be made.
Today , no modern electronic circuit designer would think of solving complex circuit values without use of the advanced transforms usually in a simulation package like Matlab. So , as in art and software design, electronic design proceeds efficiently from understanding objects, abstracting views, utilizing symmetries and then synthesizing solutions. As I come up with more examples that correlate (one that I think of now off hand is cooking) I'll write a post to show the relationships but hopefully this latest post cleared up the idea some what...well I hope it did anyway. ;)