본문 바로가기

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

[프로세싱(Processing) : 고급] 프로젝트 관리 및 협업 7. 프로젝트 관리 및 협업 프로젝트 관리 및 협업에서는 프로젝트를 효과적으로 관리하고 팀원 간 협업을 원활하게 진행하는 방법에 대해 배웁니다. 7.1. 버전 관리 시스템 소개 버전 관리 시스템 소개에서는 소프트웨어 개발에서 일반적으로 사용되는 버전 관리 시스템인 Git을 소개합니다. Git은 코드의 변경 이력을 추적하고 여러 사람이 협업할 때 충돌을 최소화하는데 도움을 줍니다. 예를 들어 Git을 사용하는 간단한 작업 흐름은 다음과 같습니다. # Git 저장소 생성 git init # 변경 사항을 추적할 파일 추가 git add file_name # 변경 사항을 커밋 git commit -m "Add a file" # 원격 저장소에 변경 사항을 푸시 git push origin main 7.2. 협업 .. 2023. 5. 1.
[프로세싱(Processing) : 고급] 크리에이티브 코딩 심화 6. 크리에이티브 코딩 심화 여기서는 다양한 창의적 기법과 원리로 프로세싱을 활용한 복잡한 작품을 만들 수 있습니다. 6.1. 시뮬레이션 및 에이전트 기반 모델링 시뮬레이션 및 에이전트 기반 모델링에서는 개체(에이전트)들이 상호작용하는 시스템을 구현하여 현실 세계의 현상을 모방하거나 예측하는 방법을 배웁니다. 예를 들어, 복잡한 군집 행동이나 환경에 적응하는 시스템을 모델링할 수 있습니다. 에이전트 기반 시뮬레이션은 생물학, 경제학, 사회학 등 다양한 분야에서 응용되며, 예술 작품에서도 독특한 시각적 효과를 만들어 낼 수 있습니다. let agents = []; function setup() { createCanvas(640, 480); for (let i = 0; i < 100; i++) { agent.. 2023. 5. 1.
[프로세싱(Processing) : 고급] 프로세싱과 웹 통합 5. 프로세싱과 웹 통합 5.1 p5.js 소개 p5.js는 프로세싱(Processing)의 웹 버전으로, JavaScript를 기반으로 한 오픈소스 라이브러리입니다. p5.js를 사용하면 웹에서 그래픽, 애니메이션, 인터랙션 등 다양한 작업을 쉽게 구현할 수 있습니다. 또한 웹의 특성을 활용하여 실시간 상호작용, 데이터 시각화, 웹 API 사용 등 다양한 프로젝트를 구축할 수 있습니다. 5.2 웹 기반 프로세싱 프로젝트 구축 p5.js를 사용하여 웹 기반 프로세싱 프로젝트를 구축하려면 HTML, CSS, JavaScript 기본 지식이 필요합니다. p5.js 스케치를 HTML 페이지에 삽입하고, CSS를 사용하여 스타일을 적용할 수 있습니다. 또한 JavaScript를 사용하여 기존 웹 요소와 상호작용.. 2023. 5. 1.
[프로세싱(Processing) : 고급] 기계 학습 및 인공지능 4. 기계 학습 및 인공지능 4.1 기계 학습 개요 기계 학습(Machine Learning)은 데이터를 통해 패턴을 찾고, 이를 기반으로 예측, 분류, 군집화 등의 작업을 수행하는 인공지능(AI)의 한 분야입니다. 기계 학습 알고리즘은 크게 지도 학습, 비지도 학습, 강화 학습으로 구분됩니다. 4.2 지도 및 비지도 학습 알고리즘 지도 학습(Supervised Learning)은 입력 데이터와 정답 레이블을 사용하여 모델을 학습시키는 방식입니다. 대표적인 알고리즘으로는 회귀(Regression), 분류(Classification) 등이 있습니다. 비지도 학습(Unsupervised Learning)은 정답 레이블이 없는 데이터를 사용하여 모델을 학습시키는 방식으로, 군집화(Clustering)나 차원 .. 2023. 5. 1.
[프로세싱(Processing) : 고급] GPGPU 프로그래밍 3. GPGPU 프로그래밍 3.1 GPU 기반 병렬 컴퓨팅 개요 GPGPU(General-purpose computing on graphics processing units)는 그래픽 처리 장치(GPU)를 일반적인 계산에 활용하는 것을 의미합니다. GPU는 많은 코어를 갖고 있어 병렬 처리에 강점을 지니며, 고성능 컴퓨팅을 위해 사용됩니다. 3.2 셰이더 프로그래밍 기초 셰이더는 GPU에서 실행되는 작은 프로그램으로, 그래픽 처리 과정의 특정 단계를 조절합니다. 셰이더는 주로 GLSL(OpenGL Shading Language)로 작성되며, 프로세싱에서도 사용할 수 있습니다. 셰이더는 정점 셰이더와 픽셀(프래그먼트) 셰이더로 구분됩니다. 3.3 프로세싱에서 GPGPU 활용 프로세싱은 OpenGL을 기반으.. 2023. 5. 1.
[프로세싱(Processing) : 고급] 컴퓨터 비전 2. 컴퓨터 비전 2.1 영상 처리 기초 영상 처리는 디지털 이미지를 분석하고, 처리하는 기술입니다. 픽셀 값의 조작, 히스토그램 평활화, 이진화, 엣지 검출 등 다양한 영상 처리 기법이 있습니다. 프로세싱에서는 PImage 클래스를 사용하여 이미지를 불러오고, 픽셀 값을 수정할 수 있습니다. 2.2 특징 검출 및 추적 특징 검출은 이미지에서 눈에 띄는 특징을 찾아내는 기술로, 객체 인식 및 추적에 사용됩니다. 대표적인 특징 검출 알고리즘으로 SIFT, SURF, ORB 등이 있습니다. 특징 추적은 시간에 따라 이미지의 특징점의 움직임을 추적하는 기술입니다. 2.3 객체 인식 및 분류 객체 인식은 이미지에서 특정 객체를 찾아내는 기술입니다. 템플릿 매칭, 특징 기반 매칭 등의 방법이 사용됩니다. 객체 분.. 2023. 5. 1.