본문 바로가기
GD's IT Lectures : 기초부터 시리즈/프로세싱(Processing) 기초부터 ~

[프로세싱(Processing)] 프로세싱 라이브러리 활용

by GDNGY 2023. 5. 1.

6. 프로세싱 라이브러리 활용

프로세싱은 다양한 라이브러리를 제공하여 간편한 개발을 가능하게 합니다. 이번 장에서는 프로세싱의 대표적인 라이브러리인 이미지와 사운드 라이브러리, 3D 그래픽 라이브러리, 데이터 시각화 라이브러리, 기타 라이브러리에 대해 알아보겠습니다.

 

6.1. 이미지와 사운드 라이브러리

프로세싱에서는 이미지와 사운드를 처리하기 위한 라이브러리를 제공합니다. 다음은 대표적인 이미지와 사운드 라이브러리입니다.

 

  • 이미지 라이브러리: loadImage(), image(), tint(), filter() 등의 함수를 제공합니다. 이를 사용하여 이미지를 불러오고, 필터링하거나 색상을 조정하는 등 다양한 작업을 할 수 있습니다.
  • 사운드 라이브러리: loadSound(), play(), stop(), loop() 등의 함수를 제공합니다. 이를 사용하여 오디오 파일을 불러오고, 재생하거나 일시 정지, 반복 재생 등 다양한 작업을 할 수 있습니다.

다음은 이미지와 사운드 라이브러리를 사용한 예제 코드입니다.

PImage img; // 이미지 변수
SoundFile sound; // 사운드 변수

void setup() {
  size(400, 400);
  img = loadImage("image.jpg"); // 이미지 불러오기
  sound = new SoundFile(this, "sound.mp3"); // 사운드 불러오기
}

void draw() {
  background(255);
  image(img, 0, 0); // 이미지 출력
}

void mouseClicked() {
  sound.play(); // 사운드 재생
}

 

6.2. 3D 그래픽 라이브러리

프로세싱에서는 3D 그래픽을 처리하기 위한 라이브러리를 제공합니다. 이를 사용하여 다양한 3D 그래픽을 렌더링 할 수 있습니다. 다음은 대표적인 3D 그래픽 라이브러리입니다.

 

  • P3D: Processing 3D 그래픽 기능을 사용하기 위한 라이브러리입니다. 다양한 3D 도형, 빛, 카메라 등의 기능을 제공합니다.
  • PeasyCam: P3D 라이브러리를 기반으로 한 카메라 조작 라이브러리입니다. 카메라의 이동, 회전, 줌 인/아웃 등을 쉽게 조작할 수 있습니다.

 

다음은 3D 그래픽 라이브러리를 사용한 예제 코드입니다.

import peasy.*;

PShape cube;
PeasyCam camera;

void setup() {
    size(400, 400, P3D);
    cube = createShape(BOX, 50); // 박스 모양의 PShape 생성
    camera = new PeasyCam(this, 100); // PeasyCam 객체 생성
}

void draw() {
    background(255);
    shape(cube); // PShape 출력
}

 

6.3. 데이터 시각화 라이브러리

프로세싱에서는 데이터 시각화를 위한 다양한 라이브러리를 제공합니다. 이를 사용하여 데이터를 시각화하고, 그래프, 차트, 지도 등을 만들 수 있습니다. 다음은 대표적인 데이터 시각화 라이브러리입니다.

 

  • Processing.js: Processing의 자바스크립트 버전으로, 웹 페이지에 쉽게 적용할 수 있습니다.
  • Gephi: 그래프 네트워크 시각화를 위한 라이브러리로, 다양한 그래프, 레이아웃, 필터 등의 기능을 제공합니다.

 

다음은 데이터 시각화 라이브러리를 사용한 예제 코드입니다.

import processing.data.*;

Table table; // 데이터 테이블

void setup() {
    size(400, 400);
    table = loadTable("data.csv", "header"); // 데이터 테이블 불러오기
}

void draw() {
    background(255);
    for (TableRow row : table.rows()) { // 각 행의 데이터 출력
        float x = row.getFloat("x"); // x 값 가져오기
        float y = row.getFloat("y"); // y 값 가져오기
        ellipse(x, y, 10, 10); // 데이터 위치에 원 출력
    }
}

 

6.4. 기타 라이브러리 소개

프로세싱에서는 다양한 라이브러리가 제공되어 있습니다. 이를 사용하여 보다 다양하고 풍부한 작품을 만들 수 있습니다. 다음은 몇 가지 기타 라이브러리입니다.

  • ControlP5: GUI 요소를 쉽게 추가할 수 있도록 하는 라이브러리입니다.
  • Minim: 오디오 처리를 위한 라이브러리로, FFT, 이퀄라이저, 스펙트럼 분석 등의 기능을 제공합니다.
  • Toxiclibs: 다양한 수학 함수와 알고리즘을 제공하여 복잡한 그래픽 처리를 보다 쉽게 할 수 있도록 도와줍니다.

위에서 소개한 라이브러리들은 프로세싱을 보다 효과적으로 사용하기 위해 필수적입니다. 라이브러리를 사용하면 좀 더 다양한 작품을 만들어 볼 수 있으니, 참고하여 사용해 보세요.

 

반응형

댓글