반응형

【 프로세싱 기초 #9선 그리기


 프로세싱에서 실행창의 배경의 음영을 변경하는 것도 매우 간단하다. 

색을 설정해서 1픽셀 단위로 라인을 그리면 바로 배경 음영이 들어간 것 처럼 할 수 있다.


▶ 문제 : 배경의 음영을 검정과 흰색의 중간 값(125)으로 표시해보고, 여러가지 밝기 조절도 시도해보라. 


▶ 포인트 :  


- size(400, 400),  background 설정 대신 stroke(125)를 이용.

- stroke의 값은 0~255 사이의 값  (0은 검정, 255는 흰색)

- 화면 밝기는 stroke의 값을 조절 해도 되나 그리는 라인의 간격을 띄워도 비슷한 효과를 볼 수 있다.

- 프로세싱은 setup()  ~ draw() 형태의 구조를 가지나 ,  기본적으로 이런 구조 없이도 바로 사용이 가능 하다


▶ 프로그램(code) : 



 ▶ 실행결과 :




- 프로세싱은 setup()  ~ draw() 형태의 구조를 가지나 ,  기본적으로 이런 구조 없이도 바로 사용이 가능 하다




  ▶ 코드 설명 : 

width 와 heigh 는 실행창의 폭과 높이를 의미하는 내부 변수 이다. 

(즉, 보더 사이즈의 가로, 세로 사이즈를 의미한다)


- line() 함수로 수직선을 그리는 것이다 :  

 line (x1, y1, x2,y2)  : 시작점의 좌표와 끝점의 좌표를 입력하면 라인을 그려주는 함수이다

- " i=i+1 " 는 C언어와 마찬가지로 " i+=1 "  또는 " i++ " 형태로 줄여 쓸수 있다.


(추가 예제) 라인을 4픽셀씩 건너 띄어 그려보아도 음영의 변화를 줄 수 있다.


void setup() {

  size(400,400);

  stroke(125); // 진하기 : 검정(0) ~ 흰색(255) 사이값

}


void draw() {

  for (int i =0; i<width; i=i+4){

    line(i, 0, i, height);

  }

}



- " i=i+4 " 는  " i+=4 " 형태로 줄여 쓸수 있다.





▶ 코드 다운로드 


sketch_09_line_draw2.pde


반응형

【 프로세싱 기초 #8】함수 ( Function ) 만들기

Language/프로세싱 2018. 4. 25. 11:29 Posted by 엑소더스팩토리
반응형

【 프로세싱 기초 #8】 함수 ( Function ) 만들기


 프로그램에서 자주 사용되는 부분을 모듈 형태로 만들어 주어 프로그램을 간결하게 만들어 주는 것이 사용자 함수이다. 

 프로그램에 내장되어 있는 함수도 있지만 반복적으로 사용되는 부분을 직접 프로그래머가 만들어 사용하면 편리하다


▶ 문제 : 화면의 중간에 원을 그리는데, 원의 중심에서 마우스까지의 거리를 반지름으로 하는 원을 계속적으로 그려주는 프로그램을 

사용자정의 함수를 이용하여 작성하라. ( 마우스의 위치에 따라 원의 크기가 계속적으로 변경되어야 함) 


▶ 포인트 :  size(400, 400),  background(255) 로 적당히 설정.


- 원의 중심에서 마우스까지의 거리를 반지름으로 하는 원을 그리는 것.

- 원 그리기 내장함수 이용 : ellipse(x좌표, y좌표, 가로직경, 세로직경)

- 거리를 구하는 부분을 함수로 정의 할 것.   

- 원 중심에서 마우스까지의 거리(d) : 거리는 피타고라스 정리 공식을 이용하여 식을 세운다.  거리(d) : 

프로그래밍에서 은 X * X 를 하면 된다.

 거리공식에서 X 와 Y는 중심점에서의 마우스의 위치이며, 마우스가 움직임에 따라 계속 변화 됨으로, 보더 사이즈(400x400)를 파라메터를 넣어(감안하여) 작성해야 한다. 




