원서: Beginning IPhone 3 Development: Exploring the IPhone SDK by Dave Mark, Jeff LaMarche
'Techne > 오재혁: 아이폰 애플리케이션 제작 워크샵' 카테고리의 다른 글
1강: iPhone Framework (0) | 2010.10.10 |
---|---|
[오재혁] 아이폰 어플리케이션 제작 워크숍: Preparation and Practice (0) | 2010.10.07 |
1강: iPhone Framework (0) | 2010.10.10 |
---|---|
[오재혁] 아이폰 어플리케이션 제작 워크숍: Preparation and Practice (0) | 2010.10.07 |
추천서: 데이브 마크 & 제프 라마시 <아이폰 3 프로그래밍> (위키북스, 2009) (0) | 2010.10.16 |
---|---|
1강: iPhone Framework (0) | 2010.10.10 |
week 3: B. Synthesis I - Envelopes (0) | 2008.05.21 |
---|---|
week 2: B. Synthesis I - Modulation (0) | 2008.05.21 |
week 1: A. Basic (0) | 2008.05.21 |
SupperCollider (0) | 2008.05.17 |
http://en.wikipedia.org/wiki/ADSR_envelope
The envelope may be a discrete circuit or module (in the case of analog devices), or implemented as part of the unit's software (in the case of digital devices).
When a mechanical musical instrument produces sound, the volume of the sound produced changes over time in a way that varies from instrument to instrument.
A synthesizer's ADSR envelope is a way to tailor the timbre for the synth, sometimes to make it sound more like a mechanical instrument.
week 4: Envelop Generator in SuperCollider (0) | 2008.05.28 |
---|---|
week 2: B. Synthesis I - Modulation (0) | 2008.05.21 |
week 1: A. Basic (0) | 2008.05.21 |
SupperCollider (0) | 2008.05.17 |
http://en.wikipedia.org/wiki/Unit_generator
Unit Generators form the building blocks for designing synthesis and signal processing algorithms in software. For example, a simple unit generator called OSC could generate a sinusoidal waveform of a specific frequency (given as an input or argument to the function or class that represents the unit generator).
ref.
Computer Music: Synthesis, Composition, and Performance
by Charles Dodge and Thomas A. Jerse
unit generator: an algorithm that performs a particular function of sound generation, modification, or combination. It is controlled by parameters obtained from a score or transducer. (438p)
Each unit generator has input parameters and at least one output. Each performs a specific function of signal generation or modification, or the combination of signals. Many music languages express synthesis algorithms in terms of unit generators, using them as the building blocks with which instruments are made. The internal algorithm of each unit generator has been determined and encoded by the music systems programmer. The musician's task is to interconnect the inputs and outputs of the unit generators to achieve an overall synthesis algorithm that produces the desired result. (72p)
ChucK : Language Specification > Unit Generators
Unit Generators are function generators that output signals that can be used as audio or control signals.
This sawtooth function has the same phase as the sine function.
A sawtooth wave's sound is harsh and clear.
http://en.wikipedia.org/wiki/440_Hz
A440 is the 440 Hz tone that serves as the standard for musical pitch. A440 is the musical note A above middle C (A4).
<Band-Limited Pulse Generator> Ed Doering
<Arbitrary Band-Limited Pulse Generation for Built-in Self-test Applications> Benoit Dufort & Gordon W. Roberts, McGill University
week 4: Envelop Generator in SuperCollider (0) | 2008.05.28 |
---|---|
week 3: B. Synthesis I - Envelopes (0) | 2008.05.21 |
week 1: A. Basic (0) | 2008.05.21 |
SupperCollider (0) | 2008.05.17 |
Computer Music with examples in SuperCollider 3 David Michael Cottle
week 4: Envelop Generator in SuperCollider (0) | 2008.05.28 |
---|---|
week 3: B. Synthesis I - Envelopes (0) | 2008.05.21 |
week 2: B. Synthesis I - Modulation (0) | 2008.05.21 |
SupperCollider (0) | 2008.05.17 |
week 4: Envelop Generator in SuperCollider (0) | 2008.05.28 |
---|---|
week 3: B. Synthesis I - Envelopes (0) | 2008.05.21 |
week 2: B. Synthesis I - Modulation (0) | 2008.05.21 |
week 1: A. Basic (0) | 2008.05.21 |
"people who have a fundamental balance issue in the way they approach the computer as an expressive medium"
"Hybrids that can fluidly cross the chasm between technology and the arts"
"the relentless pursuit of perfecting the bridge that connects the art-mind with the computer-mind"
I hope this book will act as a catalyst to increase software literacy within the arts.
One of my personal goals for this project is to facilitate designers' taking control of their own tools.
The technical innocations of the day most often coincide with parallel developments in aesthetics. Early astrological and calendar systems, across many clultures, combined observed empirical data with richly expressive, mythological narratives as a way of interpreting and ultimately preserving and disseminating the data.
There were times in history when scientists, artists, philosophers, engineers, and so forth were all seen as integrated creative practitioners - not divided solely by their perceived utilitarian value in the marketplace.
Ira Greenberg [Processing: Creative Coding and Computational Art] (0) | 2007.11.17 |
---|
[Ira Greenberg] 1. Code Art (2) | 2007.11.28 |
---|
[Dave Pape] Graphics hardware & software; Python (0) | 2007.10.29 |
---|---|
[Dave Pape] Programming Graphics 1 (0) | 2007.10.29 |
Python
Features:
- Dynamic data typing
- Automatic memory management
- Advanced data types (strings, lists, dictionaries)
- A large standard library
- Extensible & embeddable
Building Blocks
- Comments
- Numbers
- Strings
- Lists
- Variables
- Operators
- Statements
- Assignment
- If - elif - else
- For loops
- While loops
- Functions
- Variable scope
- Modules
- Advanced data types
%
operator (modulo)Modules are pre-written packages of code that can be used in a Python program.
They are similar to libraries in other languages.
A class is a data type, for objects that can contain both variables and functions.A class can implement certain operations that are invoked by special syntax (such as arithmetic operations or subscripting and slicing) by defining methods with special names.
Graphics Pipeline
- Program & data reside in PC memory
- CPU runs program, calling graphics commands
- Commands & data transferred to graphics card
- Images rendered into graphics card memory
- Video display generated from graphics card memory
Interface between CPU & graphics card:
- PCI
- AGP (1x, 2x, 4x, 8x)
- PCI Express
Interface between graphics card & display:
- VGA
- DVI
- Composite, S-Video
A scene graph is a tree used to represent a graphical scene.A scene-graph is a data structure that arranges the logical and often (but not necessarily) spatial representation of a graphical scene.
Graphics APIs
- OpenGL
- Direct3D
- Performer
- OpenInventor
- OpenSceneGraph
- Java3D
- Virtools
- OpenDX
- AVS
[Dave Pape] GLUT; geometry; coordinate systems (0) | 2007.11.01 |
---|---|
[Dave Pape] Programming Graphics 1 (0) | 2007.10.29 |
When: Tuesday/Thursday 2:00 - 3:50 pm
Where: CFA 242
Instructor: Dave Pape
e-mail: depape at buffalo.edu
Office: CFA 250
Office hours: Wed 12-1pm; Tues/Thurs 1-2pm
Website: http://resumbrae.com/ub/dms423/
This production course introduces students to the concepts and practice of programming 2-D and 3-D computer graphics using OpenGL. The major focus is on developing the skills needed to create interactive, real-time CG experiences. Students write their own code to create customized computer tools and visuals and learn the fundamentals of graphics.
Upon completing this course, a student should have an understanding of basic computer graphics technical concepts - e.g., be able to describe the different types of geometric transformations, define what a normal vector is and what it's used for, understand how a texture image is applied to a shape, etc. The student should also be comfortable with using programming and mathematics (trigonometry, interpolation, vectors) to build and control a graphical scene.
There is no single required text. Rather, students should choose one of the following texts, based on their background and programming experience:
Useful websites:
The major topics that we will cover are:
|
|
Aug 28/30 | Introduction |
Sep 4/6 | Images, frame buffer |
Sep 11 | Geometry, coordinate systems |
Sep 20/22 | Transformations |
Sep 25/27 | More transformations, 3D coordinates |
Oct 2/4 | Depth cues |
Oct 9/11 | Math |
Oct 16/18 | Interaction |
Oct 23/25 | Texturing |
Oct 30/Nov 1 | Lighting |
Nov 6/8 | Motion math |
Nov 13/15 | Sound |
Nov 20 | Alpha |
Nov 27/29 | PD |
Dec 4/6 | Special topics TBD |
[Dave Pape] GLUT; geometry; coordinate systems (0) | 2007.11.01 |
---|---|
[Dave Pape] Graphics hardware & software; Python (0) | 2007.10.29 |
[Shiffman] The Nature of Code - Forces (0) | 2007.02.27 |
---|---|
[Shiffman] The Nature of Code - Vectors (0) | 2007.02.16 |
[Shiffman] The Nature of Code - Oscillation (0) | 2007.04.20 |
---|---|
[Shiffman] The Nature of Code - Vectors (0) | 2007.02.16 |
scalar vs. vector
vector http://en.wikipedia.org/wiki/Vector_%28spatial%29
eg. speed vs. velocity http://en.wikipedia.org/wiki/Velocity
http://www.scienceaid.co.uk/physics/forces/motion.html
eg. distance (;path) vs. displacement http://en.wikipedia.org/wiki/Displacement_%28vector%29
http://en.wikipedia.org/wiki/Distance
coordinate & origin
Cartesian coordinate http://en.wikipedia.org/wiki/Cartesian_coordinate_system
(cf. 일반 상대성 이론에서 stress-energy 이론에 의해 코디네이트에 변형이 가해져 물리적 운동과 코디네이트의 일치가 깨지는 현상 소개)
s(displacement) vs. v(velocity) vs. a(acceleration)
http://en.wikipedia.org/wiki/Position_vs._time_graph
normalization
unit vector http://en.wikipedia.org/wiki/Unit_vector
(ref. normalization (wave fn.) http://en.wikipedia.org/wiki/Normalisable_wavefunction
Object Oriented Programming refers to art of breaking down a program into a set of self-contained parts.
Before we can begin to code any simple physics / motion simulation, we need to create a template class to store the data and perform the calculations associated with a vector.
"The term object-oriented design refers to the art of
decomposing an application into some number of objects, self-contained
application components that work together. The goal is to break your
problem down into a number of smaller problems that are simpler and
easier to handle and maintain."
-- Learning Java, Neimeyer, Knudsen
In processing, a class is a "blueprint" or "template" for the creation of an object.
http://itp.nyu.edu/icm/shiffman/week3/index.html
A method is a name for an action. http://codeguru.earthweb.com/java/tij/tij0050.shtml
Method overloading is essential to allow the same method name to be used with different argument types. And although method overloading is a must for constructors, it’s a general convenience and can be used with any method.
instance methods / static methods
An example in the Processing library is an external Java class.
(cp. An internal Java class is a sketch in Processing.)
http://www.shiffman.net/itp/classes/nature/library/Vector3D.java
http://www.shiffman.net/teaching/nature/library/
Access Level to Members of a Class - public, private, protected, or package-private (no explicit modifier)
http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html
ref.
Kinematics 운동학: 운동의 원인과는 상관없이 물체의 움직임만을 분석
http://en.wikipedia.org/wiki/Kinematics
the html version of Newtonian Physics, by Benjamin Crowell
http://www.lightandmatter.com/html_books/1np/ch03/ch03.html
Galileo Galilei
hellomotion http://www.shiffman.net/itp/classes/nature/week02_s06/motion101/hellomotion.pde
boolean (<-Thing에서의 if문) <= "flag"
http://en.wikipedia.org/wiki/Boolean
keyword (/reserved word 예약어) - eg. width, height, PI
constructor (생성자)
NaN = Not a Number (숫자가 아닌 값)
HeadFirst Java
2장 - 객체: constructor(생성자), method(함수), property(변수, 객체)
cf. instance
Head 2 - 클래스와 객체
[Shiffman] The Nature of Code - Oscillation (0) | 2007.04.20 |
---|---|
[Shiffman] The Nature of Code - Forces (0) | 2007.02.27 |
[최승준] 10. 프로세싱과 vision tracking (2) (0) | 2006.05.23 |
---|---|
[최승준] 9. 프로세싱과 비전 트랙킹 (1) (0) | 2006.05.16 |
[최승준] 8. 시각 예술가를 위한 물리 (0) | 2006.05.09 |
[성기원] 7. 프로세싱과 인터랙션 (2) (0) | 2006.05.02 |
[성기원] 6. 프로세싱과 인터랙션 (1) (0) | 2006.04.25 |
[이재곤] 11. 프로세싱과 와이어링 (0) | 2006.05.30 |
---|---|
[최승준] 9. 프로세싱과 비전 트랙킹 (1) (0) | 2006.05.16 |
[최승준] 8. 시각 예술가를 위한 물리 (0) | 2006.05.09 |
[성기원] 7. 프로세싱과 인터랙션 (2) (0) | 2006.05.02 |
[성기원] 6. 프로세싱과 인터랙션 (1) (0) | 2006.04.25 |
[이재곤] 11. 프로세싱과 와이어링 (0) | 2006.05.30 |
---|---|
[최승준] 10. 프로세싱과 vision tracking (2) (0) | 2006.05.23 |
[최승준] 8. 시각 예술가를 위한 물리 (0) | 2006.05.09 |
[성기원] 7. 프로세싱과 인터랙션 (2) (0) | 2006.05.02 |
[성기원] 6. 프로세싱과 인터랙션 (1) (0) | 2006.04.25 |
[최승준] 10. 프로세싱과 vision tracking (2) (0) | 2006.05.23 |
---|---|
[최승준] 9. 프로세싱과 비전 트랙킹 (1) (0) | 2006.05.16 |
[성기원] 7. 프로세싱과 인터랙션 (2) (0) | 2006.05.02 |
[성기원] 6. 프로세싱과 인터랙션 (1) (0) | 2006.04.25 |
[최승준] 5. 시각 예술가를 위한 수학 (0) | 2006.04.18 |
[최승준] 9. 프로세싱과 비전 트랙킹 (1) (0) | 2006.05.16 |
---|---|
[최승준] 8. 시각 예술가를 위한 물리 (0) | 2006.05.09 |
[성기원] 6. 프로세싱과 인터랙션 (1) (0) | 2006.04.25 |
[최승준] 5. 시각 예술가를 위한 수학 (0) | 2006.04.18 |
[김수정] 4. Processing Print (0) | 2006.04.11 |
[최승준] 8. 시각 예술가를 위한 물리 (0) | 2006.05.09 |
---|---|
[성기원] 7. 프로세싱과 인터랙션 (2) (0) | 2006.05.02 |
[최승준] 5. 시각 예술가를 위한 수학 (0) | 2006.04.18 |
[김수정] 4. Processing Print (0) | 2006.04.11 |
[최승준] 3. Basic Processing (2) (0) | 2006.04.04 |
[성기원] 7. 프로세싱과 인터랙션 (2) (0) | 2006.05.02 |
---|---|
[성기원] 6. 프로세싱과 인터랙션 (1) (0) | 2006.04.25 |
[김수정] 4. Processing Print (0) | 2006.04.11 |
[최승준] 3. Basic Processing (2) (0) | 2006.04.04 |
[최승준] 2. Basic Processing (1) (0) | 2006.03.28 |