본문 바로가기

Processing7

[프로세싱(Processing) : 중급] 외부 라이브러리 활용과 확장 7. 외부 라이브러리 활용과 확장 프로세싱은 다양한 외부 라이브러리를 통해 높은 수준의 기능을 쉽게 구현할 수 있습니다. 이번 섹션에서는 머신러닝, AR/VR, 물리 시뮬레이션 등의 라이브러리를 활용하는 방법과 직접 커스텀 라이브러리를 개발 및 배포하는 방법에 대해 살펴봅니다. 7.1. 머신러닝 라이브러리 ml5.js는 p5.js와 호환되는 머신러닝 라이브러리로, 이미지 인식, 자연어 처리, 스타일 전이 등 다양한 머신러닝 기능을 쉽게 사용할 수 있습니다. // ml5.js 사용 import ml5.*; // 이미지 분류 객체 생성 ImageClassifier classifier; void setup() { classifier = new ImageClassifier("MobileNet", () -> { .. 2023. 5. 1.
[프로세싱(Processing) : 중급] 데이터 시각화와 인터랙티브 디자인 6. 데이터 시각화와 인터랙티브 디자인 6.1. 데이터 로드 및 가공 프로세싱에서 데이터를 로드하고 가공하는 방법을 학습합니다. CSV, JSON, XML 등 다양한 형식의 데이터를 불러오고 처리할 수 있습니다. loadTable, loadJSON, loadXML 등의 함수를 사용하여 데이터를 로드하고, 반복문과 조건문을 활용해 필요한 데이터를 추출 및 변환합니다. Table data; void setup() { data = loadTable("data.csv", "header"); for (TableRow row : data.rows()) { int id = row.getInt("id"); float value = row.getFloat("value"); println("ID: " + id + ", V.. 2023. 5. 1.
[프로세싱(Processing) : 중급] 입출력과 통신 5. 입출력과 통신 5.1. 파일 입출력 및 데이터 저장 프로세싱에서는 다양한 형식의 파일을 읽고 쓸 수 있습니다. 예를 들어, 텍스트 파일을 읽고 쓰는 방법은 다음과 같습니다. // 텍스트 파일 읽기 String[] lines = loadStrings("data.txt"); for (String line : lines) { println(line); } // 텍스트 파일 쓰기 String[] linesToWrite = {"Hello", "World"}; saveStrings("output.txt", linesToWrite); 이 외에도 프로세싱에서는 JSON, CSV, XML 등의 데이터 형식을 지원하며, 해당 데이터를 읽고 쓸 수 있는 함수를 제공합니다. 5.2. 웹캠 및 마이크 입력 프로세싱에서는 .. 2023. 5. 1.
[프로세싱(Processing) : 중급] 사운드 처리 4. 사운드 처리 프로세싱에서 사운드 처리를 위해 사용되는 라이브러리들을 소개하고, 사운드 재생 및 제어, 오디오 분석 및 시각화, 그리고 사운드 합성 및 처리 방법을 배웁니다. 4.1. 사운드 라이브러리 소개 프로세싱은 사운드 처리를 위한 여러 라이브러리를 제공합니다. 대표적인 라이브러리로는 'Minim'과 'Processing Sound Library'가 있습니다. 'Minim'은 사운드 재생, 오디오 분석 및 시각화, 그리고 사운드 합성을 위한 기능을 제공합니다. 'Processing Sound Library'는 좀 더 간단한 API로 사운드 재생 및 합성을 위한 기능을 제공합니다. 4.2. 사운드 재생 및 제어 먼저, 사운드 파일을 재생해 봅시다. Minim 라이브러리를 사용하여 사운드 파일을 불.. 2023. 5. 1.
[프로세싱(Processing) : 중급] 애니메이션과 입체 공간 3. 애니메이션과 입체 공간 이 강의 자료에서는 프로세싱을 사용한 애니메이션과 입체 공간에 대한 중급 지식을 다룹니다. 여기에서 배울 내용은 프레임 기반 애니메이션, 키 프레임 애니메이션, 입체 공간과 3D 그래픽, 그리고 3D 모델 및 텍스처 맵핑입니다. 이를 통해 동적이고 입체적인 시각적 표현을 구현할 수 있습니다. 3.1. 프레임 기반 애니메이션 프레임 기반 애니메이션은 프레임 단위로 이미지를 업데이트하여 움직임을 표현하는 방식입니다. 프로세싱에서는 draw() 함수를 사용하여 프레임 간의 차이를 계산하고 업데이트합니다. float x = 0; void setup() { size(640, 360); } void draw() { background(255); x += 1; if (x > width) .. 2023. 5. 1.
[프로세싱(Processing) : 중급] 고급 그래픽 기법 2. 고급 그래픽 기법 고급 그래픽 기법을 사용하면 프로세싱을 통해 더 많은 시각적 표현을 구현할 수 있습니다. 이러한 기법들은 중급자 이상의 사용자에게 적합하며, 창의적인 그래픽 작업을 수행하는데 도움이 됩니다. 2.1. 픽셀 단위 그래픽 처리 프로세싱에서 픽셀 단위로 이미지를 조작하려면 loadPixels()를 호출한 후 pixels[] 배열에 접근하여 픽셀 값(색상)을 변경하고, 마지막으로 updatePixels()를 호출하여 변경사항을 적용합니다. void setup() { size(200, 200); loadPixels(); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { color c = color(random(255).. 2023. 5. 1.