- Page 1 and 2:
IrA GreenberG CreATe CoDe ArT, vIsu
- Page 3 and 4:
Processing: Creative Coding and Com
- Page 5 and 6:
CONTENTS AT A GLANCE Foreword . . .
- Page 7 and 8:
CONTENTS Foreword . . . . . . . . .
- Page 9 and 10:
CONTENTS viii The joy of math . . .
- Page 11 and 12:
CONTENTS x Applying OOP to shape cr
- Page 13 and 14:
CONTENTS xii Environment . . . . .
- Page 15 and 16:
FOREWORD If you are like me (and th
- Page 17 and 18:
ABOUT THE AUTHOR With an eclectic b
- Page 19 and 20:
ACKNOWLEDGMENTS I am very fortunate
- Page 21 and 22:
INTRODUCTION Welcome to Processing:
- Page 23 and 24:
INTRODUCTION xxii Intended audience
- Page 25 and 26:
INTRODUCTION xxiv Setting up Proces
- Page 27 and 28:
INTRODUCTION xxvi Hopefully by now
- Page 29 and 30:
INTRODUCTION xxviii Figure 3. Scree
- Page 31 and 32:
INTRODUCTION xxx New or changed cod
- Page 34 and 35:
1 CODE ART
- Page 36 and 37:
The problem with a Photoshop filter
- Page 38 and 39:
Figure 1-3. Example of ancient art
- Page 40 and 41:
then jump 400 years to 1614 and Joh
- Page 42 and 43:
fertile imagination remained intact
- Page 44 and 45:
As an aside, it’s worth observing
- Page 46 and 47:
John Whitney Sr., 1918-1995 John Wh
- Page 48 and 49:
algorithms. To learn more about Coh
- Page 50 and 51:
landfill/), and Feed (www.potatolan
- Page 52 and 53:
periodicals such as Art Journal, Wi
- Page 54 and 55:
And many more . . . While I have in
- Page 58 and 59:
2 CREATIVE CODING
- Page 60 and 61:
I think what was reinforced for me
- Page 62 and 63:
customized commands, and run loops.
- Page 64 and 65:
of code that work like processing m
- Page 66 and 67:
introduced to become larger, more c
- Page 68 and 69:
Without getting too geeky, the main
- Page 70 and 71:
A framework is just a concept for b
- Page 72 and 73:
algorithm in a math class in high s
- Page 74 and 75:
frame. The loop keeps running and k
- Page 76 and 77:
the time to play at whatever level
- Page 78 and 79:
} pts[counter2].y-yg); xg*=-1; coun
- Page 80 and 81:
The overall movement was good, but
- Page 82 and 83:
Obviously, there are a lot of thing
- Page 84 and 85:
} } // generates organic looking br
- Page 88 and 89:
3 CODE GRAMMAR 101
- Page 90 and 91:
Your first program In most programm
- Page 92 and 93:
message comes up on the bar in the
- Page 94 and 95:
Since the getBreed() method would r
- Page 96 and 97:
Variables Variables are essential t
- Page 98 and 99:
It’s because strict typing helps
- Page 100 and 101:
Stage 3 adds the gradient: /* title
- Page 102 and 103:
Next, I assign values to some primi
- Page 104 and 105:
In the first preceding example, add
- Page 106 and 107:
Assignment operators The only other
- Page 108 and 109:
* title: Bouncing Ball description:
- Page 110 and 111:
Animation is a perfect example of t
- Page 112 and 113:
if (hunger= starving) { eatAnything
- Page 114 and 115:
Ternary operator The last condition
- Page 116 and 117:
The items array has 50 places reser
- Page 118 and 119:
println(x); x += 1; } while(x
- Page 120 and 121:
Figure 3-4. Continuous radial gradi
- Page 122 and 123:
int ballCount = 500; int ballSize =
- Page 124 and 125:
Hopefully, you were able to success
- Page 126 and 127:
function call above*/ // fill(i*255
- Page 128 and 129:
If you run this, you should see a 1
- Page 130 and 131:
yspeed*=-1; } } Within the draw() f
- Page 132 and 133:
void checkCollisions(int xp, int yp
- Page 134 and 135:
createRect(50, 50, 100, 100, 20, 5,
- Page 138 and 139:
4 COMPUTER GRAPHICS, THE FUN, EASY
- Page 140 and 141:
Some of the reasons coding graphics
- Page 142 and 143:
When working in a 3D coordinate sys
- Page 144 and 145:
plotted, the vertices are connected
- Page 146 and 147:
eally shines. And remember, as you
- Page 148 and 149:
need to be stored in memory, and th
- Page 150 and 151:
Within each of these application ar
- Page 152 and 153:
don’t realize you’re doing it
- Page 154 and 155:
Geometry Like algebra, geometry dat
- Page 156 and 157:
(second-degree) curve has one turni
- Page 158 and 159:
or possibly even a complete crash o
- Page 160 and 161:
This linear motion would plot as a
- Page 162 and 163:
and began doubling. By step 80, the
- Page 164 and 165:
*Simple Repeating Wave Pattern Ira
- Page 166 and 167:
float waveGap = 10; float frequency
- Page 168 and 169:
a piece of paper and do a little mo
- Page 170 and 171:
Interactivity Figure 4-13. Puff Peo
- Page 172:
Events will be covered and implemen
- Page 175 and 176:
PROCESSING: CREATIVE CODING AND COM
- Page 177 and 178:
PROCESSING: CREATIVE CODING AND COM
- Page 179 and 180:
PROCESSING: CREATIVE CODING AND COM
- Page 181 and 182:
PROCESSING: CREATIVE CODING AND COM
- Page 183 and 184:
PROCESSING: CREATIVE CODING AND COM
- Page 185 and 186:
PROCESSING: CREATIVE CODING AND COM
- Page 187 and 188:
PROCESSING: CREATIVE CODING AND COM
- Page 189 and 190:
PROCESSING: CREATIVE CODING AND COM
- Page 191 and 192:
PROCESSING: CREATIVE CODING AND COM
- Page 193 and 194:
PROCESSING: CREATIVE CODING AND COM
- Page 195 and 196:
PROCESSING: CREATIVE CODING AND COM
- Page 197 and 198:
PROCESSING: CREATIVE CODING AND COM
- Page 199 and 200:
PROCESSING: CREATIVE CODING AND COM
- Page 201 and 202:
PROCESSING: CREATIVE CODING AND COM
- Page 204 and 205:
6 LINES
- Page 206 and 207:
Figure 6-2. Two-point sketch Adding
- Page 208 and 209:
Streamlining the sketch with a whil
- Page 210 and 211:
type into the sketch. Although the
- Page 212 and 213:
Figure 6-7. Randomized particle spr
- Page 214 and 215:
Figure 6-9. Multiple randomized par
- Page 216 and 217:
Coding a grid To begin, I’ll show
- Page 218 and 219:
Notice that you can make the value
- Page 220 and 221:
float steps = totalPts+1; int total
- Page 222 and 223:
Creating space through fades Your l
- Page 224 and 225:
for (int j=0; j
- Page 226 and 227:
Figure 6-19. Yin Yang Fade sketch,
- Page 228 and 229:
coordinates of the line. For exampl
- Page 230 and 231:
Figure 6-24. End cap variation exam
- Page 232 and 233:
Figure 6-25. Auto Layout sketch Thi
- Page 234 and 235:
int xPadding = 150; int yPadding =
- Page 236 and 237:
Figure 6-27. Table Layout II sketch
- Page 238 and 239:
for (int i=0; i
- Page 240 and 241:
This is the same drawTable() functi
- Page 242 and 243:
easy. The benefit of internally rec
- Page 244 and 245:
I call my custom function makeRect(
- Page 246 and 247:
As you might suspect, anti-aliasing
- Page 248 and 249:
call scribble function strokeWeight
- Page 250 and 251:
else { } // extra line needed to at
- Page 252 and 253:
smooth(); float x = random(width);
- Page 254 and 255:
Figure 6-36. Concentric Maze sketch
- Page 256 and 257:
void setup(){ //these values can be
- Page 258 and 259:
Create a Triangle size(400, 400); b
- Page 260 and 261:
Figure 6-39. Create 3 Triangles ske
- Page 262 and 263:
Poly Pattern I (table structure) /*
- Page 264 and 265:
Poly Pattern II (spiral) /* Poly Pa
- Page 266 and 267:
Poly Pattern III (polystar) /* Poly
- Page 268 and 269:
Figure 6-46. Poly Pattern III (poly
- Page 272 and 273:
7 CURVES
- Page 274 and 275:
size(200, 200); background(255); in
- Page 276 and 277:
You should notice some familiar str
- Page 278 and 279:
int margin = height/15; strokeWeigh
- Page 280 and 281: Figure 7-8. Revealing the points ma
- Page 282 and 283: * Curves II Ira Greenberg, December
- Page 284 and 285: lower particle speed ySpeed[i]*=gra
- Page 286 and 287: Figure 7-11. Curves simulating a fo
- Page 288 and 289: Figure 7-13. Damping effect on curv
- Page 290 and 291: particle style strokeWeight(strokeS
- Page 292 and 293: By using functions to organize a pr
- Page 294 and 295: for (int i=0; i
- Page 296 and 297: Figure 7-18. Generating a curve wit
- Page 298 and 299: float x = 0, y = 0; int loopLimit =
- Page 300 and 301: concentric circles size(200, 200);
- Page 302 and 303: Pie charts, although valuable as vi
- Page 304 and 305: curve() and bezier() The next two P
- Page 306 and 307: Next is an interactive example that
- Page 308 and 309: Figure 7-27. Interpolating a Bézie
- Page 310 and 311: ezier(350, 100, 400, 150, 350, 250,
- Page 312 and 313: Figure 7-30. Spline curve using Pro
- Page 314 and 315: curve segments noFill(); // comment
- Page 316 and 317: control handles fill(255); ellipse(
- Page 318 and 319: Figure 7-32. bezier() vs. bezierVer
- Page 320 and 321: curveVertex(92+x, 15); curveVertex(
- Page 322 and 323: strokeWeight(.75); stroke(0); rectM
- Page 324 and 325: Figure 7-35. Bézier Ellipse sketch
- Page 326 and 327: I included one last example (shown
- Page 328 and 329: curveTightness(tightness); beginSha
- Page 332 and 333: 8 OBJECT-ORIENTED PROGRAMMING
- Page 334 and 335: gle), and so on. These unique attri
- Page 336 and 337: default values based on their speci
- Page 338 and 339: void setBeanType(String beanType){
- Page 340 and 341: Obviously, PI is never going to cha
- Page 342 and 343: Hopefully you noticed that the only
- Page 344 and 345: println(); } } This method may look
- Page 346 and 347: String[]toppings; int salsaTemperat
- Page 348 and 349: this.salsaTemperature+" alarm salsa
- Page 350 and 351: Advanced OOP concepts Next, I’ll
- Page 352 and 353: Inheritance in Java is absolutely f
- Page 354 and 355: void setup(){ size(400, 400); backg
- Page 356 and 357: a Window object argument */ House(W
- Page 358 and 359: The entire SportsGear interface in
- Page 360 and 361: Polymorphism Polymorphism sounds a
- Page 362 and 363: that a subclass has access to the s
- Page 364 and 365: forced to literally implement the i
- Page 366 and 367: Ogre subclass class Ogre extends Cr
- Page 370 and 371: 9 SHAPES
- Page 372 and 373: void setup(){ size(400, 400); backg
- Page 374 and 375: Figure 9-3. ellipseMode() example T
- Page 376 and 377: ect(103, 120, 130, 100); rectMode(C
- Page 378 and 379: p[1] = new Point(width-1, height-1)
- Page 380 and 381:
The blur was generated by increment
- Page 382 and 383:
float spin = 0; void setup(){ size(
- Page 384 and 385:
Toy Truck int truckW = 300; int tru
- Page 386 and 387:
Figure 9-13. Simple Quad sketch Nex
- Page 388 and 389:
This is a dense little sketch, so i
- Page 390 and 391:
vertex(width/2, 3); vertex(width-ma
- Page 392 and 393:
x, y, pts, rad1, rad2 args void mak
- Page 394 and 395:
I created five versions of the make
- Page 396 and 397:
The Sprocket Creator sketch is simi
- Page 398 and 399:
Hybrid Shape 2 size(600, 600); curv
- Page 400 and 401:
Figure 9-21. Random Triangles sketc
- Page 402 and 403:
vertex(120, 120); vertex(20, 118);
- Page 404 and 405:
Figure 9-25. TRIANGLE_STRIP Mode sk
- Page 406 and 407:
works by defining the center point
- Page 408 and 409:
draw triangle fan void drawPoly(flo
- Page 410 and 411:
void setup(){ // create new rectang
- Page 412 and 413:
create new rectangle object r1 = ne
- Page 414 and 415:
set knob position void setKnob(int
- Page 416 and 417:
constructor Door(int w, int h){ thi
- Page 418 and 419:
single, double, quad pane int style
- Page 420 and 421:
it provides an easy way for users t
- Page 422 and 423:
Figure 9-33. Drawing Some Roofs ske
- Page 424 and 425:
door.drawDoor(x+w/2-door.w/2, y+h-d
- Page 426 and 427:
In laying out the neighborhood, I u
- Page 428:
Summary Beginning with Processing
- Page 431 and 432:
PROCESSING: CREATIVE CODING AND COM
- Page 433 and 434:
PROCESSING: CREATIVE CODING AND COM
- Page 435 and 436:
PROCESSING: CREATIVE CODING AND COM
- Page 437 and 438:
PROCESSING: CREATIVE CODING AND COM
- Page 439 and 440:
PROCESSING: CREATIVE CODING AND COM
- Page 441 and 442:
PROCESSING: CREATIVE CODING AND COM
- Page 443 and 444:
PROCESSING: CREATIVE CODING AND COM
- Page 445 and 446:
PROCESSING: CREATIVE CODING AND COM
- Page 447 and 448:
PROCESSING: CREATIVE CODING AND COM
- Page 449 and 450:
PROCESSING: CREATIVE CODING AND COM
- Page 451 and 452:
PROCESSING: CREATIVE CODING AND COM
- Page 453 and 454:
PROCESSING: CREATIVE CODING AND COM
- Page 455 and 456:
PROCESSING: CREATIVE CODING AND COM
- Page 457 and 458:
PROCESSING: CREATIVE CODING AND COM
- Page 459 and 460:
PROCESSING: CREATIVE CODING AND COM
- Page 461 and 462:
PROCESSING: CREATIVE CODING AND COM
- Page 463 and 464:
PROCESSING: CREATIVE CODING AND COM
- Page 465 and 466:
PROCESSING: CREATIVE CODING AND COM
- Page 467 and 468:
PROCESSING: CREATIVE CODING AND COM
- Page 469 and 470:
PROCESSING: CREATIVE CODING AND COM
- Page 471 and 472:
PROCESSING: CREATIVE CODING AND COM
- Page 473 and 474:
PROCESSING: CREATIVE CODING AND COM
- Page 475 and 476:
PROCESSING: CREATIVE CODING AND COM
- Page 477 and 478:
PROCESSING: CREATIVE CODING AND COM
- Page 479 and 480:
PROCESSING: CREATIVE CODING AND COM
- Page 481 and 482:
PROCESSING: CREATIVE CODING AND COM
- Page 483 and 484:
PROCESSING: CREATIVE CODING AND COM
- Page 485 and 486:
PROCESSING: CREATIVE CODING AND COM
- Page 487 and 488:
PROCESSING: CREATIVE CODING AND COM
- Page 489 and 490:
PROCESSING: CREATIVE CODING AND COM
- Page 491 and 492:
PROCESSING: CREATIVE CODING AND COM
- Page 493 and 494:
PROCESSING: CREATIVE CODING AND COM
- Page 495 and 496:
PROCESSING: CREATIVE CODING AND COM
- Page 497 and 498:
PROCESSING: CREATIVE CODING AND COM
- Page 499 and 500:
PROCESSING: CREATIVE CODING AND COM
- Page 501 and 502:
PROCESSING: CREATIVE CODING AND COM
- Page 503 and 504:
PROCESSING: CREATIVE CODING AND COM
- Page 505 and 506:
PROCESSING: CREATIVE CODING AND COM
- Page 507 and 508:
PROCESSING: CREATIVE CODING AND COM
- Page 509 and 510:
PROCESSING: CREATIVE CODING AND COM
- Page 512 and 513:
11 MOTION
- Page 514 and 515:
Working in Java, creating even the
- Page 516 and 517:
You can actually use this painting
- Page 518 and 519:
Figure 11-3. Painting Stripes II sk
- Page 520 and 521:
the distance the rectangle moves ar
- Page 522 and 523:
Accessing time Figure 11-4. Collisi
- Page 524 and 525:
Acceleration with Gravity float spe
- Page 526 and 527:
x+=xSpeed; println("x = " + x + " i
- Page 528 and 529:
Before moving on, try experimenting
- Page 530 and 531:
ySpeed[i]*=-1.0; // slow down verti
- Page 532 and 533:
* find distance for x and y between
- Page 534 and 535:
void setup(){ size(400, 400); predC
- Page 536 and 537:
A lot more can be done with this co
- Page 538 and 539:
Note that the if statement around t
- Page 540 and 541:
next ellipse of the worm */ deltaX[
- Page 542 and 543:
Finally, the following code, which
- Page 544 and 545:
Figure 11-13. Weight on a Spring sk
- Page 546 and 547:
calc. damping based on strokeWeight
- Page 548 and 549:
corner nodes int nodes = 5; float n
- Page 550 and 551:
Springy Dude is not an accurate phy
- Page 552 and 553:
float x, y, r = 20; float speedX =
- Page 554 and 555:
Normalizing a vector When working w
- Page 556 and 557:
placement of the vector within the
- Page 558 and 559:
Ira Greenberg, 2/12/07 ************
- Page 560 and 561:
} } // detect boundary collision //
- Page 562 and 563:
In two dimensions, the surface norm
- Page 564 and 565:
We’ll look at this process in ste
- Page 566 and 567:
Asteroid shower in three stages Now
- Page 568 and 569:
velocity.vx *= damping; } } There
- Page 570 and 571:
ground collision if(groundYTemp > -
- Page 572 and 573:
draw orb noStroke(); fill(200); ell
- Page 574 and 575:
draw ground fill(127); beginShape()
- Page 576 and 577:
Figure 11-22. Non-orthogonal Collis
- Page 578 and 579:
damping[i] = random(dampingMin, dam
- Page 580 and 581:
Rather than deal with another flat,
- Page 582 and 583:
with and with void checkGroundColli
- Page 584 and 585:
default constructor Ball() { } Ball
- Page 586 and 587:
momentum at impact has to go somewh
- Page 588 and 589:
Figure 11-25. 1D Collision Using Co
- Page 590 and 591:
vFinal[0].vx = ((b[0].m - b[1].m) *
- Page 592:
To avoid unintentional clumping of
- Page 595 and 596:
PROCESSING: CREATIVE CODING AND COM
- Page 597 and 598:
PROCESSING: CREATIVE CODING AND COM
- Page 599 and 600:
PROCESSING: CREATIVE CODING AND COM
- Page 601 and 602:
PROCESSING: CREATIVE CODING AND COM
- Page 603 and 604:
PROCESSING: CREATIVE CODING AND COM
- Page 605 and 606:
PROCESSING: CREATIVE CODING AND COM
- Page 607 and 608:
PROCESSING: CREATIVE CODING AND COM
- Page 609 and 610:
PROCESSING: CREATIVE CODING AND COM
- Page 611 and 612:
PROCESSING: CREATIVE CODING AND COM
- Page 613 and 614:
PROCESSING: CREATIVE CODING AND COM
- Page 615 and 616:
PROCESSING: CREATIVE CODING AND COM
- Page 617 and 618:
PROCESSING: CREATIVE CODING AND COM
- Page 619 and 620:
PROCESSING: CREATIVE CODING AND COM
- Page 621 and 622:
PROCESSING: CREATIVE CODING AND COM
- Page 623 and 624:
PROCESSING: CREATIVE CODING AND COM
- Page 625 and 626:
PROCESSING: CREATIVE CODING AND COM
- Page 627 and 628:
PROCESSING: CREATIVE CODING AND COM
- Page 629 and 630:
PROCESSING: CREATIVE CODING AND COM
- Page 631 and 632:
PROCESSING: CREATIVE CODING AND COM
- Page 633 and 634:
PROCESSING: CREATIVE CODING AND COM
- Page 635 and 636:
PROCESSING: CREATIVE CODING AND COM
- Page 637 and 638:
PROCESSING: CREATIVE CODING AND COM
- Page 639 and 640:
PROCESSING: CREATIVE CODING AND COM
- Page 641 and 642:
PROCESSING: CREATIVE CODING AND COM
- Page 643 and 644:
PROCESSING: CREATIVE CODING AND COM
- Page 646 and 647:
13 3D
- Page 648 and 649:
Figure 13-1. Spinning Cube 1 Man, t
- Page 650 and 651:
void setup(){ size(400, 400); } voi
- Page 652 and 653:
translate(50, 50); fill(0, 255, 0);
- Page 654 and 655:
Figure 13-6. Multiple Translations
- Page 656 and 657:
Creating a custom cube To begin to
- Page 658 and 659:
vertices[8] = new Point3D(w/2,-h/2,
- Page 660 and 661:
quadBG[2] = color(30, 30, 175, 150)
- Page 662 and 663:
Figure 13-8. Two Rotating Custom Cu
- Page 664 and 665:
outer transparent cube noFill(); //
- Page 666 and 667:
As complicated as this last sketch
- Page 668 and 669:
Figure 13-10. Single Axis 3D Rotati
- Page 670 and 671:
The first example I’ll look at si
- Page 672 and 673:
Figure 13-11. Custom Rotation of a
- Page 674 and 675:
automatic rotation c1.spinnyRotateX
- Page 676 and 677:
for (int i=0; i
- Page 678 and 679:
Beyond box() and sphere() While the
- Page 680 and 681:
Figure 13-13. Brick Tower sketch Th
- Page 682 and 683:
Figure 13-14. Extrusion Example ske
- Page 684 and 685:
arrays. The x and y values don't ch
- Page 686 and 687:
Figure 13-15. Better Extrusion Exam
- Page 688 and 689:
ender external skin for (int i=0; i
- Page 690 and 691:
draw cylinder tube beginShape(QUAD_
- Page 692 and 693:
Figure 13-20. Cube to Pyramid to Co
- Page 694 and 695:
1. Generate a circle (actually a po
- Page 696 and 697:
vertex(vertices2[j].x, vertices2[j]
- Page 698 and 699:
Figure 13-22. Interactive Toroid sk
- Page 700 and 701:
Figure 13-26. Interactive Toroid sk
- Page 702 and 703:
void keyPressed(){ if(key == CODED)
- Page 704:
PART THREE REFERENCE In Part 1 of t
- Page 707 and 708:
PROCESSING: CREATIVE CODING AND COM
- Page 709 and 710:
PROCESSING: CREATIVE CODING AND COM
- Page 711 and 712:
PROCESSING: CREATIVE CODING AND COM
- Page 713 and 714:
PROCESSING: CREATIVE CODING AND COM
- Page 715 and 716:
PROCESSING: CREATIVE CODING AND COM
- Page 717 and 718:
PROCESSING: CREATIVE CODING AND COM
- Page 719 and 720:
PROCESSING: CREATIVE CODING AND COM
- Page 721 and 722:
PROCESSING: CREATIVE CODING AND COM
- Page 723 and 724:
PROCESSING: CREATIVE CODING AND COM
- Page 725 and 726:
PROCESSING: CREATIVE CODING AND COM
- Page 727 and 728:
PROCESSING: CREATIVE CODING AND COM
- Page 729 and 730:
PROCESSING: CREATIVE CODING AND COM
- Page 731 and 732:
PROCESSING: CREATIVE CODING AND COM
- Page 733 and 734:
PROCESSING: CREATIVE CODING AND COM
- Page 735 and 736:
PROCESSING: CREATIVE CODING AND COM
- Page 737 and 738:
PROCESSING: CREATIVE CODING AND COM
- Page 739 and 740:
PROCESSING: CREATIVE CODING AND COM
- Page 741 and 742:
PROCESSING: CREATIVE CODING AND COM
- Page 743 and 744:
PROCESSING: CREATIVE CODING AND COM
- Page 745 and 746:
PROCESSING: CREATIVE CODING AND COM
- Page 747 and 748:
PROCESSING: CREATIVE CODING AND COM
- Page 749 and 750:
PROCESSING: CREATIVE CODING AND COM
- Page 751 and 752:
PROCESSING: CREATIVE CODING AND COM
- Page 753 and 754:
PROCESSING: CREATIVE CODING AND COM
- Page 755 and 756:
PROCESSING: CREATIVE CODING AND COM
- Page 757 and 758:
PROCESSING: CREATIVE CODING AND COM
- Page 759 and 760:
PROCESSING: CREATIVE CODING AND COM
- Page 761 and 762:
PROCESSING: CREATIVE CODING AND COM
- Page 763 and 764:
PROCESSING: CREATIVE CODING AND COM
- Page 765 and 766:
PROCESSING: CREATIVE CODING AND COM
- Page 767 and 768:
PROCESSING: CREATIVE CODING AND COM
- Page 769 and 770:
PROCESSING: CREATIVE CODING AND COM
- Page 771 and 772:
PROCESSING: CREATIVE CODING AND COM
- Page 773 and 774:
PROCESSING: CREATIVE CODING AND COM
- Page 775:
PROCESSING: CREATIVE CODING AND COM
- Page 779 and 780:
PROCESSING: CREATIVE CODING AND COM
- Page 781 and 782:
PROCESSING: CREATIVE CODING AND COM
- Page 783 and 784:
PROCESSING: CREATIVE CODING AND COM
- Page 785 and 786:
PROCESSING: CREATIVE CODING AND COM
- Page 787 and 788:
PROCESSING: CREATIVE CODING AND COM
- Page 789 and 790:
PROCESSING: CREATIVE CODING AND COM
- Page 791 and 792:
PROCESSING: CREATIVE CODING AND COM
- Page 793 and 794:
PROCESSING: CREATIVE CODING AND COM
- Page 795 and 796:
PROCESSING: CREATIVE CODING AND COM
- Page 797 and 798:
PROCESSING: CREATIVE CODING AND COM
- Page 799 and 800:
PROCESSING: CREATIVE CODING AND COM
- Page 801 and 802:
PROCESSING: CREATIVE CODING AND COM
- Page 803 and 804:
PROCESSING: CREATIVE CODING AND COM
- Page 806 and 807:
INDEX
- Page 808 and 809:
animation, 117-119, 482-486 see als
- Page 810 and 811:
handling pixel and image data, 113
- Page 812 and 813:
importance of color, 400-401 indexe
- Page 814 and 815:
generating curve with second-degree
- Page 816 and 817:
endRecord function, 710 endShape fu
- Page 818 and 819:
pixel functions, 429-432 procedural
- Page 820 and 821:
area of triangle, 752 circumference
- Page 822 and 823:
loadImage function, 433, 732, 733 L
- Page 824 and 825:
Processing libraries, 743 Processin
- Page 826 and 827:
modes ellipseMode function, 342, 34
- Page 828 and 829:
drawing rectangle with OOP sketch,
- Page 830 and 831:
creating custom 3D cube, 625-626 cu
- Page 832 and 833:
Transform section, 712-718 Trigonom
- Page 834 and 835:
Weight on a Spring, 513, 516 Worm,
- Page 836 and 837:
otation of rectangle around XYZ axe
- Page 838 and 839:
standardization, 37 state change fo
- Page 840 and 841:
TRIANGLES mode, beginShape(), 368,