30. Processing 작동원리
프로그램을 호출하면 setup()함수를 한번 호출
한 후에 draw()함수를 지속적으로 호출 처리
setup()
draw()
1초에 60번 호출
프로그램 모듈 호출
31. setup 함수 : 작동원리
프로그램 시작 시 설정 함수를 한번 실행하여 실
행환경을 만듬
프로그램에 대한 하나의
설정 () 함수가 될 수 있
으며 초기 실행 후 다시
호출 할 수 없음
같은 화면 크기의 초기
환경 속성을 정의하고 프
로그램이 시작 등의 이미
지 및 글꼴 등의 미디어
를 로드하는 데 사용.
76. 클래스 정의
클래스는 속성, 생성자, 메소드를 정의 함
class ClassName {
속성들;
생성자;
메소드;
}
class HLine {
float ypos, speed;
HLine (float y, float s) {
ypos = y; speed = s;
}
void update() {
ypos += speed;
if (ypos > height) {
ypos = 0;
}
line(0, ypos, width, ypos);
}
}
77. 클래스 생성자
클래스를 객체로 만들어서 활용
변수 타입 변수명 = new 생성자
(파라미터)
// Declare and construct two objects (h1, h2)
// from the class HLine
HLine h1 = new HLine(20, 2.0);
HLine h2 = new HLine(50, 2.5);
78. 클래스 속성 사용하기
클래스를 객체로 만들고 객체의 속성과 메소드를 호
출해서 활용
객체명.속성
객체명.메소드
// Declare and construct two objects (h1, h2)
// from the class HLine
HLine h1 = new HLine(20, 2.0);
HLine h2 = new HLine(50, 2.5);
void setup()
{
size(200, 200);
frameRate(30);
}
void draw() {
background(204);
h1.update();
h2.update();
}
93. final
값, 클래스 또는 메소드가 변경 될 수 없는 상태로 사용하는 키
워드
final 변수는 프로그램 내에서 변경되지 않는 상수로 사용
final 클래스는 하위 클래스로 사용할 수 없고,
함수나 메소드를 정의에 사용하면 서브 클래스에 의해 오버라이
드 (override) 할 수 없음
94. return : 함수나 메소드 결과값
값내부의 함수나 메소드에 대한 결고값을 처리.
Return을 사용시 void 대신 결과값을 함수명 앞
에 정의해야 함
105. 산술연사자
두 개의 표현식을 산술한 결과를 표현
% Module
* multiply
*= multiply assign
+ addition
++ increment
>= greater than or equal to
+= add assign
- minus
-- decrement
-= subtract assign
/ divide
/= divide assign
106. 관계연사자
두 개의 표현식을 비교
!= inequality
< less than
<= less than or equal to
== equality
> greater than
>= greater than or equal to
107. 논리연사자
두 개의 표현식을 논리적으로 판단
! logical NOT
&& logical AND
|| logical OR
108. 비트연사자
두 개의 표현식을 바이너리 연산
& bitwise AND
<< left shift
>> right shift
| bitwise OR
110. ? 문
조건식을 판단해서 참과 거짓을 판단해서 실행하
는 문
test ? expression1 : expression2
int s = 0;
for (int i = 5; i < 100; i += 5) {
s = (i < 50) ? 0 : 255;
stroke(s);
line(30, i, 80, i);
}
111. if 구문 처리
변수를 정해서 산식을 이용해서 변수를 변경후
처리
if(표현식) {
Statements;
}
if(표현식) {
Statements;
} else if (표현식) {
statements;
}
112. if 문(단일)
조건식을 판단해서 참일 경우만 처리
if (test) {
statements
}
for (int i = 5; i < height; i += 5) {
stroke(255); // Set the color to white
if (i < 35) {
// When 'i' is less than 35...
stroke(0);
//...set the color to black
}
line(30, i, 80, i);
}
113. else 문(복합조건)
조건식을 판단하고 거짓이면 else문을 다시 판단
하면 처리
if (expression) {
statements
} else if (expression) {
statements
} else {
statements
}
for (int i = 5; i < 95; i += 5) {
if (i < 35) {
line(30, i, 80, i);
} else if (i < 65) {
line(20, i, 90, i);
} else {
line(0, i, 100, i);
}
}
114. switch 문(복합조건)
조건식을 판단해서 조건이 맞는 case를 처리되나
없을 경우는 default에 정의된 것을 처리
switch(expression) {
case label:
statements
case label: // Optional
statements
default:
statements
}
char letter = 'N';
switch(letter) {
case 'A':
println("Alpha"); // Does not execute
break;
case 'B':
println("Bravo"); // Does not execute
break;
default: // Default executes if the case labels
println("None"); // don't match the switch parameter
break;
}
115. break, continue 문
순환문 및 제어문에서 로직을 중단할 것인지 계
속할 것인지에 따라 break/continue문을 이용
for (int i = 0; i < 100; i += 10) {
if (i == 70) { // If 'i' is 70,
continue; // skip to the next iteration,
} // therefore not drawing the line.
line(i, 0, i, height);
}
117. for 문
조건식에 따라 순환하는 것과 array를 순환하는
2가지
for (init; test; update) {
statements
}
for (datatype element : array) {
statements
}
for (int i = 0; i < 40; i = i+1) {
line(30, i, 80, i);
}
int[] nums = { 5, 4, 3, 2, 1 };
for (int i : nums) {
println(i);
}
118. for 문 이해
시작 조건, 테스트 조건, 업데이트조건이 참일 경
우 문장이 처리되고 거짓일때는 종료
153. matchAll
match(str, regexp) 함수는 문자열을 정규표현
식과 비교해서 매치된 결과를 String[][]으로 처리
String[i][0] = 매칭된 전체 문자열
String[i][1] = 매칭된 내부 결과 문자열
154. nf
숫자를 문자열로 format 처리하는 함수
nf(num)
nf(num, digits)
nf(num, left, right)
num : int[], float[], float, or int
digits : 0를 포함한 숫자의 길이
left: 소수점 이상 수
right:소수점이하 수
155. nfc
숫자를 문자열로 format 처리하는 함수 특히 1000
단위로 ,를 붙임
nf(num)
nfc(num, right)
num : int[], float[], float, or int
right:소수점이하 수
156. nfp
숫자를 문자열로 format 처리하는 함수. 부호를 표시
nfp(num, digits)
nfp(num, left, right)
num : int[], float[], float, or int
digits : 0를 포함한 숫자의 길이
left: 소수점 이상 수
right:소수점이하 수
157. nfs
숫자를 문자열로 format 처리하는 함수. 양수일 경우
는 부호가 blank이고 음수일 경우 표시
nfp(num, digits)
nfp(num, left, right)
num : int[], float[], float, or int
digits : 0를 포함한 숫자의 길이
left: 소수점 이상 수
right:소수점이하 수
158. split
문자열로 쪼개서 문자열 array로 분리 하는 함수
split(value, delim)
value : string
delim : char
159. splitTokes
문자열로 token들로 문자열 array로 분리 하는 함수
splitTokens(value)
splitTokens(value, delim)
value : string
delim : char
“, “: ,와 blank를 제거하라
는 뜻
160. trim
문자열내의 좌우 공백을 제거하는 함수
trim(str)
trim(array)
str : string
array : string array
167. append
array에 원소를 추가하기
append(array, value)
array : Object, String[], float[], int[],
char[], or byte[]
value : Object, String, float, int, char,
or byte
168. arrayCopy
array에서 array로 원소를 카피하는 함수
arrayCopy(src, srcPosition, dst,
dstPosition, length)
arrayCopy(src, dst, length)
arrayCopy(src, dst)
src, dst : array
srcPosition, dstPosition : array 위치
length : 총 copy 할 길이
169. concat
array와 array를 하나의 array로 합하는 함수
concat(a, b)
a, b : Object, String[], float[], int[],
char[], byte[], or boolean[]
170. expand
기존 array의 사이즈를 확장하는 함수
expand(list, newsize)
list : Object, String[], double[], float[],
long[], int[], char[], byte[], or boolean[]
Newsize : 정수로 사이즈 지정
데이터 타입을 지정시 확장도 지
정된 데이터 사이즈 만큼 처리
171. reverse
기존 array를 역으로 sort 하는 함수
reverse(list)
list Object, String[], float[], int[], char[],
byte[], or boolean[]: booleans[], bytes[],
chars[], ints[], floats[], or Strings[]
172. shorten
기존 array를 앞에서 한 원소씩 삭제하는 함수
shorten(list)
list : Object, String[], float[], int[],
char[], byte[], or boolean[]
173. sort
기존 array를 sort 하는 함수
sort(list)
Sort(list, count)
list :
String[], float[], int[], char[], or byte[]
count : number of elements to sort,
starting from 0
174. splice
기존 array를 index 위치부터 insert 하는 함수
splice(list,value,index)
list :
Object, String[], float[], int[], char[],
byte[], or boolean[]
value : Object, String[], String, float[],
float, int[], int, char[], char, byte[], byte,
boolean[], or boolean
175. subset
기존 array를 시작점 부터 부분 array를 추출하는 함
수
subset(list,start)
subset(list,start,count)
list :
Object, String[], float[], int[], char[],
byte[], or boolean[]
213. 내부 도형 채우기 : fill()
fill 함수를 이용해서 내부 도형에 대해 색을 채움
fill(rgb)
fill(rgb, alpha)
fill(gray)
fill(gray, alpha)
fill(v1, v2, v3)
fill(v1, v2, v3, alpha)
alpha : 배경의 투명도
214. Color 색 입히기 : RGB 1
fill 함수에서 R,G,B를 선택
red + green = yellow
215. Color 색 입히기 : RGB 2
fill 를 이용해서 RGB 색 입히기
255가 기본이고 점점 작은 수일 수록 짙은 색
216. Color 색 입히기 : HEX
backgroun/fill 를 이용해서 hex색 입히기
#818257/#AEDD3C를 처리
219. colorMode 함수
colorMode () 함수는 색을 지정하기 위해 사용
되는 수치 범위를 변경하고, 컬러 시스템을 전환
하기 위해 사용됨
colorMode(mode)
colorMode(mode, max)
colorMode(mode, max1, max2, max3)
colorMode(mode, max1, max2, max3, maxA)
mode
int: Either RGB or HSB, corresponding to Red/Green/Blue
and Hue/Saturation/Brightness
max float: range for all color elements
max1
float: range for the red or hue depending on the current col
or mode
max2
float: range for the green or saturation depending on the cu
rrent color mode
max3
float: range for the blue or brightness depending on the cur
rent color mode
maxA float: range for the alpha
302. keyCode 변수
key값이 CODED 일 경우 keyCode 변수에서
방향키를 인식해서 처리
방향키 처리
key keyCode
Alt ALT
Ctrl CONTROL
Shift SHIFT
← LEFT
→ RIGHT
↑ UP
↓ DOWN
Page Up PAGE_UP
Page Down PAGE_DOWN
Home HOME
End END
303. keycode 값 : 1
key key code
Backspace 8
Tab 9
Enter 10
Shift 16
Control 17
Alt 18
Caps Lock -
Escape 27
Space 32
Page up 33
Page down 34
End 35
Home 36
Left 37
Up 38
Right 39
Down 40
Delete 127
key key code
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
key key code
f1 112
f2 113
f3 114
f4 115
f5 116
f6 117
f7 118
f8 119
f9 120
f10 121
f11 122
f12 123
304. keycode 값 : 2
key key code
a 65
b 66
c 67
d 68
e 69
f 70
g 71
h 72
i 73
j 74
k 75
l 76
m 77
n 78
o 79
p 80
q 81
r 82
key key code
s 83
t 84
u 85
v 86
w 87
x 88
y 89
z 90
key key code
Semicolon (;) 186
Colon (:) 186
Plus (+) 187
Equals sign (=) 187
Comma (,) 188
Less than sign (<) 188
Minus (-) 189
Underscore (_) 189
Period (.) 190
Greater than sign (>) 190
Question mark (?) 191
Forward slash (/) 191
Backtick (`) 192
Tilde (~) 192
Opening square bracket ([) 219
Opening curly bracket ({) 219
Backslash () 220
Pipe (|) 220
Closing square bracket (]) 221
Closing curly bracket (}) 221
Single quote (') 222
Double quote (") 222
368. math 함수 1
수학 함수들
abs(n) 절대값
ceil(n) Int 값에 가까운 곳으로 절상
constrain(amt, low, high)
low와 high의 값 사이로 제한, low보다 작으면 low,
high보다 크면 high
dist(x1, y1, x2, y2)
dist(x1, y1, z1, x2, y2, z2)
거리구하기
exp(n)
Returns Euler's number e (2.71828...) raised to the
power of the n parameter
floor(n) 값을 절사(int)
lerp(start, stop, amt)
선형보간(Linear Interpolation). start에서 stop 사이
를 amt(0~1) 기준으로로 선형보간
log(n) 로그값 산출
mag(a, b)
mag(a, b, c)
벡터에 대한 크기(길이) 계산
map(value, start1, stop1,
start2, stop2)
Start1과 stop1 범위의 값을 확인하고 start2와 stop2
의 값으로 리턴
369. math 함수 2
수학 함수들
max(a, b)
max(a, b, c)
max(list)
최대값 구하기
min(a, b)
min(a, b, c)
min(list)
최소값 구하기
norm(value, start, stop)
Normalizes a number from another range into a valu
e between 0 and 1.
pow(n, e) e 승만큼 구하기
round(n) 숫자를 증가하거나 버리기
sq(n) 제곱승
sqrt(n) 제곱근 구하기