Catálogo de publicaciones - libros

Compartir en
redes sociales


Processing: Creative Coding and Computational Art

Ira Greenberg

Resumen/Descripción – provisto por la editorial

No disponible.

Palabras clave – provistas por la editorial

Software Engineering/Programming and Operating Systems

Disponibilidad
Institución detectada Año de publicación Navegá Descargá Solicitá
No detectada 2007 SpringerLink

Información

Tipo de recurso:

libros

ISBN impreso

978-1-59059-617-3

ISBN electrónico

978-1-4302-0310-0

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación

Información sobre derechos de publicación

© Apress 2007

Tabla de contenidos

Code Art

Ira Greenberg

Ask the average person what they think computer art is, and they’ll likely mention the types of imaging effects we associate with Photoshop or maybe a blockbuster 3D animated film like Shrek. I still remember the first time I cloned an eyeball with Photoshop; it was totally thrilling. I also remember getting a copy of Strata Studio Pro and creating my first perfect 3D metal sphere (you know, the one with the highly reflective ship plate texture map). However, once we get a little more experience under our belts and have tried every freakin’ filter we can get our hands on, the “gee whiz” factor subsides, and we are stuck with the same problem that all artists and designers experience—the empty white page or canvas. Of course, each year I have many students who believe that they have found the perfect combination of filters that will produce remarkable and original works of art— without the need to exert too much effort (or leave their game consoles for very long). In the end, though, the stylistic footprints left behind by these filters is unavoidable. That is not to imply that the filters are the problem; I couldn’t do my job without the genius of Photoshop. It is the approach to using them that is the problem, or the belief that all that power will make the process of creating art any easier

Part One - Theory of Processing and Computational Art | Pp. 3-24

Creative Coding

Ira Greenberg

I have a friend, Mark K., who was a web developer who had artistic yearnings (don’t they all). I met him a number of years ago when he enrolled in a 3D animation course I was teaching. Mark worked for a sizable, very businessy type company that will remain nameless, doing pretty dull programming. Mostly he was working on legacy code—stuff other people had written—and trying to keep things together with band-aids and string. On top of this, his company was outsourcing most of the interesting development work overseas, and Mark also had the fun job of trying to coordinate video conferences at all hours of the night (big time difference), while integrating their code (in a programming language/ development environment he wasn’t too familiar with) back into the company’s legacy spaghetti (disorganized and poorly structured) code. Is it any surprise Mark was pretty sour on coding and dreamed about painting rainbows and unicorns in the Elysian Fields? Well, actually it was more like working in the game industry. We met at the perfect time

Part One - Theory of Processing and Computational Art | Pp. 27-54

Code Grammar 101

Ira Greenberg

This is where the techie stuff really begins! Hopefully, in the last two chapters you’ve gotten some context and maybe even inspiration and are ready to dive right in. This chapter looks at the nuts and bolts of programming in general. I make the assumption that you have no experience with coding at all, so for those of you coming to Processing from another language, you may want to skim this chapter. In Chapter 4, I cover the basics of graphics coding, and in Chapter 5, I discuss the details of the Processing environment

Part One - Theory of Processing and Computational Art | Pp. 57-104

Computer Graphics, the Fun, Easy Way

Ira Greenberg

This chapter gives a simplified and highly abridged overview of computer graphics. Graphics and visualization is one of the major research areas in computer science and has a reputation for being highly complex and mathematically demanding. However, there is a wide range of research being conducted under the heading “graphics and visualization”— with varying degrees of complexity. Dr. Edward Angel, in his widely read textbook , lists four major application areas within computer graphics:

Part One - Theory of Processing and Computational Art | Pp. 107-141

The Processing Environment

Ira Greenberg

Processing, besides being a language of sorts, is an integrated development environment (IDE)—an IDE created by artists for artists. The Processing development environment is simple to learn and use, and doesn’t add to the complexity of learning to program, as with many other IDEs. In fact, the Processing IDE really does substantially simplify the process of coding, even for absolute beginners. Even Flash, which is another very popular IDE of sorts, also geared toward artists, has a steep learning curve, and its complexity can get in the way on pure coding projects. In contrast, the Processing IDE has a well-designed interface and core functionality that allows you to work efficiently; it’s a huge improvement over working in your old text editor

Part One - Theory of Processing and Computational Art | Pp. 143-170

Lines

Ira Greenberg

This chapter will concentrate on lines and how they are represented though code. You’ll also look at how lines can represent more multidimensional space, such as shapes and volume

Part Two - Putting Theory into Practice | Pp. 173-238

Curves

Ira Greenberg

Curvy stuff is difficult for people to understand. Had I taken a calculus class earlier in my life, this fact would have been blatantly obvious. When drawing directly from a model, edges are indistinct and there are all sorts of subtle foreshortening. In time, you learn how to, in a sense, “not draw” what’s not there, which is often the secret to allowing the curve structures to emerge in the drawing. When it comes to coding, curves again prove especially challenging, and often require a more “mathy” approach than when working with lines. Processing does makes it relatively easy to generate simple curves, but being able to precisely control a combination of curves to create a form such as a human figure is very difficult

Part Two - Putting Theory into Practice | Pp. 241-299

Object-Oriented Programming

Ira Greenberg

Object-oriented programming (OOP) is a deep and complex subject, and a detailed discussion of it is beyond the scope of this book. However, in this chapter I will give you a solid grounding in OOP to get you started. While OOP is challenging to start with, it is fundamental to Java and therefore Processing, and it is very rewarding once you get the hang of it, so don’t despair if you find this chapter difficult to follow. As you work through the rest of the book, it will help you to keep returning to this chapter to look up OOP concepts as you meet them in all the applied examples you come across. It will get easier as you practice, I promise

Part Two - Putting Theory into Practice | Pp. 301-336

Shapes

Ira Greenberg

Shapes are a natural extension of lines and curves. In the simplest sense, a shape is just the enclosed space formed between three or more lines. Of course, a single continuous curve can enclose space as well (e.g., an ellipse). Shapes can be generally categorized. For example, an enclosed three-sided shape is referred to as a triangle, even if its size or configuration can’t be determined. Fundamental 2D shapes (e.g., rectangles, circles, and triangles) are commonly referred to as . Primitives are essential building-block shapes, which when combined allow you to (efficiently) construct most other shapes. Processing includes both 2D and 3D primitive functions. In this chapter, you’ll just be dealing with 2D shape functions

Part Two - Putting Theory into Practice | Pp. 339-397

Color and Imaging

Ira Greenberg

Thus far in the book l’ve focused on the structural aspects of creative coding—an armature upon which to build. However, l’ve barely scraped the surface of Processing’s expressive potential. Nowhere is this potential more evident than in Processing’s extensive color and imaging capabilities. I’ll begin this chapter by exploring Processing’s high-level color and imaging functions, which conceal the internal mathematics while still providing lots of creative range. Working at the pixel level, you’ll learn how to generate custom gradients and even spin some of your own cool imaging filters. Finally, you’ll apply an object-oriented approach to imaging and color, building upon the OOP concepts introduced in Chapters 8 and 9.

Part Two - Putting Theory into Practice | Pp. 399-479