|
Processing을 활용한 프로그래밍
강사: 백진욱시간: 10년 1월 5일부터 총 10회, 화요일 오후 7시~9시30분 수강료: 250,000원 강좌 개요
디지털 시대에 프로그래밍은 예술을 창조하는 가장 강력한 도구 중 하나이다. 그러나, 이공학 교육을 받은 사람이 아닌 일반 대중이 처음 시작하기에는 많은 어려움이 있다. 이 강좌에서는 뉴미디어 아트/디자인을 위한 쉽지만 강력한 프로그래밍 언어로 많은 사람들이 사용하고 있는 프로세싱을 통해서 프로그래밍의 기본을 습득할 수 있도록 한다.프로세싱 사이트 http://www.processing.org/ 프로세싱 관련 책들 http://www.processing.org/learning/books/ Daniel Shiffman의 블로그 http://www.shiffman.net/ OpenProcessing http://www.openprocessing.org/ 강사 소개
백진욱 / 미디어 아티스트, 프로세스 디자이너수학 및 컴퓨터공학 전공으로 포항공과대학교를 졸업하였고, 동 대학원에서 컴퓨터공학을 전공하였다. 현재 디자인 에이전시인 VINYL의 뉴 미디어 아트랩에서 재직 중이다. 클래지콰이, 페퍼톤스, 정재형 등 VJing 작업과 다수의 전시가 있으며 아트센터 나비에서 다수의 강의를 진행하였다. 강좌 계획
1강: Introduction to Processing Language and Computer Programming프로세싱 언어를 이용하여 제작된 작업들과 관련 사이트들을 살펴보고 프로세싱 언어를 통해서 어떤 일들을 할 수 있는지 알아본다. 더불어, 디지털 아트 / 디자인 분야에서 사용하고 있는 다른 다양한 언어들도 소개한다. - 프로세싱 개발 환경의 사용법 - 프로세싱 사용할 때 정보를 얻는 방법 - 프로세싱 프로그램의 구조 2강: Introduction to Computer Graphics 프로세싱에서 제공하는 드로잉 함수들을 사용하여 이미지를 만들어본다. - 드로잉 오더 : Painter's Algorithm - 컬러 스페이스 -디지털 컬러 모델 (RGB, HSB, ...) - RGB color의 구조 - 드로잉 함수 사용법 (2차원 드로잉 함수들) - text 표시 - 이미지 및 비디오 이용 - 수학 : 2차원 직교 좌표계 - 프로그래밍 : 변수(variable), 블럭(block), 주석(comment) 3강: Interaction 키보드와 마우스를 이용한 인터랙션 : 인터랙티브하게 이미지에 변화를 주는 방법들을 배워본다. - 마우스의 좌표 및 버튼 상태를 이용하여 이미지에 변화를 준다. - 키보드를 이용하여 이미지에 변화를 준다. - 써드파티 사운드 라이브러리를 이용하여 소리 데이터를 비주얼로 바꾸어본다. - 간단한 UI Element를 만들어본다. - 수학 : 피타고라스 정리, 2차원 벡터 - 프로그래밍 : (if / else), for loop 소개, boolean 데이터 써드파티 라이브러리를 설치하고 사용하는 방법 : sonia 4강: Data & Process 프로세싱에서 제공하는 기본적인 데이터타입에 대해서 알아보고 데이터를 가공하는 방법에 대해서 배운다. 이미지 데이터의 픽셀값을 변경함으로써 Array에 대해서 배워본다. 유한한 메모리 공간을 활용하기 위해 데이터 타입들이 어떻게 구성되어 있는지 습득한다. - Data - Primitive Data Type : int, short, long, byte, float, double, char, boolean - Object : Array, String - Process - calculation - arithmetic operation, logic operation, relational operation - control - if / else if / else, switch / case - 프로그래밍 : Video library, Movie library 5강: Structures 프로그램을 구조적으로 조직화하는 방법에 대해서 배운다. - loop : loop의 정의와 요소들 - for (while, do while은 뒤에 다룬다.) - 함수와 모듈화 프로그래밍 - 하향식 프로그래밍 기법 - 함수의 개념 및 구조, 변수의 스코프 - 클래스 및 오브젝트 소개 - 수학 : 함수의 개념, 결정론적인 세계관 - 프로그래밍 : ArrayList 6강: Object Oriented Programming 사용자 데이터 타입을 클래스로 정의하여 사용하는 방법에 대해서 배운다. - 클래스 정의 및 인스턴스화 / 인스턴스의 사용 - Inheritance / Overriding / Polymorphism - 다양한 GUI Element를 만들어봄으로써 inheritance와 polymorphism을 습득한다. - 프로그래밍 : HashMap 7강: Object Oriented Programming II 개체 지향 프로그래밍의 기본 개념인 inheritance와 polymorphism를 연습한다. - 벡터와 물리학의 기본 개념인 선형 동역학계에 대해 배우고 파티클 시스템을 만들어본다. - 수학 : 3차원 직교 좌표계, Vector - 물리 : 선형 동역학계, 파티클 시스템 - 프로그래밍 : ArrayList 8강: Interconnection between Programs 프로세싱과 다른 환경을 이어서 서로 데이터를 주고 받는 방법을 배워본다. - Processing의 Network 라이브러리와 OSC(Open Sound Control)를 이용하여 프로세싱 프로그램 간에 데이터를 교환한다. - OSC를 이용하여 MAX/MSP, SuperCollider, Quartz Composer, Flash Action Script 등 다른 개발환경과 데이터를 교환한다. - Arduino 보드와 Serial Port를 이용하여 데이터를 주고 받는 방법을 배워본다. - 수학 : 구면 좌표계 - 프로그래밍 : sonia live input 9강: Computer Vision 가장 기본적인 비전 라이브러리인 blobDetection과 JMyron을 이용하여 컴퓨터 비전의 기초에 대해서 배워본다. - 이미지 프로세싱의 기본 개념을 배워본다. - blobDetection 및 JMyron을 이용하여 카메라를 이용하는 인터랙티브 작품을 만드는 법을 배워본다. 10강: Work Presentation 프로세싱을 이용하여 각자 제작한 작품을 서로 공유하고 피드백의 시간을 가진다. 목록 | 커뮤니티 | 수강신청 | 프린트 |