목록openFrameworks (13)
블로그

openFrameworks에서 파일을 읽고 쓰기 위해서는 ofBuffer라는 클래스를 사용하면 된다. 이는 C++의 파일 입출력을 간단한 함수만으로 표현할 수 있으며, C++ 특유의 신경 써야 할 것이 많은 문자열 받아오기 등을 편하게 함수로 구현할 수 있다는 것이 장점이다. setup() //ofApp.cpp void ofApp::setup() { nextLetterTime = ofGetElapsedTimeMillis(); lineCount = 0; letterCount = 0; ofBuffer buffer = ofBufferFromFile("ohplaces.txt"); if(buffer.size()) { for (ofBuffer::Line it = buffer.getLines().begin(), en..

이때까지 내가 만든 코드는 18000개가량의 사각형이 각 픽셀의 색상을 담당하여 결과적으로 하나의 사진을 이루는 코드를 만들었었다. 근데 사각형 하나하나의 위치를 변경하려고 하니 힘들길래 많은 시행착오를 겪으면서 결국 간단한 코드를 만들었다.. 가장 달라진 점은 ofDrawRectangle 함수인데, 함수의 x, y 인자에는 각각 배열이 들어간다. 배열의 인덱스는 픽셀 하나하나에 접근하도록 만들었으며 각 배열에는 랜덤 한 숫자가 들어가 있다. 시간 순서대로 보자면 우선 translate 함수로 사각형 하나의 위치를 사진 픽셀 위치와 동일하게 만들어주고, 위치가 변경된 사각형이 또 랜덤 한 값이 들어가 있는 위치로 이동한다. 참고로 randomA는 accelration의 줄임말로 가속도가 적용되도록 만들었..

미드 소마 이미지를 사각형을 표현한 뒤, z 축으로 움직이게 표현하였다. 원래 translate(x,y,z) 에 drawRectangle(0,0, z)이다. 우선 x와 y를 지정해 준다. x는 i*cellsize 로 cellsize 만큼의 간격을 기준으로 배치된다 또한 + cellsize/2 를 통해 i나 j 가 0일 때도 위치를 갖게 해준다. 나머지들은 딱히 볼 게 없다. 유용한 것으로는 c.getBrightness() 정도가 있겠으나, 성능이 조금 딸릴 것 같은 함수로 많이 사용될지는 모르겠다 필요하면 쓰겠지만..