If you had 80,000 icons to move things around on you screen, how much space would need? Odds are there will not be
any workspace left. The disk on the right has 98,696 pixels. Remove a few for a control hub and you wind up with 80,000
icons or so, 1 pixel square. Add a few absolute direction paths and a few option plates, and you have a 3D-Controller.
The image on the left can move things around realtime in 3D space. Have you ever wanted a icon controller to move by steering objects around like your driving a car or flying a airplane ? How about a 3D nudging tool that has 80,000 icons. Sounds bizzar? That is what this image controller does. It will perform 5 basic functions and will also record the motions for playback. To add a full 6 way direction, you need two color image plates. To work in 2D with 3 different viewports, you need three more color plates, some way to move it around, have different scaling values, and support both positive and negative values. Now add in the realtime dynamic driver to detect direction change, and a few options like hover and screen taping/clicking. Add a compass diagonistic and edge detector and you wind up with a magical circular image that you can hover a cursor above or click on.
How does it work ?
Each pixel is engineered to be a total value of 200 with either RG RB GB values and the third value of the RGB color is 0. The XYZ and RGB values are one in the same for Distance. X is Red, Y is Green and Z is Blue. Direction is by evaluating pixel value at cursor position compaired to the previous cursor position and RGB values. I ran into all kinds of problems with paint programs and hade to build a image one pixel at a time.
This second Image was built in Rhino with a special
program I wrote to build 1 mm square surfaces and color them as they were built. I tried different paint programs but could not
get the pixels to be at total of 200 with only 2 colors present. Second problem was it is square and I needed a circle.
This is where paint programs enter, I could do the rgb
replacements and mirroring in them, a few surface revolves in Rhino to get the maping circular, and I wound up with my first test
disk. Now I could start to play around with it. Well, even though I have 3 color, 6 directions, I did not have the ability to go
between a positive blue - positive green with the first disk. So along came disk 2. Now the controller has to swap plates when your
working in a perspective or isometric viewport. Okay now we are cooking, its not all that bad because there are really only 2
colors that swap on the left side of the 3 color plates. A single plate works great for directional nudging but has problems when
driving or flying. You really need a way to go any direction at any time.
Along comes 3 each 2D orthographic plates. Note the hub colors change slightly. So now the plate count is up to 5 and getting more complex that I wanted. However the 4 viewports in Rhino now have a special plate for each viewport, note that 2 of the plates have Z pointing up/down so they work in a max viewport and with the world coordinates.

Okay, so now what. Well I wanted to offer as many options as possible to use the five plates. Driving, thats something you may want to do in a animation. Its hard to model with a drive option because the selected object moves as if its being driven around like a car or airplane. The rest of the styles can be used when your modeling. What about recording and having a sub-macro run when your driving stuff. Say you want a helicopter blade or two spinning at the same time its flying. The text file can be read in per frame so you can use motion scripts and record them for playback later. Why play back ? ... The objects can get heavy with details and take along time to update the screen. If you record with a few curves on layers that are used in the script, then recording speed is alot faster, then after a few test runs using a wireframe skeleton are run, substitute the wireframe for the real objects and re-run the replay with the real stuff.
Currently the program is for v2 only. I want to spend some time with it in v3 before I publish it. Check back later if your interested in playing around with it.
Doug