140 likes | 313 Views
Processing. PDE. Processing Develop Environment : 개발 툴 Download http://processing.org/download / JDK 설치되어 있어야 함 Windows, Linux, Mac 지원 기본 사용법 첨부된 pdf 의 Ch.1, 2 참조. 기본. setup / draw 실행시 한 번만 호출되는 setup 함수에서 기본 설정 등을 수행 draw 함수는 매번 반복 수행되는 함수로 main 함수처럼 사용 가능
E N D
PDE • Processing Develop Environment : 개발 툴 • Download • http://processing.org/download/ • JDK 설치되어 있어야 함 • Windows, Linux, Mac 지원 • 기본 사용법 • 첨부된 pdf의 Ch.1, 2 참조
기본 • setup / draw • 실행시 한 번만 호출되는 setup 함수에서 기본 설정 등을 수행 • draw 함수는매번 반복 수행되는 함수로 main 함수처럼 사용 가능 • C나 Java의 main 함수와 다르게 반복 호출됨 • size • 기본 화면 size를 설정해야함 • Parameter는 width, height
Variables, Functions, Objects, Arrays • 변수 선언/할당, 함수, 클래스, 배열 등은 기본 Java 문법과 동일 • Key • 도형 등을 그리는 함수들과 여러 예약어들이 존재하고 있으나 종류가 많지는 않음 • 기본 문법이 Java와 유사하기 때문에 기술적인 문제점도 많지 않을 것으로 판단됨 • 가장 중요한 부분 • 어떻게 표현할 것이냐 • 어떻게 표현할 것인지를 수식이나 알고리즘으로 도출하는 것이 중요
기본 그리기 • 점 • point 함수 • Parameter : x, y • 선 • line 함수 • Parameter : x1, y1, x2, y2 • 두 점을 잇는 선을 그림
삼각형 • triangle 함수 • Parameter : x1, y1, x2, y2, x3, y3 • 세 점을 잇는 삼각형을 그림 • 사각형 • quad 함수 • Parameter : x1, y1, x2, y2, x3, y3, x4, y4 • 네 점을 잇는 사각형을 그림 • 직사각형 • rect함수 • Parameter : x, y, width, height • 한 점을 기준으로 높이와 너비를 가진 직사각형
원/타원 • ellipse 함수 • Parameter : x, y, width, height • 한 점을 중심으로 가로 지름(width), 세로 지름(height)를 갖는 원/타원을 그림 • 호 • arc 함수 • Parameter : x, y, width, height, start, stop • ellipse 함수와 비슷하지만 start, stop으로 시작과 종료지점을 표현 (각각 radian 값) • 3시 방향이 0이고 시계 반대 방향으로 radian이 증가함 • Degree와 radian변환을 위한 함수 제공 (radians : parameter로 degree, radian을 리턴)
기타 • Drawing order : 나중에 그려지는 개체가 상위에 놓임 • smooth 함수 : 선을 부드럽게 그림 • strokeWeight : 선 굵기 (parameter는 pixel) • strokeCap, strokeJoin : 각각 선의 시작과 끝 모양, 선이 만나는 모양을 결정하는 함수 • background, fill 함수에서의 색상 :Parameter로 R, G, B 색상값 (0~255)을 입력받음 • Custom Shapes • vertex(x, y) : 임의의 점을 그리고 여러개를 호출시 각 점을 잇는 임의의 도형을 그림 • beginShape()와 endShape()로 custom shape를 그리는 시작과 끝을 명시해야함
Keywords • 제공하는 예약어들 • mouseX, mouseY : 현재 마우스 포인터 좌표 • pmouseX, pmouseY : 이전의 마우스 좌표 • mousePressed : 마우스 버튼이 클릭되었는지 여부를 저장 • mouseButton : 클릭된 마우스 버튼을 저장 (LEFT / CENTER / RIGHT) • keyPressed : 키가 눌렸는지 여부를 저장 • key : 눌린 키 값을 저장 (keyCode로 비교)
기타 연산에 사용되는 편리한 함수 • dist 함수 : 이전 좌표와 현재 좌표의 거리차를 자동으로 연산 • map 함수 : 변화의 범위와 따라 지정된 최대, 최소값 내에서 값을 매핑 • 예 :map(mouseX, 0, width, 60, 180) • 의미 : 마우스 x 좌표가 0에서 width까지 변화할 때 각 지점을 60~180 사이의 값으로 매핑 • width, height • 둘 다 예약어로 화면의 높이와 너비를 저장하고 있음
Motion • 움직임을 위해 필요한 함수/ 기능들 • 기본적으로 매번 반복되는 draw 에서 처리 • frameRate : 초당 최대 frame 수를 설정하는 함수 • random : parameter로 최소, 최대 값을 입력하면 해당 범위 내에서 임의의 값 리턴(float) • millis : 프로그램 시작과 동시에 흘러가는 ms단위의 count 값 리턴
Circular • Sine, cosine 값을 연산하기 위한 sin, cos함수 제공 • Parameter는 radian이며 float 타입 리턴 • 좌표계 변경 • translate : 좌표계 자체를 움직이는 함수이며,parameter로 움직이는 x, y 방향의 수치 입력 • rotate : 좌표계 회전.Parameter로 회전시킬 값을 radian으로 입력함 • scale : 좌표계를 확대, 축소.1이 원래 크기임
Extend • Library 제공 • Download • http://processing.org/reference/libraries • Download 후 PDE menu에서 import • 3D • 사용할 renderer 설정 (P3D, OPENGL, …) • 대부분의 함수에서 z 좌표값 parameter로 추가 • 예 :size(440, 220, OPENGL) • 의미 :440x220 사이즈 화면을 가지며 OpenGL 사용
Image Export • 현재 보여지는 화면을 image로 저장 • saveFrame함수를 사용 • Parameter로 저장할 파일명을 입력 • Parameter에 #(hash mark) 입력시 현재 frame number로 자동 대체함 • JPG, PNG, TIF 기본 지원