Skip to content

Make Processing

조회 수 6099 추천 수 1 댓글 2
Atachment
첨부파일 '1'
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

수학과 과학은 고등학교 이후로 본적이 없었다.

하지만 생활하면서 가끔 접하는 단어들이 있지 않은가? 싸인, 코싸인, 중력가속도, 뫼비우스, 피타고라스, 2차 방정식들..

예전에는 모두 알고 있던 단어라서 가끔 대화에서 사용 되는 단어정도이다..


"물체는 중력가속도가 증가하면서 떨어지잖아~~"


하지만 중력 가속도를 어떻게 구하는 거지??? 기억 나지도 않는다 그나마 초당 9.8m 씩 빨라지는 것을 기억한다면 다행이다.

그렇다면 이런 중력 가속도를 코딩에서 적용할려면 어떻게 해야 할까?


중력가속도의 중가하는 원리만 이해 한다면 쉽게 응용이 가능하다.


중력가속도는 9.8m 초당 9.8m를 간다는 말이 아니라 초당 9.8m 씩 증가한다는 말이다.


1초 9.8

2초 19.6

3초  29.4

.

.

이런식으로 증가가 된다.

drawing_01jpg.jpg

(아이패드 paper 라는 프로그램은 참 매력적이다.~~ ^-^;;;)



그럼 간단하게 떨어지는 공을 프로세싱으로 그려보자.


float speed = 1;
float ypos = 0;
void setup()
{
  size(600, 600);
  smooth();
}

void draw()
{
  background(0);
  ellipse(width/2, ypos, 50, 50);
  ypos = ypos + speed;
  if(ypos > height)
  {
   ypos  = -50; 
  }
}

스케치의 정가운데에서 공이 서서히 떨어질 것이다. 이 공은 ypos = ypos + speed  때문에 프레임당 1픽셀씩 아래로 움직이게 된다.

이제우리는 떨어지는 공에 중력 가속도를 더해주면 된다.

프로그램상의 좌표는 픽셀 단위라서 정확하게 9.8m를 적용 시킬수는 없지만 가상의 중력 가속도를 넣어 가속도를 증가 시킬수 있다.


이소스를 추가해보자.

전역에


float gravity = 9.8;


그리고

ypos = ypos + speed 줄위에


speed = speed + gravity;

ypos = ypos + speed;


추가해 주면된다.


하지만 이렇게 하게되면 공은 순식 간에 화면에서 사져 버린다.

그이유는 프레임당 속도가 9.8 픽셀식 증가하기 때문이다. 프로세싱이 일반적으로 초당 60프레임으로 작동되게 되는데.

1/60초당 가속도를 9.8씩 증가시킨 것이 되어 버린다.


그렇기때문에 우리는


float gravity = 9.8;  를

float gravity = 9.8 / 60; 으로 나누고


공이 바닦에 떨어졌을 경우 초기화를 위해.


ypos = -50; 밑에

speed = 0; 을 추가해준다.


그렇게 하면 최종 소스는 아래와 같다.

공이 떨어지는 속도가 점점 빨라지는 것을 느낄 수 있을 것이다.


float gravity = 9.8/60; // 가속도를 늦추기 위해 60으로 나눔
float speed = 1;
float ypos = 0;
void setup()
{
  size(600, 600);
  smooth();
}

void draw()
{
  background(0);
  ellipse(width/2, ypos, 50, 50);
  speed = speed + gravity;  // 가속도 추가
  ypos = ypos + speed;
  if(ypos > height)
  {
   ypos  = -50;
   speed = 0;  // 속도 초기화
  }
}









TAG •
  • ?
    Grida 2014.11.23 14:42
    감사합니다. 회전시키는데 가속도를 주는 방법에 사용했어요. * -*
  • profile
    봉구르 2015.06.05 17:29
    18,19 번째줄을
    speed = speed * -1;

    로 수정하여 바닥에 튕기도록 해봤어요~

프로세싱 팁

