Programming for Artists ART 315 Dr. J. R. Parker Art/Digital Media Lab Lec 02 Fall 2010.

Slides:



Advertisements
Similar presentations
Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Advertisements

An Introduction to Programming General Concepts. What is a program? A program is an algorithm expressed in a programming language. programming language.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Chapter 1 - An Introduction to Computers and Problem Solving
Algorithm –History Muhammad ibn Musa Al-Khwarizmi www -groups.dcs.st-andrews.ac.uk/~history/Mathematicians/Al- Khwarizmi.html Book on arithmetic:
8 Algorithms Foundations of Computer Science ã Cengage Learning.
Module 2: Assessment in Creative Arts © 2006 Curriculum K-12 Directorate, NSW Department of Education and Training.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Programming for Artists ART 315 Dr. J. R. Parker Art/Digital Media Lab Lec 01 Fall 2010.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
Design & Analysis of Algorithms Introduction. Introduction Algorithms are the ideas behind computer programs. An algorithm is the thing which stays the.
CS102 Introduction to Computer Programming
Lecture # 8 ALGORITHMS AND FLOWCHARTS. Algorithms The central concept underlying all computation is that of the algorithm ◦ An algorithm is a step-by-step.
Disciplines of the Humanities Arts Disciplines Visual art- drawing, painting, printmaking, sculpture, photography Performing art- music, theatre, dance,
Unit 30 P1 – Hardware & Software Required For Use In Digital Graphics
Programming for Artists ART 315 Dr. J. R. Parker Art/Digital Media Lab Lec 10 Fall 2010.
Simple Program Design Third Edition A Step-by-Step Approach
CSC1401: Introductory Programming Steve Cooper
Programming for Artists ART 315 Dr. J. R. Parker Art/Digital Media Lab Lec 8 Fall 2010.
Introduction By: Dr. Javad Razjouyan. Programming Languages.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Processing & Java An Introduction to Computing. © Calvin College, Computer Science is no more about computers than astronomy is about telescopes.
Invitation to Computer Science, Java Version, Second Edition.
Sketching, Drawing and Illustration. Drawing Drawing is one of the oldest and most basic forms of communication. Before language, cave dwellers communicated.
Media Computing Instructor Byung Kim Olsen 231 Office hours – MWF 9:00-10:00 AM or by appointment.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Fundamentals of Algorithms MCS - 2 Lecture # 1
Passage Three Multimedia Application. Training target: In this part , you should try your best to form good reading habits. In order to avoid your ill.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
© 2001 Business & Information Systems 2/e1 Chapter 8 Personal Productivity and Problem Solving.
Art 321 Lecture 7 Dr. J. Parker. Programming In order to ‘make things happen’ on a computer, you really have to program it. Programming is not hard and.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
CS 312: Algorithm Analysis Lecture #1: Algorithms and Efficiency This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
Design & Analysis of Algorithms Lecture 1 Introduction.
Chapter 7 Animation Prepared by: Ms. Ma. Anna Corina G. Kagaoan College of Arts and Sciences.
Pseudocode. Simple Program Design, Fourth Edition Chapter 2 2 Objectives In this chapter you will be able to: Introduce common words, keywords, and meaningful.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
Algorithms & Flowchart
Foundation Stage Topic Web Understanding of the World Share some personal experiences Recognise things which make us unique Explore the classroom and different.
Exploring Art Chapter 1 – Art in Focus Mr. Mulligan.
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Computer Science, Algorithms, Abstractions, & Information CSC 2001.
CS100A, Fall Lec. 1, Tue. 1 Sept. 1 CS100A, Fall 1998 After discussing the notion of an algorithm and (computer) program briefly, the first lecture.
Algorithm An algorithm, named after the ninth century scholar Abu Jafar Muhammad Ibn Musu Al- Khowarizmi, is defined as follows: An algorithm is a set.
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
ALGORITHMS AND FLOWCHARTS. Why Algorithm is needed? 2 Computer Program ? Set of instructions to perform some specific task Is Program itself a Software.
ICS124 Session 9 Flowcharting 1. By the end of this section the student will be able to:  Name the three structures of the Structure Theorem  Identify.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
1.  A step by step process to solve any problem is called algorithm.  Algorithm is a process which take some values as input and provide us output.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Sketching, Drawing and Illustration
ALGORITHMS AND FLOWCHARTS
An Introduction to Programming
Introduction to Computer Programming
Introduction CSE 1310 – Introduction to Computers and Programming
Hailey Smith’s Career Path
Computer Programming.
Computer Graphics Enhancing Photos with Adobe Photoshop – Level 1.
Algorithm Discovery and Design
Algorithm and Ambiguity
Lecture 6 Architecture Algorithm Defin ition. Algorithm 1stDefinition: Sequence of steps that can be taken to solve a problem 2ndDefinition: The step.
An Introduction to Programming
Algorithm: Word comes from Arabic Author Abū ‘Abdallāh Muḥammad ibn Mūsā al-Khwārizmī Algorism Algebra: Kitab al-Mukhtasar fi Hisab al-Jabr wal-Muqabala.
Basic Concepts of Algorithm
Professor: Shereen Khoja
Presentation transcript:

