Unified transform tool
This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
Unified transform tool | Michael Grosberg | 16 Apr 14:13 |
Unified transform tool | Ofnuts | 16 Apr 19:28 |
Unified transform tool | Ayush Goyal | 16 Apr 20:55 |
Unified transform tool | Michael Grosberg | 17 Apr 06:31 |
Unified transform tool | Ofnuts | 17 Apr 17:40 |
Unified transform tool | Michael Grosberg | 18 Apr 11:57 |
Unified transform tool
There has been some interest among the GSOC applicants to work on the unified transform tool.there already exists a very original specification for this tool.
But I have some reservations about the transform frame being a bit too complex. I wrote an alternative suggestion. This is not a complete spec, just a direction the transform FRAME might be taken to, in order to make it easier to use.
You can read it here: http://bit.ly/hIJdxW
I'll be glad to hear any feedback you have.
Unified transform tool
On 04/16/2011 04:13 PM, Michael Grosberg wrote:
There has been some interest among the GSOC applicants to work on the unified transform tool.there already exists a very original specification for this tool.
But I have some reservations about the transform frame being a bit too complex. I wrote an alternative suggestion. This is not a complete spec, just a direction the transform FRAME might be taken to, in order to make it easier to use.
You can read it here: http://bit.ly/hIJdxW
I'll be glad to hear any feedback you have.
Symmetry mode is not well defined... In your drawing, you drag on top-right and the top-left follows (vertical axis), but it could as well have been the bottom-right (horizontal axis), and even the bottom-left (radial).
IMHO, your proposal, like the original one, doesn't address a very frequent use of these transforms, which is to match the transformed object with an existing one. In that use-case, having a fixed point elsewhere than in the center for the whole transform is very useful. There is such a thing for rotation (the axis can be moved), but not for scaling (where the fixed point is either a corner or the center). Imagine for instance that you want to graft a new face on a picture: with an arbitrary fixed point for scaling, you would move a pupil over the matching one of the target face, and select that point as the fixed point. The rest of the process in one gesture to rotate/scale the new face so that the second pupils match (that is mathematically very simple since rotation and homotecy have the same center). Without it, it is a long sequence of small steps, because you can't adjust the scale without moving your reference point.
Unified transform tool
I agree with Michael that the design in the proposed specification although looks cool , it can be complex for first time users. Having said that I personally like the original specification as it is more clean and efficient once understood.
Inkscape has a more easy approach to this but it doesn't offer that much transformations as required in this tool. The original specification provides all the tools in a single view rather than toggling to different mode for different transformations. For different users the choice may be different. In my opinion tools incorporated in the unified transform tool should be of basic transformations. Adding too many of them can cause more confusion than providing utility. We can also provide an option for users to select between the super frame mode(the original specification) and normal transformation mode (for a simple specification as suggested by Michael) which i think should not be hard enough to implement.
The idea suggested by Ofnuts to set different scale point is noteworthy. There should be a provision for changing the axis for different transformations(not only for scaling,rotation but also for perspective and shear) with a reset button to restore defaults. These are just some of my ideas and opinion regarding this. For a better implementation we need to more ideas and suggestion both from users and developers.
Unified transform tool
Ofnuts laposte.net> writes:
Symmetry mode is not well defined... In your drawing, you drag on top-right and the top-left follows (vertical axis), but it could as well have been the bottom-right (horizontal axis), and even the bottom-left (radial).
As I did mention, it was not a complete spec. The points you raise are valid, but they are already treated well in the original spec, and I only wanted to present the differences.
In distort mode, Symmetry is applied to the larger distort delta of the two axes, i.e. if you distort a corner point 20 px to the right and 10px to the top, the symmetry will be horizontal.
IMHO, your proposal, like the original one, doesn't address a very frequent use of these transforms, which is to match the transformed object with an existing one.
Actually, the original spec DOES mention that scale from center is toggled by the CTRL key. Moving the center point lets you scale from any given point.
Unified transform tool
On 04/17/2011 08:31 AM, Michael Grosberg wrote:
Ofnuts laposte.net> writes:
Symmetry mode is not well defined... In your drawing, you drag on top-right and the top-left follows (vertical axis), but it could as well have been the bottom-right (horizontal axis), and even the bottom-left (radial).
As I did mention, it was not a complete spec. The points you raise are valid, but they are already treated well in the original spec, and I only wanted to present the differences.
In distort mode, Symmetry is applied to the larger distort delta of the two axes, i.e. if you distort a corner point 20 px to the right and 10px to the top, the symmetry will be horizontal.
IMHO, your proposal, like the original one, doesn't address a very frequent use of these transforms, which is to match the transformed object with an existing one.
Actually, the original spec DOES mention that scale from center is toggled by the CTRL key. Moving the center point lets you scale from any given point.
Assuming we are both talking about
, this
is not how I read it... there is the rotation axis, and the centre, that
is defined as "the point where the two diagonals through the corner
points cross".
The spec for the rotation does specify that the rotation axis can be dragged (that part would have been moved outside of the rotation transform it were usable with other transforms)
The spec for the scaling, when using the "from centre" constraint, says "translate the opposite side by the same distance" which implies that the centre is equidistant to both sides and thus is still the centre defined above. An arbitrary fixed point would have implied the use of "proportional" somewhere in the spec.
I may be wrong.
Unified transform tool
Ofnuts laposte.net> writes:
The spec for the scaling, when using the "from centre" constraint, says "translate the opposite side by the same distance" which implies that the centre is equidistant to both sides and thus is still the centre defined above. An arbitrary fixed point would have implied the use of "proportional" somewhere in the spec.
I may be wrong.
No, upon closer reading, you appear to be right. Which is a shame, scaling from an arbitrary point is indeed a much-needed function.