Difference between revisions of "Tiling tool"
m |
(Added guide behavior, replaced "mode" with actions, added transformation options. Still need to finish and add visual elements.) |
||
Line 29: | Line 29: | ||
* The original and its copies can be selected and grouped, and a new transformation can be applied to the group. This allows, for example, for a user to create a symmetrical pattern then use it as a tile. | * The original and its copies can be selected and grouped, and a new transformation can be applied to the group. This allows, for example, for a user to create a symmetrical pattern then use it as a tile. | ||
== | == Symmetry or tiling options == | ||
=== Symmetry or tiling type === | === Symmetry or tiling type === | ||
Line 54: | Line 45: | ||
* Y Symmetry | * Y Symmetry | ||
* Point Symmetry | * Point Symmetry | ||
Can be simultaneous. | |||
| Inkscape internally keeps track of an X-axis and a Y-axis, using their intersection for point symmetry. The X/Y axis group can be rotated. | | Inkscape internally keeps track of an X-axis and a Y-axis, using their intersection for point symmetry. The X/Y axis group can be rotated. | ||
| * If only the object is selected when symmetries are added, Inkscape generates an X and Y axis, aligned by default to the bottom-right of the object's bounding box. | | | ||
* If only the object is selected when symmetries are added, Inkscape generates an X and Y axis, aligned by default to the bottom-right of the object's bounding box. | |||
* If both the object and an axis is selected, Inkscape internally generates the second axis passing through the bottom-right corner of the object's bounding box, and 90% to the selected axis. | * If both the object and an axis is selected, Inkscape internally generates the second axis passing through the bottom-right corner of the object's bounding box, and 90% to the selected axis. | ||
* If the object and a random node is selected, Inkscape generates the X and Y axis to run through this node. | * If the object and a random node is selected, Inkscape generates the X and Y axis to run through this node. | ||
|- | |- | ||
! scope="row" | Tiling | ! scope="row" | Tiling | ||
| All 17 tiling options | | All 17 tiling options available. | ||
| Inkscape generates a guide specific to the transformation type upon application of the tiling. This guide remains editable on-canvas with the Symmetry and Tiling tool. | | Inkscape generates a guide specific to the transformation type upon application of the tiling. This guide remains editable on-canvas with the Symmetry and Tiling tool. | ||
| Because the 17 tiling options use different guide shapes, tiling does not give an option to select existing guides on-canvas. | | Because the 17 tiling options use different guide shapes, tiling does not give an option to select existing guides on-canvas. | ||
Line 80: | Line 72: | ||
|} | |} | ||
=== Actions === | |||
By default, all tiles generated are clones of the original. 3 actions are available to the generated clones: | |||
* Unclump: all generated clones are unlinked from the original. Subsequent transformations to the original no longer apply. | |||
* Combine: Union ('Ctrl' + '+') is applied to the object and all its generated tiles. | |||
* Fuse paths: All end nodes located on guide points (see Guide Points for seamless tiling) are fused into a single node. | |||
=== Guide visibility === | |||
Guide visibility can be toggled on and off, so the user can edit the original object with other tools with the guide is still visible. | |||
=== Guide alignment === | |||
However, although the guide gets aligned after a command, it can still be freely moved. | * See also [https://blueprints.launchpad.net/inkscape/+spec/transformation-anchors Transformation anchor]. | ||
* Rather than serve as transformation anchors though, the guides get aligned to the corresponding corner (they're just to make alignment faster). | |||
* For Radial Clones, users can also choose the orientation. | |||
* However, although the guide gets aligned after a command, it can still be freely moved and transformed. | |||
=== Guide lock === | === Guide lock === | ||
* '''Guide locked to object''': the guide moves and scales with the object. For example, if a vase is made by applying a symmetry to half a vase, moving the original will also move the other half, so the whole vase is moved. In the same way, scaling a tile scales its guide. If an on-canvas axis or node was chosen to apply a transformation, a copy of the resulting two axis are created and move with the object. | * '''Guide locked to object''': the guide moves and scales with the object. For example, if a vase is made by applying a symmetry to half a vase, moving the original will also move the other half, so the whole vase is moved. In the same way, scaling a tile scales its guide. If an on-canvas axis or node was chosen to apply a transformation, a copy of the resulting two axis are created and move with the object. | ||
* '''Unlocked guide''': the guide is absolute, so if the original gets moved, the copy will also be | * '''Unlocked guide''': the guide is absolute, so if the original gets moved, the copy will also be re-positioned according to the original guide position. | ||
== Guide editing == | |||
=== Guide transformations === | |||
Available transformations depend on the guide type: | |||
* All guides save symmetry axes can be resized. All guides can be rotated. Toggling occurs by clicking again as with the Transform tool. | |||
* The angle for the angle tool for radial clones can be edited on canvas, like for the Circle tool. | |||
* Skew is available for some tiling options using . | |||
* Input of numerical values could be available by double clicking a guide corner. | |||
=== Guide points for seamless tiling ==== | |||
* Double-clicking on the side of a guide creates a guide point for seamless tiling. Users can snap nodes to these points to create seamless tiling. | |||
* Copies of this guide point are automatically created at the relevant location on all concerned sides of the guide. | |||
* These points can be moved around. All the other copies move as well. | |||
* Clicking and dragging a guide point while using a modifier (Ctrl? Shift? Alt?) creates an angular guide that appears at all copies of the guide point as well. The user can use this as reference to create smoother transitions. | |||
* '''When "Fuse paths" is applied, all end points snapped to guide points are fused, forming a single continuous path.''' | |||
== Advanced transformation options == | |||
The "Dynamics" button opens up a separate dialogue with transformation options corresponding to the current tiling interface. Major differences are: | |||
* Vertical listing | |||
* Checkbox next to every transformation type, so users can easily remove all of them while retaining some values. | |||
* Radial Clones use Polar coordinates. | |||
* Clones along Path use orthogonal coordinates (normal and orthogonal). | |||
* Users can save and use presets. This includes a "No dynamics" option. | |||
Originally I pondered whether presets should be located at the "Advanced" level or at the top level (i.e. presets include tiling type). But I reason that dynamics such as fading and color hues for example work about the same no matter what tiling type you're using. |
Revision as of 15:11, 4 February 2012
Symmetry and Tile tool
The current tile interface is hard to use. The current proposal for Symmetry and Tiles tool seeks to expand upon its uses while proposing an interface that is easy to use. This proposal proposes 4 modes or sub-tools:
Tool | Description |
---|---|
Symmetry | This tool is destined for users who just want some basic symmetries. Use cases include pattern design and technical drawing. |
Tiling | This tool allows users to use the 17 wallpaper types. |
Radial clones | This is for radial designs, and uses polar coordinates. |
Clone along path | Clones are created along a path. This can be used to create a string of decorations, for repeating frill designs etc. |
General behaviour
Applying any Symmetry or Tile results in the following behaviour:
- If the object isn't a group, a group is made out of the selected object. This allows the user to enter the group and add extra elements.
- A corresponding guide is generated. This guide can be edited with the Tile and Symmetry tool. All guides can be resized or rotated, but further transformations depend on the guide type.
- Copies are generated from the original object.
- The original and its copies can be selected and grouped, and a new transformation can be applied to the group. This allows, for example, for a user to create a symmetrical pattern then use it as a tile.
Symmetry or tiling options
Symmetry or tiling type
Tool | Available options | Guides | Notes |
---|---|---|---|
Symmetry |
Can be simultaneous. |
Inkscape internally keeps track of an X-axis and a Y-axis, using their intersection for point symmetry. The X/Y axis group can be rotated. |
|
Tiling | All 17 tiling options available. | Inkscape generates a guide specific to the transformation type upon application of the tiling. This guide remains editable on-canvas with the Symmetry and Tiling tool. | Because the 17 tiling options use different guide shapes, tiling does not give an option to select existing guides on-canvas. |
Radial Clones |
|
Inkscape generates an angle guide that by defaut is centered on the object's center of rotation. The user can control both the center and the angle of the guide. Two default orientations are available. | All advanced transformations are according to polar coordinates. |
Clones Along Path |
|
A path must be selected when "Clones Along Path" is applied | By default, the point at which the clones snap to the selected path is its rotation center. |
Actions
By default, all tiles generated are clones of the original. 3 actions are available to the generated clones:
- Unclump: all generated clones are unlinked from the original. Subsequent transformations to the original no longer apply.
- Combine: Union ('Ctrl' + '+') is applied to the object and all its generated tiles.
- Fuse paths: All end nodes located on guide points (see Guide Points for seamless tiling) are fused into a single node.
Guide visibility
Guide visibility can be toggled on and off, so the user can edit the original object with other tools with the guide is still visible.
Guide alignment
- See also Transformation anchor.
- Rather than serve as transformation anchors though, the guides get aligned to the corresponding corner (they're just to make alignment faster).
- For Radial Clones, users can also choose the orientation.
- However, although the guide gets aligned after a command, it can still be freely moved and transformed.
Guide lock
- Guide locked to object: the guide moves and scales with the object. For example, if a vase is made by applying a symmetry to half a vase, moving the original will also move the other half, so the whole vase is moved. In the same way, scaling a tile scales its guide. If an on-canvas axis or node was chosen to apply a transformation, a copy of the resulting two axis are created and move with the object.
- Unlocked guide: the guide is absolute, so if the original gets moved, the copy will also be re-positioned according to the original guide position.
Guide editing
Guide transformations
Available transformations depend on the guide type:
- All guides save symmetry axes can be resized. All guides can be rotated. Toggling occurs by clicking again as with the Transform tool.
- The angle for the angle tool for radial clones can be edited on canvas, like for the Circle tool.
- Skew is available for some tiling options using .
- Input of numerical values could be available by double clicking a guide corner.
Guide points for seamless tiling =
- Double-clicking on the side of a guide creates a guide point for seamless tiling. Users can snap nodes to these points to create seamless tiling.
- Copies of this guide point are automatically created at the relevant location on all concerned sides of the guide.
- These points can be moved around. All the other copies move as well.
- Clicking and dragging a guide point while using a modifier (Ctrl? Shift? Alt?) creates an angular guide that appears at all copies of the guide point as well. The user can use this as reference to create smoother transitions.
- When "Fuse paths" is applied, all end points snapped to guide points are fused, forming a single continuous path.
Advanced transformation options
The "Dynamics" button opens up a separate dialogue with transformation options corresponding to the current tiling interface. Major differences are:
- Vertical listing
- Checkbox next to every transformation type, so users can easily remove all of them while retaining some values.
- Radial Clones use Polar coordinates.
- Clones along Path use orthogonal coordinates (normal and orthogonal).
- Users can save and use presets. This includes a "No dynamics" option.
Originally I pondered whether presets should be located at the "Advanced" level or at the top level (i.e. presets include tiling type). But I reason that dynamics such as fading and color hues for example work about the same no matter what tiling type you're using.