
On 7/6/07, Bill Baxter <wbaxter@...400...> wrote:
No, that doesn't work if you don't do the shift thing initially. So maybe it's just a bug. You get two handles that work, and a third one floating in space that moves diagonally but has no effect.
Yes, I noticed that too. It's a bug.
Anyway, compare with how arcs are created, for instance. You create an initial circle/arc by a click-drag-release, then you set the wedge angle you want by dragging on a handle. And the last arc angle is remembered by the tool. I think that is how the 3D box should work too.
Agreed. It would be interesting to treat the Z-axis depth of boxes as a property of the box which is to be remembered the way the angle of an arc is remembered. By providing some sensible default value for the depth, this will address the discoverability problem of the Shift+drag technique and will make it much easier to make many boxes of the same depth, which is a common enough use case. However, we don't need to lose Shift+drag - it can still be used while drawing to change the default depth, so that a box of any depth can still be created with one mouse drag.
As far as the goal of being able to specify perspective is concerned -- I'm a little unclear what the interaction is going to be like for creating vanishing points that are very far away, but not infinite. Say you want lines not to be parallel but converging just slightly, to a vanishing point that's, say, 5 screenwidths to the left. Sure you could enter in a numeric value to place the vanishing point, but that's not very intuitive. I think it would be more useful to provide an alternate click-drag operation for the vanishing point lines. Say Ctrl-drag on one of the vanishing lines changes the distance to the vanishing point by some inverse function like 1/(dx+k) where dx is the mouse motion and k is some constant. That's probably not the right function exactly, but anyway making it inverse means you can get to an infinite vanishing point with a finite amount of mouse dragging, in exchange for making it take infinite dragging to get to zero. But by the time you're close to zero you'll be within reach of the vanishing point for direct click and drag anyway, so that should be ok.
Yes, we discussed that already. One of the things that will be implemented is: simply drag the line that goes from the box to the vanishing point and that point will correspondingly orbit the center of the box (and all other selected boxes sharing this VP will update accordingly). Then we can similarly provide a way to move a VP along the line (apart from directly dragging it), for example by Shift+dragging along the line, perhaps with some kind of exponential effect as you suggested.