노하우와 팁을 올리는 공간입니다.

  1. 이미지 좌/우 반전 함수

    카메라 인풋을 사용하다가 보면 이미지가 좌우가 바뀐 상태로 나오는 것을 볼수 있습니다. 특히 키오스크 제작이나 셀프 카메라의경우 거울을 보는 듯이 표현을 해야하는데 항상 카메라는 다른 사람이 보는 시각으로 영상을 뿌려주기 때문에 좌우가 반대인것...
    Date2015.07.23 Bysmileblue Reply0 Views680
    Read More
  2. iBook에 프로세싱 스케치 넣기(processing.js)

    자바 스크립트니 작동되겠네요...이런 아이디어가 ㅎㅎㅎㅎ
    Date2014.03.25 Bysmileblue Reply1 Views1030
    Read More
  3. 프로세싱 PDE X 모드

    프로세싱의 개발환경 PDE(Processing Development Environment)은 다른 개발 프로그램에 비해 용량이 작고 빠른 실행만큼 열악한 것이 사실이다. 하지만 프로세싱은 이러한 것을 개선하고 더 많은 개발 환경을 제공하자고 mode 를 만들 만들어서 안드로이드 및...
    Date2014.02.14 Bysmileblue Reply1 Views1234
    Read More
  4. 한글폰트 만들 때 옵션(Create Font)

    프로세싱으로 코딩을 하다보면 트위의 글이나 페이스북의 데이터를 가져와서 한글로 작성해야 하는 경우가 종종 생긴다. createFont 함수를 사용해도 되지만 필요없는 문자까지의 메모리를 잡아 먹기 때문에 개인적으로는 flv 파일을 생성해서 사용하는 ...
    Date2014.01.28 Bysmileblue Reply0 Views1291
    Read More
  5. TIP 120을 이용한 PWM 제어

    오옷!!!! 나중에 프로세싱과 연동해서 올려 봐야겠네요..ㅋㅋㅋ http://bildr.org/2011/03/high-power-control-with-arduino-and-tip120/ Breathing Light from Adam Meyer on Vimeo. ** 이미지 출처 ; http://protolab.pbworks....
    Date2013.08.05 Bysmileblue Reply1 Views1120
    Read More
  6. Sublime Text 2에서 프로세싱 코딩을 하는 방법

    프로세싱 개발환경이 그렇게 좋은 편은 아니라서 항상 외부 에디터를 찾고 있는데 최근에 Sublime Text 2를 사용하고 있습니다. 아직 프로세싱 자체의 불편함에 적응되어 있서 자동으로 생성되는 기능에 적응이 되어 있지는 않지만 기존의 개발자 분...
    Date2013.07.14 Bysmileblue Reply1 Views2041
    Read More
  7. 이미지 크기와 개수에 맞게 자동으로 스케치 창크기 조정 되는 소스

    스크린의 크기에 따라서 쉽게 이미지 크기를 조정할수 있는 소스 코드입니다. 프로세싱 워크샵 때 나왔던 질문 내용을 코딩해서 공유 드립니다. 이미지의 가로 , 세로 개수와 확대 비율을 적어주면 자동으로 창크기를 조정해서 출력해 줍니다. PIma...
    Date2013.03.14 Bysmileblue Reply0 Views1720
    Read More
  8. 프로세싱에서 한글 출력하기 팁

    오늘 프로세싱에서 영문이 아닌 한글 데이터를 출력할 일이 있어서 간단한 팁을 설명드립니다. 프로세싱에서 글씨를 출력 하기 위해서 PFont를 사용해서 출력을 합니다. tools > create font 를 이용해서 vlw파일을 만들어 아래 소스로 파일을 로드합...
    Date2013.02.26 Bysmileblue Reply2 Views2799
    Read More
  9. 시간에 따라 움직이는 속도 조정하기

    move_time.pde with ProcessingJS move_time.pde (5초와 10초 후에 원이 빨라 집니다~~) 밑에 팁에서 일정 시간이 지난 후에 이벤트가 일어나는 예제를 했었습니다. 이번 예제는 millis()를 이용해서 시간에 따라서 원이 움직이는 속...
    Date2013.02.23 Bysmileblue Reply0 Views1251
    Read More
  10. [링크] 프로세싱으로 만든 마리오

    http://processingjs.nihongoresources.com/test/PjsGameEngine/docs/tutorial/mario.html 전에 소스공유 게시판에 processingJS 관련해서 링크를 했었는데 자세히 살펴보니 재미 있는 것이 있어서 올립니다. 나중에 테스트 해보고 포스팅 해야...
    Date2013.02.12 Bysmileblue Reply0 Views1669
    Read More
  11. 일정 시간이 지난 후 이벤트 일어나게 하기(시간 계산하기)

    딱히 제목을 정하기 어려운 예제라서 제목이 이상하게 길어 졌네요^^;;;; 프로세싱에는 millis()라는 함수 가 있습니다. 프로세싱에서 실행 버튼을 눌러 프로그램을 실행하면 그 시간부터 얼마만틈의 시간이 지났는지를 1/1000초로 표시해 주게 됩니다....
    Date2013.01.12 Bysmileblue Reply0 Views2275
    Read More
  12. 타이틀 바의 이름 바꾸기

    프로세싱 프로그램을 만들어서 실행하면 일반적으로 저장된 파일명으로 타이틀 제목이 뜨게 된다. 하지만 파일명의 경우 띄어 쓰기도 되지 않고 버전별로 표시하는 경우가 많아서 최종 아웃 풋 할 때 보기좋지 않게 프로그램명이 지정되는 경우...
    Date2012.12.26 Bysmileblue Reply0 Views1323
    Read More
  13. 중력 가속도 적용 시키기~

    수학과 과학은 고등학교 이후로 본적이 없었다. 하지만 생활하면서 가끔 접하는 단어들이 있지 않은가? 싸인, 코싸인, 중력가속도, 뫼비우스, 피타고라스, 2차 방정식들.. 예전에는 모두 알고 있던 단어라서 가끔 대화에서 사용 되는 단어정도이다.. ...
    Date2012.11.12 Bysmileblue Reply2 Views6099
    Read More
  14. 퍼즐 만들기

    이번 포스팅에서는 간단한 퍼즐을 만들어 보도록하겠다. 퍼즐에는 여러 종류가 있는데 이번에 만들 퍼즐은 어린 시절 한번쯤은 해 보았을.. 추억의 퍼즐이다. 본 포스팅에서 숫자가 아닌 이미지로 대체해서 만들어 보기로 하겠다. 사용할 이미지...
    Date2012.08.21 Bysmileblue Reply3 Views2850
    Read More
  15. 현재 스케치 폴더 경로 가져오기 sketchPath

    코딩을 하다 보면 언제나 꽁수를 생각하게 된다. 특히 많은 파일을 컨트롤 하다가 보면 절대경로나 상대 경로를 사용하게 되는데. 상대경로는 프로그램을 옮기더라도 편리하게 사용할수 있는 장점이 있고 절대경로는 같은 프로그램에서 반복되는 불필요한 파...
    Date2012.08.17 Byblue Reply0 Views1199
    Read More
  16. 파일명 자리수 맞추기

    파일명 자리수 맞추기란? 코딩을 하다보면 연속적으로 이미지 파일을 불러와야 하는 경우가 있다. 특히 영상 파일을 시퀀스 이미지로 불러오거나 촬영된 사진을 불러오거나 할 경우이다. 파일명이 0,1,2,3,4,5.....jpg 이런 식으로 끝나면 고맙겠지만...
    Date2012.08.08 Byblue Reply0 Views1370
    Read More
  17. 1394 멀티 캠 만들기

    아마도 국내에서는 판매하지 않고 있는 것으로 알고 있습니다. 저도 뉴욕에 있을 때 구입한 2개가 전부이고 이번에 분해를 해 버렸습니다. 제품은 Unibrain Fire - i 입니다. 카메라를 분해하고 두개를 나란히 놓고 합판에 붙였습니다. 프로세싱에서 테스트 해...
    Date2012.05.01 Bysmileblue Reply0 Views1788
    Read More
  18. 자신이 코딩한 프로그램 프레임 속도 보기

    프로세싱에 코딩을 올인하게 되면서 플래쉬나 에펙등의 다른 프로그램에서 만들던 작업이나 영상을 프로세싱으로 만드는 일을 하고 있다. 구현하기 쉬운 툴을 이용해서 좋을 결과물을 얻는 다면 좋겠지만, 인터렉션이라는 특성 때문에 프로그래밍 툴을 이용해...
    Date2012.04.15 Bysmileblue Reply0 Views1902
    Read More
  19. 노이즈(noise)를 만들자!!

    프로세싱으로 노이지를 만들자!! 학부 때 사진 전공자로서 노이즈라는 단어 조차를 싫어한다. 영상을 찍을때도 어두운 곳의 노이즈는 뭐라 말할 수 없는 답답함을 안겨주었다. 그래서 꼭 CMOS 보다는 CCD 카메라를 선호 하던 때도 생각난다. 심...
    Date2011.11.13 Bysmileblue Reply1 Views3472
    Read More
  20. QR code encoder 를 만들어 보자

    Pratt에서 "이고르"라는 러시아 분이 계신다. QR code로 작업을 하는데 QR code를 실시간으로 생성하기 원해서 나에게 프로세싱으로 생성이 가능한지에 대한 문의를 했다.(영어로 이야기 하지만 러시아 어를 듣는 기분이다. ;;;) 자료를 찾다보니 인코더에 대...
    Date2011.11.03 Bysmileblue Reply0 Views3231
    Read More
Board Pagination ‹ Prev 1 2 Next ›
/ 2

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Copyright (c) 2012 Make Processing. All Right Reserved.

smileblue

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소