Programming for Artists ART 315 Dr. J. R. Parker Art/Digital Media Lab Lec 02 Fall 2010

2 Instructor (ME) Dr. Jim Parker Specialty: Digital media, video games, animation Office: AB606 LAB: AB611

3 Programming. [W]e do science when we reconstruct in the language of logic what we have seen and experienced. We do art when we communicate through forms whose connections are not accessible to the conscious mind yet we intuitively recognise them as something meaningful. After a certain level of technological skill is achieved, science and art tend to coalesce in aesthetic plasticity and form. The greater scientists are artists as well. ???

4 Programming Albert Einstein. Many programmers believe themselves to be artists, and believe that programming is an art. This seems a stretch.

5 Programming I would describe programming as a craft, which is a kind of art, but not a fine art. Craft means making useful objects with perhaps decorative touches. Fine art means making things purely for their beauty. Richard Stallman ( founder of the GNU Project and the Free Software Foundation)

6 Assignment: Read Computer Programming as an Art Don Knuth, 1974 (link on web page) So: Is computer programming an art?

7 Who Cares? A computer is a tool. We can make cool things with good tools, and a properly configured computer is a good tool. To make a computer do your bidding, you need to know how to program it.

8 Programmers Make Mediocre Tools First, I am a programmer. I am willing to accept the criticism here. Tools for artists include paint, photoshop, illustrator and maya. Are these good tools (or simply what there is?)

9 Mediocre Tools … Artists used to make their own tools, their own paints, mix their own colours. … because the paints are our tools, and we know about them. Photoshop is built by programmers and uses their paradigms for manipulating images. They build OK tools for using computers, not for drawing or for composing music.

10 Tools So: we (some of us) need to make better tools for the rest. Next: We can add or create functionality to our computer that is unique to our work, and that requires us to make the computer do new things.

11 Generative Art Art that has been generated, composed, or constructed in an algorithmic manner through the use of systems defined by computer software algorithms, or similar mathematical or mechanical or randomised autonomous processes. (Wikipedia)

12 Casey Reas: Process

13 Marius Watz: System_C,

14 Lia: re-move.orgre-move.org

15 Ben Fry: AnemoneAnemone

16 Golan Levin: AVESAVES

17 Martin Wattenberg: Shape of SongShape of Song

18 Methods We’ll look at more artists and images later. meanwhile How’d they make these? What is generative art and how does it differ from what I/we do now?

19 Painting Can be rendering a real object

20 Painting Can be creation of a more pure emotion.

21 Key Question The important issue for this class is: How does one do it? For many artists, a lot of time is spent on doing, some on planning, not much on thinking how. In generative art, how is critical.

22 Algorithm An interesting word, sometimes scary for those who know it (because of how you were taught). Named after al Khwarizmi (the [man] of Khwarizm), a nickname of the 9th century Persian astronomer and mathematician Abu Jafar Muhammand ibn Musa, who authored many texts on arithmetic and algebra. He worked in Baghdad and his nickname alludes to his place of origin in present-day Uzbekistan and Turkmenistan

23 Algorithm Born 780 died about 850. The treatise Hisab al-jabr w'al-muqabala is the first book to be written on algebra. (and gives us the word)

24 Algorithm “A step-by-step problem-solving procedure, especially an established, recursive computational procedure for solving a problem in a finite number of steps.” ……… poor “an 'algorithm' is an effective method for solving a problem expressed as a finite sequence of instructions. “ … better “An algorithm is a specific set of instructions for carrying out a procedure or solving a problem, usually with the requirement that the procedure terminate at some point.” … best so far

25 Algorithm So when I asked how, I was requesting an algorithm. Generative art, and much other computer mediated artwork, requires a deal of prior thought on how the work is to be created. One wants an algorithm.

26 Algorithms The connotation of algorithm is mathematical, but it need not be. It does require precision, mostly. At least in the statement of the algorithm. A set of instructions is to be followed, and so should be written so that they can be implemented.

27 Algorithm function divide(x; y) Input: Two n-bit integers x and y, where y 1 Output: The quotient and remainder of x divided by y if x = 0: return (q; r) = (0; 0) (q; r) = divide(bx=2c; y) q = 2 q; r = 2 r if x is odd: r = r + 1 if r y: r = r y; q = q + 1 return (q; r) This is not how we will do things.

28 Algorithm Sadly, some formal way of specifying the algorithm is needed. The machine doing the work can’t read your mind. window (0,100)-(0,100) for n=1 to 4 p(n)=(rnd*100) next n line(p1,p2)-(p3,p4) (1)Identify two random points on a 100 unit square plane. (2)Draw a line connecting these two points. More on this later.

29 Algorithm The algorithm is a basic specification, in a human language. To make it do something, the algorithm must be expressed in such a way that a machine can actually Execute/implement/carry out each step. The most common way to do this is as a special ‘language’, a collection of symbols, in which each symbol is unambiguous, and in which it is possible to express intentions clearly and unambiguously. English is bad for this.

