반응형
Processing은 미디어아트 및 교육용 언어 지향의 오픈소스 프로그래밍 언어입니다. 라이선스는 GPL, 라이브러리 라이선스는 LGPL을 따르고 있습니다. MIT 미디어 연구소 소속의 Casey Reas와 Ben Fry가 개발하여 2001년 처음 공개하였죠. 알파, 베타 과정을 꽤 길게 거쳤으나, 이미 그 단계에서 미디어 아트 지향의 여러 교육기관에서 널리 사용되고 있었으며 첫 정식 버전인 1.0 버전은 2008년 11월에 공개되었습니다.
Processing은 기본적으로 Java 베이스의 언어이지만 JavaScript 버전으로 만들어진 P5.js 라이브러리가 있으며, 따라서 이 라이브러리를 활용하면 웹브라우저에서도 Processing에서 구현할 수 있는 각종 애니메이션이나 그래픽 효과를 구현할 수 있어 보다 동적인 사이트를 쉽게 구축할 수 있다.
int n=9,i,s;
float a[]=new float[n*4],d,k,t;
void setup()
{
size(800,800);
noStroke();
for(i=0;i<n*4;i++)a[i]=400-random(800);
colorMode(HSB);blendMode(ADD);
}
void draw(){
background(0);
for(i=0;i<n;i++){
for(s=i+1;s<n;s++){
d=dist(a[i],a[i+n],a[s],a[s+n]);
for(k=0;k<d;k+=d/300){
fill(abs(k-d/2),255,255,9);
circle((a[s]-a[i])*k/d+a[i]+400,(a[s+n]-a[i+n])*k/d+a[i+n]+400,abs(k-d/2)/5+6);
}
}
for(s=0;s<2;s++)
if(abs(a[i+n*s]+=a[i+n*(2+s)]/100)>400)a[i+n*(2+s)]*=-1;
}
}
//#Processing
float t;
void setup() {
size(800, 800);
colorMode(3);
background(0);
}
void draw() {
fill(0, 3);
rect(-1, -1, 802, 802);
translate(400, 950);
a(0, 550);
t++;
}
void a(float r, float d) {
if (d>5) {
push();
stroke(t%255, 255, 255);
point(-t*d/100*sin(r), -t*d/100*cos(r));
translate(-d*sin(r), -d*cos(r));
for (float p=0; p<TAU; p+=PI/5)a(p, d/2.7);
pop();
}
}
반응형
'메이커 Maker' 카테고리의 다른 글
AI와 IoT가 인터넷과 세계 경제를 변화시키는 이유 (1) | 2024.02.20 |
---|---|
270 MINI ELECTRONICS PROJECT WITH CIRCUIT (1) | 2024.02.06 |
임베디드 RTOS 구조와 활용 강의 목차 (2) | 2023.12.22 |
FreeRTOS 커널 빠른 시작 가이드 (2) | 2023.12.21 |
API 문서는 API 사용 및 통합을 위한 사람이 읽을 수 있는 지침의 집합 (1) | 2023.12.05 |
555 TIMER BASICS – BISTABLE MODE (3) | 2023.11.27 |
555 TIMER BASICS – MONOSTABLE MODE (2) | 2023.11.27 |
555 TIMER BASICS – ASTABLE MODE (1) | 2023.11.27 |
더욱 좋은 정보를 제공하겠습니다.~ ^^