▶ 프로그램(code) : 

 





 ▶ 코드 설명 : 

  원그리기 함수인 ellipse 와 제곱근 구하기 함수인 sqrt()는 프로세싱에서 기본 제공하는 함수이다.


- 함수의 기본 골격 설명




 ▶ 실행결과(동영상) :





▶ 코드 다운로드 

 

sketch_08_Function.pde



실습예제 2 


 ※ x,y 좌표와 직경을 입력하면 단순히 원을 그려 주는 함수를 아래 처럼 만들어 볼 수 있다. 


 void drawCircle(int x1, int y1, int diameter) {


ellipse(x1, y1, diameter, diameter);


}



▶ 프로그램(code) : 

 




▶ 실행결과(동영상) :




▶ 코드 다운로드 


sketch_08_1circle_function.pde


반응형

【 프로세싱 기초 #7】프로세싱에서의 연산자

Language/프로세싱 2018. 4. 24. 16:53 Posted by 엑소더스팩토리
반응형

【 프로세싱 기초 #7프로세싱에서의 연산자


 프로세싱에서의 연산자는 C언어에서의 연산자 사용형태와 거의 같다. 

따라서 C언어 기초를 익혔다면 더욱 쉬울 것이며, 배우지 않았더라도 수학에서의 사용형태와 유사하여 크게 어렵지 않을 것이다.


▶ 포인트 :  수학에서 처럼 연산자의 우선순위가 있으니 확인 하기 바란다.

  연산자는 크게 아래와 같이 분류 할 수 있다.


- 대입 연산자 : 

  a  =  10;   // 변수 a에 10을 대입한다

  a += 10;   // a의 값이 10 증가된다

  a  *= 10;  // a의 값이 10배가 된다

  a  /= 10;  // a의 값이 1/10이 된다

  a %= 10;  // a에 a를 10으로 나눈 나머지가 대입된다

 

- 논리 연산자 : 


 if ( a <b  &&  b<c )     // a <b 이고 b <c 이면 조건문이 참이 된다

 if ( a <b  ||  b<c )        // a <b 이거나 또는 b <c 이면 조건문이 참이 된다



- 비교 연산자 : 


 if ( a == b)     // a와 b의 값이 같으면, 조건문이 참이 된다

 if ( a != b)      // a와 b의 값이 같지 않으면, 조건문이 참이 된다

 if ( a > b)      //  a가 b의 값 보다 크면, 조건문이 참이 된다

 if ( a < b)      //  a가 b의 값보다 작으면, 조건문이 참이 된다

 if ( a >= b)     // a가 b보다 크거나 같으면, 조건문이 참이 된다

 if ( a <= b)     // a가 b보다 작거나 같으면, 조건문이 참이 된다




반응형

【 프로세싱 기초 #6】공 움직이기3

Language/프로세싱 2018. 2. 2. 12:40 Posted by 엑소더스팩토리
반응형

【 프로세싱 기초 #6】 공 움직이기 3


 앞 예제에서 공이 한 쪽 방향으로 지나가기만 해서는 별 재미가 없었다. 

그래서 이번엔 공이 한 쪽 끝에 다다르면 튕겨서(?) 반대편으로 계속 왔다 갔다 하는 프로그램을 만들어 보자 


▶ 포인트 :  size(300, 200) 의 x 좌표 값인 width 함수를 이용 하여 비교문을 통해 끝점 값 인지 비교하여 Direction 변수에 -1 값을 곱하여 반대 방향으로 x 값이 줄어 들도록 한다. 




▶ 프로그램(code) : 

 



 


 ▶ 코드 설명 : 

  if문에   xDirection = xDirection * -1    또는 xDirection *= -1;  를 넣어 처리 한다.


 ▶ 실행결과(동영상) :





반응형

【 프로세싱 기초 #05 】공 움직이기 2

Language/프로세싱 2018. 2. 2. 10:51 Posted by 엑소더스팩토리
반응형