30 Precision/Fidelity In art, precision is not of great importance. High fidelity VS low fidelity

31 What is important is that the work that results conveys the artist’s intention. In technical computer work, the result must accurately represent the algorithm, which in turn must represent a process to be studied or emulated.

32 The precision needed for an algorithm to be specified and to be successfully translated into an implementable description can interfere with the artist’s intention. Does an artist ever want to draw a line between (10,10) and (90,90)? … and what does this mean, anyhow?

33 History Look at ory-of-generative-and-computer-art ory-of-generative-and-computer-art There is really no definitive history, and what I show here is the briefest of summaries.

34 History The use of algorithms dates from prehistoric times. Study of the stone circles at Stonehenge (c BC) reveals an algorithmic arrangement based on phases of the moon and the annual movement of the sun.

35 History Architectural plans, musical scores and dance notations bear one feature in common - they are all recipes for carrying out a task. From this perspective a broad range of notational systems can be viewed and studied as algorithmic procedure.

s George Brecht, 1961 GB published a set of 50 cards to be given to each participant. Each card held an instruction to be performed with a vehicle. Vehicles with drivers were instructed to assemble at sundown in a parking lot and randomly park their vehicles. Then each driver, with a shuffled deck of instructions, performed 50 events such as "turn on lights", "start engine", "stop engine", "open window". This work was performed at St Vincent College under the direction of Stephen Joy in 1963.

s Ben Laposky First (?) graphic images generated by an electronic machine. Laposky (a mathematician and artist from Cherokee, Iowa) manipulated electronic beams across the face of an oscilloscope and then recorded the patterns using hihg- speed film, color filters and special camera lenses.He called his oscillographic artworks oscillons and electronic abstractions

s Manfred Mohr The fundamental view that machines should not be considered as a challenge to humanity but, like McLuhan predicted, as an extension of ourselves is the basic philosophy when becoming involved with technology.

s Frieder Nake Along with George Nees, Max Bense’s student Frieder Nake was in 1965 among the first programmers to give the general public an opportunity of scrutinizing freely designed computer graphics produced on digital computers. The graphics were based on the interplay between a macro-aesthetic structure, a micro-aesthetic details and mediating random numbers. 'Hommage à Paul Klee 13/9/65 Nr.2' 1965

s Georg Nees Georg Nees was arguably the first world-wide to show his digital art. Studied mathematics, physics and philosophy in Erlangen and Stuttgart (D). He has been producing computer graphics, sculptures and films since 1964.

s A. Michael Noll A.Michael Noll is one of the earliest pioneers to use a digital computer to create patterns and animations solely for their artistic and aesthetic value. His first computer art was created at Bell Labs in Murray Hill, New Jersey during the Summer of l/CompArtExamples.html

s Manfred R. Schroeder My interest in computer graphics was awakened by the late Leon Harmon and Ken Knowlton. Our aim then (in the early 1960s) was to use computers for creating images that could not otherwise be drawn or painted. More specifically, we wanted to generate pictures that would be perceived as totally different depending on the viewing distance. Thus my prize-winning One Picture is Worth a Thousand Words would just look like printed letters and English text from nearby. But at intermediate viewing distances One Picture appeared to be a weaving pattern and finally, from afar, it would look like a human eye looking at you.

s Harold Cohen The Robot as an Artist “Aaron began its existence some time in the mid-seventies, in my attempt to answer what seemed then, but turned out not to be, a simple question: What are the minimum conditions under which a set of marks functions as an image?" mwiki.php/AITopics/Art#history-art

s David Em - JPL artist-in-residence, leading to the first ever artist's monograph published on digital art ( The Art of David Em, published by Harry N. Abrams)

s Larry Cuba is widely recognized as a pioneer in the use of computers in animation art, and was one of the "hybrid" artist/technologists. Producing his first computer animation in 1974, Cuba was at the forefront of the computer-animation artists.

s The first algorithmic brush strokes executed with an oriental brush mounted on a pen plotter were achieved in 1987 with an HI DMP52 pen plotter. This is one of a series attempting to achieve spontaneity and expressive energy as found in Chinese Shufa.

s Charles Csuri The fundamental view that machines should not be considered as a challenge to humanity but, like McLuhan predicted, as an extension of ourselves is the basic Lines in Space 1966

s Yoichiro Kawaguchi was born on Tanegashima Island in He received his Master of Fine Arts from Tokyo University of Education in Currently he is Associate Professor of Computer Graphics Art at Art & Science Lab, Department of Art, Nippon Electronics College, Tokyo.

s Kenneth Knowlton A pentomino consists of five squares joined along edges; there are 12. This picture contains 27 of each kind. Since Golomb introduced them in 1953, he has been "committed to their care and feeding." They have led to thousands of puzzles and problems.

50 A turning point When computer power becomes easily available to all, including artists and musicians, then the convergence of informatics and the arts really begins. There is a democratization that occurs at about 1984.