2012년 11월 29일 목요일

[창작용 프로그래밍] processing, scratch


* processing 언어 (계보 : Java -> Processing)

홈페이지 http://www.processing.org  http://openprocessing.org
다운로드  http://www.processing.org/download/


* scratch 언어 (계보 : 스몰톡 -> Squeak -> Scratch)

홈페이지 http://scratch.mit.edu/
다운로드 http://info.scratch.mit.edu/ko/Scratch_1.4_Download



둘 다 MIT의 미디어랩에서 나온 결과물이다.
processing은 미디어 아티스트를 위한 저작도구 개념이고
scratch는 그보다 더 쉬운 거다.

특히 scratchED 라는 툴은
초등학생에게 프로그래밍을 가장 쉽게 가르칠 수 있는 도구이다.
이걸 가지고 애들 가르친 부모들 커뮤니티를 들여다보니,
2살짜리 아들이랑 함께 이걸 가르치면서 하는 아빠도 있더라는...  영재인가.

http://scratched.media.mit.edu/

scratchED를 이용해서 간단한 애니메이션이나 게임 같은 것을 만들 수 있고
타이핑을 해서 코딩하는게 아니고 마우스로 집어다가 옮기면 되는 RAD 개념에
초딩들이 좋아할 만한 디자인을 가진, 아주 만만하게 보이는 IDE를 구성해 놨다.



Intro to Scratch from ScratchEd on Vimeo.

scretch의 한국어 포럼도 제공된다.
http://scratch.mit.edu/forums/viewforum.php?id=33

한국어 번역도 하고 있다.
http://info.scratch.mit.edu/ko/Languages





한편


processing 언어의 경우에는, 잡다한 Java 프로그래밍의 사족들을 다 숨겨버리고
그냥 핵심이 되는 것만 프로그래밍해 주면 되도록 해 놨다.
기본적으로 제일 앞 부분에 셋팅 함수 설정해서 내용 적어주고
그 다음 함수에 하고 싶은 일들을 죽 적으면 되는 식이다.

단 몇 줄 만으로 아주 간지폭발하는(?) 그래픽을 보여준다.

게다가 이두이노라는 하드웨어와 연계해서 하드웨어 제어까지 되도록 하고
플랫폼을 가리지 않고 다 된다.  심지어 안드로이드 포팅도 끝났고
비공식적으로는 ios에서도 되는가 보다.

결과물은 웹으로 띄워줄 수도 있는데, 이때는 웹브라우저에서 JDK가 필요하다.
리눅스에서 보니깐, 우분투에 기본으로 깔려 있는 OpenJDK/Icedtea는 호환이 안 되는 것 같다.
정품(?) 오라클 JDK를 저장소 찾아서 깔아주고, 그걸 기본으로 셋팅해 준 후, 크롬 웹브라우저에서 Java 항상 실행 되도록 설정해 주고 나면 잘 된다.


--> 절차 -------------------------------------------
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-jdk7-installer

이렇게 깔아주고 나서

sudo apt-get purge openjdk*

해 주면 openjdk는 뻥 사라진다..
크롬 웹브라우저에서 Java 어플이 항상 돌아가도록 하려면, 주소창에

chrome://plugins

쳐주고 들어가서 해당 오라클 JDK를 항상 실행되도록 설정 해 주면 된다.
---------------------------------------------------


processing을 이용하여 활용할 만한 부분은....

미디어 아티스트가 수학함수를 이용해서 아주 멋진 구조를 만들어서 보여준다던가
애니메이션 멋지게 만들어서 공연용 대형 디스플레이를 장식해 준다던가
등으로 물론 활용 가능하겠지만
현실적으로 "최고로 멋진 프리젠테이션"을 하려면
이걸 사용하면 궁극적인 해답이 되지 않을까 한다.


processing (IDE besed on JAVA) + JOCL (OpenCL for JAVA)
Simulation Demo


Presentation 응용사례 - http://nytlabs.com/projects/cascade.html


데이타를 3차원으로 분위기있게 돌려가면서 뿌려주고,
동적으로 변화추이를 보여주고 하면
아주 그냥 사람들이 홀라당 넘어갈 기세다.

라이브러리도 잘 찾아보니 좋은게 있는 듯..  GUI 관련 http://www.sojamo.de
동영상 강좌도 있다.   http://funprogramming.org/  핀란드 사람의 영어강의라는 점만 빼면 도움이 된다.


processing 튜토리얼의 한글판은 없나 했는데, 찾아보니

프로세싱 베타버전 개요 (번역) http://physics.snu.ac.kr/~kclee/Env/Environment_K.htm
프로세싱 튜토리얼 (번역) http://physics.snu.ac.kr/~kclee/tutorial/tutorial_KDraft.htm

번역하신 분이 서울대 물리학과 교수로 계시다가 정년퇴직한 이구철 교수라는 분이시다..
연세가 1935년생이신데 엄청나다...  그 연세에 정말 대단하신 분 같다.



댓글 없음:

댓글 쓰기