【 프로세싱 기초 #05 】 공 움직이기 2


 앞의 문제에서 공이 움직이는 것으로 보이긴 했으나, 이미 그려진 것을 지워 주지 않아 깔끔하지가 않았다.  여기서는 지우는 방법 외에 잔상의 색과 배경색을 일치시키는 간단한 방법으로 지워진 효과를 구현해보려 한다.


▶ 포인트 : background()  함수를 이용하여 배경색을 바꿀 수 있다.  

인자 값으로 : 0~ 255 값을 지정할 수 있다.   ( 0: 검정색,   255 : 흰색 )



▶ 프로그램(code) : 

 



  ▶ 코드 설명 : 

  기존 앞 예제의 코드에 background(128); 를 추가 하였다. 


 ▶ 실행결과(동영상) :





반응형

【 프로세싱 기초 #04 】 공 움직이기

Language/프로세싱 2018. 2. 2. 10:41 Posted by 엑소더스팩토리
반응형

【 프로세싱 기초 #04 】 공 움직이기 


프로세싱 언어가 얼마나 쉽고 간결한지 아래처럼 단 한 줄 만으로도 화면에 타원을 그릴 수 있다. 


포인트 : 원 그리기 ellipse 를 이용하며,  x 좌표 값을 변수로 처리하여 반복 실행 시키면 원이 이동하면서 계속 그려진다.





▶ 프로그램(code) : 

 


 


 ▶ 코드 설명 : 

  가로 세로 20 픽셀의 원을 그리고 Y 좌표 100의 위치에, X(xPos) 좌표 0 의 위치부터 draw()루프 를 통해 계속 반복으로 그려지게 된다. 


 ▶ 실행결과(동영상) :



반응형

【 프로세싱 기초 #01 】원, 타원그리기

Language/프로세싱 2018. 1. 26. 17:18 Posted by 엑소더스팩토리
반응형

【 프로세싱 기초 #01 】 원, 타원그리기 


프로세싱 언어가 얼마나 쉽고 간결한지 아래처럼 단 한 줄 만으로도 화면에 타원을 그릴 수 있다. 


▶ 원(타원) 그리기 (실행결과) :



▶ 프로그램(code) : 

 


 프로세싱은 크게 두가지 형태로 나뉜다, 위처럼 간단히 처리된 결과만 보여주는 정적모드(static mode) 와 아래에 소개할 동적모드(active mode)로 나뉜다.



▶ 동적모드 프로그래밍 :


  동적모드는 출력 결과물이 동적으로 계속 움직이거나, 상호작용이 가능 하도록 작성하는 모드(mode) 이다. 이는 아두이노의 스케치 작성모드와 유사하다. 아두이노 또한 설정 영역과 계속 반복 실행되는 루틴을 가지고 있다.


우선 동적모드로 원만 그려보자 




 어디서 많이 본 것 같지 않은가?

그렇다 아두이노 스케치의 작성 형태와 매우 유사하다.  

그러기에 프로세싱을 부담없이 시작할 수 있다. 


 그리고 아래와 같은 결과를 얻을 수 있다.




 자 이제 ,  동적모드로 타원을 움직여 보도록 하자.


마우스의 움직임을(위치) 좌표로 해서 움직여 볼 것이다.



 ▶ 코드 설명 : 

   -   size (200, 200);  // 그림 영역의 크기 (가로 세로 200 픽셀)

   -   ellipse(mouseX, mouseY, 80, 80);   // 타원 그리기, mouseX : 마우스의 X좌표,  mouseY : 마우스의 Y 좌표,   가로 세로 크기가 80, 80 픽셀인 원을 그려라.


 ▶ 실행결과(동영상) :

 마우스의 움직이는 좌표에 따라 원이 이동하고 있다(실은, 새로운 원이 계속 그려지고 있음)



반응형
반응형


※ 프로세싱 IDE (줄여서 PDE )


프로세싱 언어 코딩을 위한 프로그램 작성 툴(IDE)을 함축해서 PDE라 칭하고 있다. 


