Designing Patterns: For Decoration, Fashion and Graphics