스케치와 스크립트

스케치는 스크립트와 개념적으로 유사하지만 인터프리트 방식이 아니라 자바 클래스 파일로 컴파일되므로 속도가 바르다는 장점이 있다. 물론, 자바도 엄밀하게는 인터프리터 언어지만 바이트코드 컴파일 덕분에 자바스크립트, 파이썬, 루비 등의 스크립트 언어에 비해 실행속도가 더 빠르기 때문이다. 


Processing은 궁극적 비주얼 프로그래밍 언어를 지향하지 않는다. Processing이 지향하는 목표는 다음과 같다.

1. 번거로운 작업을 단순화해 작품에 집중하도록 도와주는 스케치북

2. 프로그래밍을 전공하지 않은 사람에게 프로그래밍을 가르치기에 적합한 환경

3. 스크립트 언어에서 자바나 C++등의 고급언어로 넘어가기 위한 디딤돌


속도와 신경 쓸 필요가 없다면 파이썬이나 루비 같은 스크립트 언어를 택해도 된다.


완전 프로토타이핑 모델이다.

초기의 가설을 테스트하기 위해 1주일 만에 간단한 프로토타입을 구축하고, 이 과정에서 배운 내용을 토대로 다시 1주일 만에 개선된 버전을 구축하는 식의 작업이 필요할 때가 많기 때문이다.


신고

'Visualizing Data' 카테고리의 다른 글

스케치와 스크립트  (0) 2017.03.19
size() 함수에 관한 설명  (0) 2017.03.19
Hello World  (0) 2017.03.19
데이터 시각화 시 유의사항  (0) 2017.03.19
0  Comments,   0  Trackbacks
댓글 쓰기
size() 함수에 관한 설명

size()

1 폭과 높이 조정
전역 변수인 width와 height를 설정합니다. 화면 크기에 의존적이라면 변수를 사용합시다.

// 잘못된 사용법
ellipse(200,200,50,50);

// size()함수가 변경되어도 항상 가운데를 지정
ellipse(width/2,height/2,50,50);

2 렌더링 방식 지정

size(400,200,renderer);
  • JAVA2D
    기본 렌더러이기 때문에 size(400,200)과 같은 의미입니다. 직선의 촉 모양 같은 세밀한 P3 할 수 없지만, 단순한 모양의 도형을 많이 그려야 할 때나 이미지 혹은 비디오의 픽셀을 직접 조작할 때 편리합니다.
  • P3D
    고속 픽셀 처리를 위해 존재합니다. JAVA3D 등의 라이브러리를 사용하지 않아도 브라우저에 3D 그래픽을 생성할 수 있습니다. 이미지의 품질은 떨어지지만 (smooth() 함수를 사용하지 않고 이미지의 정확도가 낮음), 많은 수의 삼각형을 매우 빠른 속도로 그릴 수 있습니다.
  • OPENGL
    OpenGL 라이브러리를 이용한 애플릿은 별도의 변경 없이 웹 브라우저에서 동작하지만, 선 마이크로시스템스를 신뢰해 JOGL 실행을 허용할 지 묻는 대화상자가 사용자에게 나타날 것입니다. 이것이 문제가 될 경우에는 P3D 렌더러가 쉬운 해결책입니다.
  • PDF
    size(400,200,PDF,"output.pdf"); OpenGL 라이브러리와 마찬가지로 PDF 라이브러리를 사전에 불러와야 합니다. 이 렌더러는 Java2D 렌더러와 유사하지만 PDF 파일에 직접 기록한다는 점이 다릅니다.

P2D, P3D는 픽셀 단위의 처리에 뛰어나고, Java2D, PDF는 고화질의 2D 그래픽이 강점입니다.

신고

'Visualizing Data' 카테고리의 다른 글

스케치와 스크립트  (0) 2017.03.19
size() 함수에 관한 설명  (0) 2017.03.19
Hello World  (0) 2017.03.19
데이터 시각화 시 유의사항  (0) 2017.03.19
0  Comments,   0  Trackbacks
댓글 쓰기
Hello World

Intro

Processing, 스케치라고 불리는 프로그램을 사용하였습니다. 자바 기반이지만 또 하나의 자바 IDE를 목적으로 만들어진 것은 아닙니다. 더 나은 시각화 도구를 제공하기 위해 Processing의 개념 모델(프로그램의 동작, 인터페이스 구축, 파일 처리 등)은 자바와 다르게 설계되었기 때문입니다. PDE는 아래의 링크에서 다운받아 압축을 풀면 설치 끝입니다. PDE가 아닌 자바 개발 환경에서 Processing 라이브러리를 사용해도 무방합니다.

https://processing.org/download/?processing
기본모드 스케치(Hello World)란 애니메이션이나 상호작용 없이 어떤 작업을 수행하거나 간단한 이미지를 생성합니다. 상호작용이 있는 대화식 프로그램은 일련의 연속된 프레임으로서 화면에 그려지는데, 프레임은 setup()draw()라는 함수를 추가해 생성할 수 있습니다. 이를 가리켜 연속모드 스케치(Hello Mouse)라고 부릅니다. 이 함수들은 자동으로 호출되는 내장 함수입니다.

Hello World

Processing의 Hello World는 간단한 1개의 직선을 그리는 것입니다.

Hello Mouse

마우스를 추적하여 직선이 그려진다는 것이 다른점입니다. setup()함수는 초기화 목적으로 한 번만 실행됩니다. draw()함수는 애니메이션 처리를 위해 반복 실행 됩니다. size()함수는 반드시 setup()블록의 맨 처음에 와야 한다는 점 주의하세요.

위의 background(192,64,0);의 위치에 따라 결과물이 어떻게 바뀔까요?

  1. setup() 안에서 실행했을 때 background() 함수를 한 번만 호출하기 때문에 마우스 포인터를 이동할때마다 그려지는 직선이 모두 표시됩니다.
  2. draw() 안에서 실행했을 때 draw()함수가 실행될때마다 창의 배경이 클리어되기 때문에 직선을 1개만 표시할 수 있습니다.
  3. mousepressed() 안에서 실행했을 때 mousepressed() 함수는 마우스 버튼이 눌릴 때마다 호출됩니다. 그러므로 이 경우는 마우스 버튼을 클릭하면 화면이 클리어됩니다.

Ques.

  1. 자바와 Processing이 어떻게 다른가
신고

'Visualizing Data' 카테고리의 다른 글

스케치와 스크립트  (0) 2017.03.19
size() 함수에 관한 설명  (0) 2017.03.19
Hello World  (0) 2017.03.19
데이터 시각화 시 유의사항  (0) 2017.03.19
0  Comments,   0  Trackbacks
댓글 쓰기

티스토리 툴바