CHF51.00
Download steht sofort bereit
Kein Rückgaberecht
As the first book to share the necessary algorithms for creating code to experiment with design problems in the processing language, this book offers a series of generic procedures that can function as building blocks and encourages you to then use those building blocks to experiment, explore, and channel your thoughts, ideas, and principles into potential solutions. The book covers such topics as structured shapes, solid geometry, networking and databases, physical computing, image processing, graphic user interfaces, and more.
Autorentext
Kostas Terzidis is an associate professor at Harvard University's Graduate School of Design. He is an educator, designer, theorist, architect, and computer scientist. His professional work includes software development for Java media framework and Linux as a software engineer for AOL. Terzidis is also the author of three previous books.
Klappentext
Experiment with design problems to create 3D animations, GUIs, and more
Are you ready to dramatically enhance your programming skills by experimenting with design problems in the digital domain? Kostas Terzidis shows you a series of generic procedures that serve as building blocks for you to test, explore, or channel your ideas and principles into solutions. He uses the Processing computer language to walk you through advanced algorithms and techniques. You'll then gain a strong understanding of the complexity involved in today's design problems as you construct your own customized algorithms.
Design graphical user interfaces using standard library components and connect them to geometrical actions
Process images as an alteration of a local area or as a global effect in the form of a filter
Build single and multiple animated objects as well as simulate dynamic behavior
Produce the behavior of a 3D object rotating in space
Create the impression of a continuous surface out of discrete points
Use, connect, and control devices in the form of feed, feedback, and multiple feedback systems
Inhalt
Introduction xix
Chapter 1 Elements of the Language 1
1.1 Operands and Operations 2
1.1.1 Variable Types 2
1.1.2 Name Conventions 4
1.1.3 Arithmetic Operations 5
1.1.4 Logical and Relational Operations/Statements 7
1.1.5 Loops 8
1.1.6 Patterns of Numbers 10
1.2 Graphics Elements 12
1.2.1 Code Structure 12
1.2.2 Draw Commands 13
1.2.3 Geometrical Objects 13
1.2.4 Attributes 17
1.2.5 Fonts and Images 20
1.2.6 Examples 21
1.3 Interactivity 24
1.3.1 Drawing on the Screen 24
1.3.2 Mouse and Keyboard Events 26
1.4 Grouping of Code 28
1.4.1 Arrays 28
1.4.2 Procedures and Functions 30
1.4.4 Recursion 33
1.4.5 Importing Processing Classes 34
Summary 35
Exercises 35
Chapter 2 Points, Lines, and Shapes 41
2.1 Sine and Cosine Curves 42
2.2 Bezier Curve 47
2.3 Pointillist Images 48
2.4 Polygons 51
2.5 Equilateral Polygons 53
2.6 Responsive Polygons 54
2.7 Responsive Curve 56
Summary 57
Exercises 57
Chapter 3 The Structure of Shapes 63
3.1 Introduction to Class Structures 63
3.1.1 Defining a Class Called MyPoint 64
3.1.2 Adding Methods to a Class 66
3.2 Organization of Classes 68
3.2.1 Class MyPoint 70
3.2.2 Class MySegment 70
3.2.3 Class MyShape 71
3.3 Standard Transformations (move, rotate, scale) 74
3.4 Implementing Transformations 76
3.5 Creating Grids of Shapes 80
3.6 Class MyGroup 83
3.7 Selecting Objects 85
Summary 90
Exercises 91
Chapter 4 Basics of Graphical User Interfaces 93
4.1 Basic GUI (Buttons) 94
4.2 Choice, Label, and TextField 98
4.3 Arranging GUI Objects on the Screen 99
4.4 Selecting Points, Segments, Shapes, or Groups 102
4.5 Color Setup 104
4.6 Putting the GUI Elements in Their Own Window 106
4.7 Mouse Wheel Control 107
Summary 107
Exercises 108
Chapter 5 Image Processing 109
5.1 Displaying Images 110
5.2 Preset Image Filters 111
5.3 Bit Manipulation on Pixels 115
5.4 A Paint Brush Tool 118
5.5 Edge Detection 121
Summary 123
Exercises 123
Chapter 6 Motion 127
6.1 Animation Basics 127
6.2 Erratic Motion 131
6.3 Line Traces 133
6.4 Interactive Transformations 135
6.5 Double Buffering 138
6.6 Motion and Friction 140
6.7 Collision 143
6.8 Elastic Motion 145
Summary 149
Exercises 149
Notes 152
Chapter 7 Advanced Graphics Algorithms 153
7.1 Voronoi Tessellation 154
7.2 Stochastic Search 158
7.3 Fractals 162
7.4 Interpolation/Extrapolation 165
7.5 Cellular Automata 168
7.6 Evolutionary Algorithm 172
Summary 177
Exercises 178
Notes 180
Chapter 8 3-D Space 181
8.1 The Third Dimension 182
8.2 Defining 3D Objects 183
8.3 Projecting on the Screen 187
8.4 Perspective Projection 190
8.5 Three-Dimensional Graphics in Processing 192
8.6 3D Point Formations 199
8.6.1 Cubical Formations 199
8.6.2 Spherical Formations 201
8.6.3 Superquadrics 203
Summary 205
Exercises 206
Chapter 9 Solid Geometry 209
9.1 Class MyPoint 209
9.1.1 Class MyFace 211 9.1.2 Sets of Faces ...