Generative art with JavaScript and SVG utilizing scalable vector graphics and algorithms for creative coding and design

This book introduces you to the exciting world of generative art (artwork that are solely or partially created with the use of an autonomous system) through the medium of SVG and JavaScript. More specifically, it will teach the use of Graphery SVG (gySVG), a JavaScript library that closely mirrors t...

Full description

Bibliographic Details
Main Author: Matthew, David
Format: eBook
Language:English
Published: New York, NY Apress 2024
Edition:[First edition]
Series:Design thinking series
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 05900nmm a2200421 u 4500
001 EB002207461
003 EBX01000000000000001344662
005 00000000000000.0
007 cr|||||||||||||||||||||
008 240503 ||| eng
050 4 |a N7433.8 
100 1 |a Matthew, David 
245 0 0 |a Generative art with JavaScript and SVG  |b utilizing scalable vector graphics and algorithms for creative coding and design  |c David Matthew 
250 |a [First edition] 
260 |a New York, NY  |b Apress  |c 2024 
300 |a 273 pages  |b illustrations 
505 0 |a Chance in Action -- Probability Distributions -- Uniform Distribution -- Gaussian Distribution -- Pareto Distribution -- Masking Our Content -- Summary -- Chapter 5: The Need for Noise -- Random Limits -- Making Noise -- Noise Explained -- The SvJs Noise Module -- Into the Noise Matrix -- A Noisy Grid -- Mapping the Noise Values -- Optimize with Style -- Spinning Noise -- Mapping and Constraining -- Rotating and Translating -- Summary -- Chapter 6: The All-Powerful Path -- The Path Element -- D for Data -- Path Commands -- Starting and Ending a Path -- Straight Lines -- The Simple L 
505 0 |a Includes bibliographical references and index 
505 0 |a Variables -- Operators -- Arithmetic Operators -- Comparison Operators -- Logical Operators -- Conditional Statements -- Loops -- The While Loop -- The For Loop -- Functions -- Function Parameters -- Invoking Functions -- Scope -- Anonymous Functions -- Arrow Functions -- Objects and Arrays -- Arrays -- Objects -- Classes -- Idiosyncrasies and Other Features -- Null and NaN Weirdness -- Secret Casting -- Semicolon Uncertainty -- Summary -- Chapter 3: All About SVG -- The Parent SVG Element -- The Viewport and ViewBox -- Setting and Getting Values -- Quicker Element Creation -- Lines and Shapes 
505 0 |a Horizontal and Vertical Varieties -- Further Economies -- Quadratic Bezier Curves -- Control Points -- A Smooth Shortcut -- A Quadratic Slinky -- Elliptical Arcs -- Setting the Flags -- Irregular Radii -- Generative Arcs -- Cubic Bezier Curves -- Cubic Control Points -- S for Symmetry -- Organic Curves -- An Easier Option -- Summary -- Chapter 7: Motion and Interactivity -- Event Listeners -- Event Types -- Event Parameters -- Triggering the SvJs Save Method -- Creative Cursor Tracking -- The SvJs trackCursor() Method -- Interactive Ellipses -- Programming Motion -- CSS Keyframes -- The SMIL Way 
505 0 |a Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Chapter 1: The Beginner's Path -- Why JavaScript and SvJs? -- Introducing Scalable Vector Graphics -- Native SVG -- Generating SVG -- Getting Set Up -- The Code Editor -- Node.js and NPM -- Initializing and Installing SvJs -- Scaffolding Our Sketches -- Serving Our Sketches -- Our First Generative Sketch -- Summary -- Chapter 2: A Programming Primer -- Syntax -- Case Sensitivity -- Spacing -- Semicolons -- Comments -- Values -- Numbers -- Strings -- Booleans -- Empty Values 
505 0 |a Rectangles and Squares -- First Strokes -- Circles and Ellipses -- Lines, Polylines, and Polygons -- Text and Titles -- Definitions -- Gradients -- Patterns -- Grouping and Reusing Elements -- Summary -- Chapter 4: Randomness and Regularity -- Analogue and Digital Randomness -- The SvJs Gen.random() Function -- Elements Everywhere All at Once -- Varying Color and Opacity -- Varying Element Selection -- Regular Grids -- The Nested For Loop -- A More Flexible Grid -- Clip Paths and Color Palettes -- Arrays of Colors -- Clipping Our Content -- Choice and Chance -- The SvJs Gen.chance() Function 
653 |a JavaScript (Computer program language) / http://id.loc.gov/authorities/subjects/sh96004880 
653 |a SVG (Document markup language) / http://id.loc.gov/authorities/subjects/sh2002004644 
653 |a JavaScript (Langage de programmation) 
653 |a Art génératif 
653 |a generative art / aat 
653 |a Generative art / http://id.loc.gov/authorities/subjects/sh2020000300 
653 |a SVG (Langage de balisage) 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
490 0 |a Design thinking series 
024 8 |a 10.1007/979-8-8688-0086-3 
776 |z 9798868800863 
776 |z 9798868800856 
856 4 0 |u https://learning.oreilly.com/library/view/~/9798868800863/?ar  |x Verlag  |3 Volltext 
082 0 |a 776 
520 |a This book introduces you to the exciting world of generative art (artwork that are solely or partially created with the use of an autonomous system) through the medium of SVG and JavaScript. More specifically, it will teach the use of Graphery SVG (gySVG), a JavaScript library that closely mirrors the SVG spec and makes scripting SVG very intuitive and enjoyable. Armed with gySVG, the reader will be taught tried and trusted techniques in producing generative imagery. Each chapter will build upon the previous one, and those completely new to programming will be given a primer to help them find their feet. Beginning with a simple generative sketch that illustrates, and then explains, fundamental programming concepts such as variables, data types, operators, loops, conditionals and functions - the reader will go on to explore the power of Scalable Vector Graphics, how to play with randomness and regularity, how to use noise to create organic variance, and how to make sketches interactive and dynamic. More advanced topics will then be tackled, such as paths, filter effects, trigonometry, shape packing, flow fields and fractals. It will be a fun journey, easy to follow, peppered with plenty of attractive sketches throughout. The goal will be to visually inspire readers with compelling examples of what's possible - rather than bare-bones, make-do illustrations - thereby breathing life into the underlying theoretical concepts