|
I figured much the same way with mind's eye; much like my thoughts, I "visualize" in a very abstract fashion. I don't see the object, I just know it. So there are in fact people, who see it? I do. I don't really know what to say about it, so if you have any specific questions, feel free. I'll try to explain what it's like. Example: when I see a math expression x times y, I mentally see a rectangle with side length labeled "x" and perpendicular labeled "y". So understanding (x+h)*(x+h) = x^2 + 2xh + h^2 was totally natural for me. It's not abstract symbols to me, it's pictures in my head. I see a tiny square in the upper right labeled "h^2", and a big square in the lower left labeled "x^2", and two rectangles along the edges labeled "xh". I never memorized the derivatives of sine or cosine. I just figure them out whenever I need them. Takes a half second or so. Basically, when I need to know a derivative like sine, in my mind I pull up a function plot of sine. I look at the origin (x=0,y=0) and visually see that it passes through the origin and slopes upwards. So I know "when it starts out, sine is already sloped upwards, and as it goes along it slopes less and less, so therefore its derivative starts out as some large positive quantity and decelerates, which is exactly how cosine behaves. So the derivative of sine is cosine." For the derivative of cosine it's similar. I pull up its graph in my head and go "oh, it starts out with zero slope, but then as it goes along it slopes downwards, so it has a negative derivative. Sine starts out at zero, and negative sine would slope downwards as it goes along, so the derivative of cos is -sin." The process isn't as clearly separated as the words I'm using though. When someone's talking with me about a program's architecture or about a design concept, I picture nodes in my head representing the components of the program. If he mentions a module, I create a new node and label it. If he says it interacts with another module, I draw a connecting line. Eventually I'll have a mental picture of the full system as we're talking. I usually have a crisp mental picture of each function I write, before I write it. Not individual lines of code; just a clear understanding of its structure, the steps it will perform, and all possible side effects. My favorite time is just before I nod off to sleep. Laying there with my eyes closed, a dark "hallway" seems to form in front of me, and I start to float forwards through it. Shapes begin to emerge toward me out of the blackness, and I morph them into animals or goblins or whatever I feel like molding them into. Sometimes I lose control and my mind generates horrifying faces or misshapen bodies. I see all of this with the same clarity as waking vision, and the colors are just as vivid. But it's a very narrow field of view, as if I can't see more than a spotlight's width at a time. |
I do, however, do exactly the same thing when derivating the sine function since it is so closely associated with the graph of sin(x) by default.
I found your example of building system diagrams interesting. I think I may do the same thing, but often it is unconscious. I do not see the image as I'm constructing it, but if I look, it's probably there.
I'm also tempted to suggest that I have a secondary mode of thinking that involves constructing arbitrarily complex logical trees (i.e. if this is the case, then this must be the case) since I seem to detect logical inconsistencies intuitively and without delay. I do not see them, they just occur to me with no representation at all. Perhaps this is a bit like the "just know it" type of thinking expressed in the parent post.