2023. 5. 11. 03:10ㆍProject Work/ArtSynergy with JK
안녕하세요 JK 입니다
이번에 ArtSynergy with JK 코너를 새로 개설하였습니다.
"예술"+"시너지" 의 결합으로 개별 요소의 합보다 더 큰 전체 효과를 생성하는 요소의 상호 작용을 의미.
;예술과 기술을 결합하여 새롭고 혁신적인 경험을 체험하기 위함입니다
위와 같이 , 취지는 많은 분들의 동참으로 상호 아트 시너지 효과를 내기 위함이오니
완성하신 분들은 결과물들 올려주시고 많이 뽐내셨으면 좋겠습니다.
NFT등록과 관련해서 자세한 건 수갤러리 작가님이나 따능 작가님의 포스팅과 강의를 추천드리오니,
개인적으로 따로 등록을 해두시면 좋을것 같습니다.
항상 열린 마인드로 차후에 작품이 많이 모이면
다른 그룹장분들과 함께 꼴라보 형태로의 가상 전시 가능성도 구상해 봅니다.
-----------------------------------------------
프로세싱 작업이 어려우신 분들은 여기에 원본 이미지 올려주세요.
너무 많으시면 제가 다 소화를 못하니까 5 분 정도로만 한정해서 프로세싱이 구현되는 순간을
영상으로 녹화 제작후 올려 드리겠습니다.
원본 영상 >>
1. 사용한 AI Tools
Image: Midjourney
Coding: ChatGPT// Processing
AI Voice by Vrew 한국어//elevenlabs.io 영어
AI Music by mubert.com (www.mubert.com/Ambassador License)
Video Editing :Clipchamp
2.작업 과정전 안내
여러분들은 필요에 따라 마음에 드시는 음성이나 배경음악 등을 넣으시면 되니,
저의 설명은 프로세싱의 코드를 알려드리는데에 중점을 두어 작성 합니다.
글 하단에, 제가 따라하기 참조한 영상 링크도 같이 남겨놓을테니,
ChatGPT 를 사용하는 상세한 과정이 궁금하시면 꼭 보시길 추천드려요.
3. 제공하는 코드 2 가지
-화면 전체적으로 퍼지며 그리는 코드 - 속도(5,8) , 원형파티클 크기 4
-중심에서 양쪽으로 갈라지며 그리는 코드 - 속도(5,8) ,원형파티클 크기 4
>> 속도와 원형파티클의 사이즈를 조정해서 변화를 줄 수있어요.
-size(1536, 1024);
>> 실행하고자하는 이미지화일과 같은 사이즈로 맞추어야 하니, 이미지 속성을 확인하고 코드에 변경한다
-background(255);
>> 실행하고자하는 이미지를 어떤 바탕에 그릴 것인가 결정합니다
(255 )는 흰색입니다.
(0)은 검정
background (0~255, 0~225, 0~225 ) 3자리 숫자값을 각각 0~255 사이에서 고르면 다른 칼라를 만들수 있다.
마우스를 background 위에 올려놓으면 칼라시트가 뜨고, 마우스를 조정해서 칼라를 선택하면 된다.
4. 작업 과정 소개
- 새폴더를 만든다 (폴더명 예시-미드져니_프로세싱실행)
- 원하는 jpg 이미지 준비한다 > 이름을 portrait.jpg 로 변경한다 > 새폴더에 넣어둔다 (폴더명 예시-미드져니_프로세싱실행)
- 실행하고자하는 이미지화일과 같은 사이즈로 맞추어야 하니, 이미지 속성을 확인하고
- 실행하고자하는 이미지화일과 같은 사이즈로 코드에 변경한다 . size(1536, 1024);
- 프로세싱 페이지로 간다 https://processing.org/
- 프로세싱 다운로드 (윈도우즈,맥, 리루스 등 컴퓨터에 맞게 )
- 다운로드한 폴더 열어서 압축 푼다
- 또는 내컴퓨터 다운로드로 가서 압축된 폴더 찾고 압축 푼다
- 필요에 따라 재현그룹장님의 강의보고 이해한다.
- 설치된 프로세싱 바로가기를 클릭 > 프로세싱 실행
- 스케치 창이 열린다
- 프로세싱 스케치 창에 복사한 코드를 붙힌다.> 다른이름으로 저장하기 클릭 > 아까 (폴더명 예시-미드져니_프로세싱실행) 에 코드이름을 정해서 저장한다 > 플레이 버튼 클릭
- 프로세싱화일과 프로세싱이 읽을 이미지가 같은 폴더에 잘 들어가있으면 1000개의 원형 파티클이 이미지를 생성해준다.
복사해서 실행할 코드 1 >>
화면 전체적으로 퍼지며 그리는 코드 - 속도(5,8) 파티클 4>>
PImage portrait;
ArrayList<Particle> particles = new ArrayList<Particle>();
int numParticles = 1000;
int centerX = 768;
int centerY = 512;
void setup() {
size(1536, 1024);
portrait = loadImage("portrait.jpg");
portrait.resize(width, height);
portrait.loadPixels();
for (int i = 0; i < numParticles; i++) {
float x = centerX + random(-width/2, width/2);
float y = centerY + random(-height/2, height/2);
particles.add(new Particle(x, y, 2));
}
background(255);
}
void draw() {
for (Particle p : particles) {
int px = int(constrain(p.x, 0, width - 1));
int py = int(constrain(p.y, 0, height - 1));
int pixelColor = portrait.pixels[py * width + px];
float brightness = brightness(pixelColor);
p.update(brightness, pixelColor);
p.display();
}
}
class Particle {
float x, y;
float speed;
float angle;
float size;
color col;
Particle (float x, float y, float size) {
this.x = x;
this.y = y;
this.size = size;
speed = random(5, 8);
angle = random(TWO_PI);
}
void update(float brightness, color pixelColor) {
speed = random(5, 8);
angle += map(brightness, 0, 255, -0.1, 0.1) * random(0.9, 1.1);
x += speed * cos(angle);
y += speed * sin(angle);
col = pixelColor;
if (x > width) {
x = 0;
}
}
void display() {
fill(col);
noStroke();
ellipse(x, y, size*4, size*4);
}
}
---------------------------------------------------------
실행할 코드 2 >>
중심에서 양쪽으로 갈라지며 그리는 코드 - 속도(5,8) 파티클 4>>
PImage portrait;
ArrayList<Particle> particles = new ArrayList<Particle>();
int numParticles = 1000;
void setup() {
size(1536, 1024);
portrait = loadImage("portrait.jpg");
portrait.resize(width, height);
portrait.loadPixels();
float centerX = width/2.0; // set centerX to the center of the canvas
for (int i=0; i < numParticles; i++){
float y = map(i, 0, numParticles, 0, height);
particles.add(new Particle(centerX, y, 2));
}
background(255);
}
void draw() {
for (Particle p : particles) {
int px = int(constrain(p.x, 0, width - 1));
int py = int(constrain(p.y, 0, height - 1));
int pixelColor = portrait.pixels[py * width + px];
float brightness = brightness(pixelColor);
p.update(brightness, pixelColor);
p.display();
}
}
class Particle {
float x, y;
float speed;
float angle;
float size;
color col;
Particle (float x, float y, float size) {
this.x = x;
this.y = y;
this.size = size;
speed = random(5, 8);
angle = random(TWO_PI);
}
void update(float brightness, color pixelColor) {
speed = random(5,8);
angle += map(brightness, 0, 255, -0.1, 0.1) * random(0.9, 1.1);
x += speed * cos(angle);
y += speed * sin(angle);
col = pixelColor;
if (x > width) {
x = 0;
}
}
void display() {
fill(col);
noStroke();
ellipse(x, y, size*4, size*4);
}
}
--------------------------------------------------------------------------
추가로 참고할 영상 >>
재현 그룹장님의 코드강의
https://app.aikoreacommunity.com/spaces/11050578/content
처음에 보고 따라한 초기 버젼의 원본 영상
JK의 재현 그룹장님 코드 강의 따라하기
AI chatgpt와 프로세싱으로 AI 개발자님 HUB 코딩 따라하기
https://youtu.be/R3_vsxV2Wf0 완성된 코드는 아래 보라색 색인을 찾으세요 지금부터 프로세싱으로 게임을 개발할 것입니다. 제가 게임에 대한 아이디어를 제공하면 당신은 게임 화면 구성및 게임 진행
jk2023.tistory.com
JK의 티스토리
https://jk2023.tistory.com/category/Code%20%2C%20Low%20Code%20%2C%20No%20Code%20%20with%20%20ChatGPT
'Code , Low Code , No Code with ChatGPT' 카테고리의 글 목록
jk2023.tistory.com
이상입니다
좋은 작품 많이 올려주시고 즐감 하세요
'Project Work > ArtSynergy with JK' 카테고리의 다른 글
아티스트 KAWS. (0) | 2023.08.12 |
---|---|
Gustav Klimt 와 화풍을 활용한 AI 이미지들 (0) | 2023.08.12 |
X-Ray, Radiography Prompt Images, and something (0) | 2023.08.10 |
서울로미디어 아트 출품 (Team ArtMingle-#JK#강보현#에이미_리#따능) (0) | 2023.05.31 |