아래 PDE 툴의 주요 메뉴를 표시해 놓았다.



사용하는 기능과 형태가 아두이노 스케치 툴과 거의 흡사해서 사용하기 어렵지 않다. 


프로세싱 언어는 자바 언어와 관련이 있고, 자바 언어 자체가 C 언어와 유사한 특징이 있기 때문에, C언어와 함께 공부해도 좋을 것이다. 


 

반응형

【 Processing 】 프로세싱 멋지게 시작하기...

Language/프로세싱 2018. 1. 26. 14:46 Posted by 엑소더스팩토리
반응형

【 Processing 】 프로세싱 멋지게 시작하기... 


하드웨어 제품의 경쟁력은 뭐니 뭐니 해도 아름다움이다.  즉, 제품디자인이 무엇보다 중요하다.  


독보적인 디자인 하나로 막대한 수입을 올리고 있는 애플을 예를 들지 않더라도, 감탄과 탄성마저 자아내는 제품의 디자인과 외관의 아름다움은 그 만큼 중요하다고 할 수 있다. 


 하드웨어에서 외관의 아름다움이 중요했듯, 소프트웨어에서 아름다움 또한 중요한데, 소프트웨어의 아름다운 디자인을 책임져 주는 코딩툴이 바로 프로세싱이라고 말 할 수 있다. 


 프로세싱을 한 마디로 표현 하면, "손쉽고 멋지게 화면상에 그림을 그려주는 툴(프로그래밍 언어)"라고 이해해도 좋겠다. 



현재 3버전 까지 개발되어 있다.


우리가 일반적인 프로그래밍 툴(C언어, JAVA 등)을 이용해서는 원하는 결과를 구현해 내는 데는 부족함이 없지만 직관적이면서도 미려한 디자인으로 표현하는데는 어려움이 있다.  


이를 극복시켜준 툴이 바로 프로세싱( Processing ) 툴이다. 

C언어처럼 단독으로 사용할 수 있는 언어툴이다. 

 프로세싱을 이용하면 보다더 직관적이고 심플한 코딩만으로 원하는 결과를 미려한 그래픽으로 표현 할 수 있다. 


 특히 코딩과정에서 스위치를 돌리듯 직관적으로 쉽게 수정할 수 있는 기능들이 매력적이다. 


이러한 장점 때문에 디자인 업계 관련 사람들이 많이 사용하고 있다. 


 특히 요즘 대세로 떠오른 아두이노와 라즈베리파이와 찰떡궁합으로 활용도는 엄청나게 높다. 


예를 들어, 아두이노를 이용해 온습도 센서 보드를 만들경우 단순히 액정 디스플레이로(CLCD) 표시 할 수도 있지만 LCD 모니터로 예쁘게 표현할 수 있다. 


아래는 프로세싱을 통해 아두이노 보드의 섭씨 온도와 화씨 온도를 실시간으로 표현 되도록 구현한 것이다. [ 아두이노에 습도센서를 연결한 후 시리얼통신을 통하여 전달 되는 값들을 PC 화면에 아래처럼 표현 한 것이다. - 화면캡쳐 ]



시쳇말로 쌈빡한 툴이라고 할 수 있다. 

물론 새로운 코딩언어를 배워야 한다는 부담감은 있으나, 아두이노의 스케치 처럼 코딩하기 정말 편하고 쉽게 익힐 수 있도록 되어 있다. 


 지금 다른 프로그래밍 언어를 공부하고 있더라도 ,  상관하지말고 함께 공부하면 좋을 것이다. 


그럼 프로세싱의 매력속으로...!


[ 프로세싱 최신 버전 다운 로드(사이트) 안내 ]

https://processing.org/download/

설치하려는 PC의 운영체제를 확인하고 설치하면 되겠다. 


[ 아래 링크를 클릭하여도 된다 ] 

  • Windows 64-bit
    Windows 32-bit
  • Linux 64-bit
    Linux 32-bit
    Linux ARMv6hf 




  • [ 라즈베리파이 등 설치 버전용]


    반응형