Difference between revisions of "OnCanvasSymmetryTool"

From Inkscape Wiki
Jump to navigation Jump to search
Line 3: Line 3:
== Description ==
== Description ==


Redesign parts of the Cloned Tiles User Interface.  In particular, I am interested in on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (by placement, I mean what is currently controlled by the row and column fields of the current Create Cloned Tiles dialog).
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row and column fields or the ??? in the current Create Cloned Tiles dialog).




== Related Blueprints ==
== Related Blueprints ==


[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and line tiling]
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]


[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]
Line 14: Line 14:
== Use Cases ==
== Use Cases ==


UC 1) The user wants to choose a symmetry group for a design.
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).


In order to do so, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of PM, they will want to know generally that the  tile will be reflected in one direction and translated in the orthogonal direction and more specifically which direction is the direction of translation and which direction is the direction of reflection.
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of PM, they will want to know at a general level that the  tile will be reflected in one direction and translated in an orthogonal direction.  At a more specific level, they will want to know which direction is the direction of translation and which direction is the direction of reflection.


To support this, we will visualize the tiling pattern.
They may also wish to modify aspects of the symmetry relationships such as changing the orientation of the transformation, changing the size of the transformation (such as the distance of translation, etc).  These items are covered under different use cases below.


* Markers to show operations at edges or corners - will this conflict with transformation markers?
 
* Edges of different styles - will this conflict with selection recetangle?
An on-canvas visualization of the base tile and of the tiling pattern is proposed.
* Shape of base tile, shape of cloned tiles
 
* Markers to show operations at edges or corners
** Potential issue: Conflict with transformation markers
* Use different line styles to denote edges of different styles such as double line for reflection, dashed line for translation.
** Potential issue: Conflict with selection rectangle
* Draw an outline to show the shape and position of base tile as well as shape and position of transformed base tile.  This shape represents the shaw transformed by the underlying algorithm.  If the objects in the base tile cover the entire base tile and do not go outside the base tile, this outline may be redundant.  however, in most cases, the objects do not cover the entire base tile and frequently extend beyond the edges.


[[Media:WallpaperTransformations.png | Transformation images for wallpaper groups]]
[[Media:WallpaperTransformations.png | Transformation images for wallpaper groups]]

Revision as of 00:02, 29 May 2012

The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the "Create Tiled Clones ..." dialog.

Description

Redesign parts of the Cloned Tiles User Interface. In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row and column fields or the ??? in the current Create Cloned Tiles dialog).


Related Blueprints

- Tiling Tool for Wallpaper, Radial and Line tiling

- Symmetrical Drawing

Use Cases

UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).

In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed. For example, if the user selects a symmetry type of PM, they will want to know at a general level that the tile will be reflected in one direction and translated in an orthogonal direction. At a more specific level, they will want to know which direction is the direction of translation and which direction is the direction of reflection.

They may also wish to modify aspects of the symmetry relationships such as changing the orientation of the transformation, changing the size of the transformation (such as the distance of translation, etc). These items are covered under different use cases below.


An on-canvas visualization of the base tile and of the tiling pattern is proposed.

  • Markers to show operations at edges or corners
** Potential issue: Conflict with transformation markers
  • Use different line styles to denote edges of different styles such as double line for reflection, dashed line for translation.
    • Potential issue: Conflict with selection rectangle
  • Draw an outline to show the shape and position of base tile as well as shape and position of transformed base tile. This shape represents the shaw transformed by the underlying algorithm. If the objects in the base tile cover the entire base tile and do not go outside the base tile, this outline may be redundant. however, in most cases, the objects do not cover the entire base tile and frequently extend beyond the edges.

Transformation images for wallpaper groups

UC 2) Create a base tile based on a symmetry group

Drag a rectangle around one or more items. Based on symmetry group specified in toolbar, use bounding box to create a default base tile - will create a group and put base tile inkscape attributes on group If already a base tile? Just select and show the current base tile, do not create a new one

UC 3) Create clones from a base tile using standard symmetry groups

Frieze Select a base tile and ?? click on a path. Base tile is repeated along path using symmetry properties Clipped at beginning and ends of path like text - if path extended? extend pattern clone objects reference base tile and have an offset from base to indicate number of repeats. Alternatively, select a base tile and click to create first clone, drag "left" or "right" to create additional clones based symmetry pattern

Rosette

Wallpaper

UC 4) Modify base tile size, posiiton, orientation, skew, angle and update cloned tiles

UC 5) Change symmetry group of base tile (maybe even allow non planar tilings) and update cloned tiles

UC 6) Apply size and shift deltas to cloned tiles

UC 7) Work with existing SVG documents.