Learning
레슨 8 / 8·15분

p5.js 레퍼런스

p5.js 핵심 API 레퍼런스

p5.js의 주요 함수와 자주 사용하는 API를 카테고리별로 정리합니다. 빠른 참조를 위해 핵심 기능을 모아두었습니다.

구조와 환경

javascript
// 라이프사이클 함수
function preload() { }  // 에셋 로딩 (setup 전 실행)
function setup() { }    // 초기화 (1회 실행)
function draw() { }     // 렌더링 루프 (매 프레임)

// 캔버스
createCanvas(width, height);     // 2D 캔버스 생성
createCanvas(w, h, WEBGL);       // 3D 캔버스 (WebGL)
resizeCanvas(width, height);     // 캔버스 크기 변경
background(r, g, b, a);          // 배경색 설정

// 프레임
frameRate(fps);          // 프레임 속도 설정
frameCount;              // 현재까지 그려진 프레임 수
loop() / noLoop();       // draw() 루프 제어

도형과 색상

javascript
// 기본 도형
ellipse(x, y, w, h);     // 타원/원
rect(x, y, w, h);       // 사각형
line(x1, y1, x2, y2);   // 선
triangle(x1, y1, x2, y2, x3, y3); // 삼각형
arc(x, y, w, h, start, stop);     // 호
point(x, y);             // 점

// 색상
fill(r, g, b, a);        // 채우기 색
stroke(r, g, b);         // 테두리 색
strokeWeight(w);         // 테두리 두께
noFill();                // 채우기 없음
noStroke();              // 테두리 없음
colorMode(RGB | HSB, max); // 색상 모드

// 변환
translate(x, y);         // 좌표계 이동
rotate(angle);           // 회전 (라디안)
scale(s);                // 확대/축소
push() / pop();          // 변환 상태 저장/복원

입력과 수학

javascript
// 마우스
mouseX, mouseY;          // 현재 마우스 좌표
pmouseX, pmouseY;        // 이전 프레임 좌표
mouseIsPressed;          // 마우스 눌림 여부
function mousePressed() { }  // 클릭 이벤트
function mouseDragged() { }  // 드래그 이벤트

// 키보드
key;                     // 마지막으로 누른 키
keyCode;                 // 키 코드 (UP_ARROW 등)
keyIsPressed;            // 키 눌림 여부
function keyPressed() { }    // 키 누름 이벤트

// 수학
random(min, max);        // 무작위 값
noise(x, y, z);          // Perlin Noise (0~1)
map(val, min1, max1, min2, max2); // 범위 변환
constrain(val, min, max);// 범위 제한
lerp(start, end, t);     // 선형 보간
dist(x1, y1, x2, y2);   // 거리 계산
sin(angle), cos(angle);  // 삼각함수
  • preload/setup/draw — p5.js 프로그램의 3대 라이프사이클 함수
  • createCanvas(w, h) — 프로그램의 시작점, 캔버스 생성
  • fill/stroke/noFill/noStroke — 도형의 색상 제어
  • push/pop — 좌표 변환과 스타일을 격리하여 독립적 렌더링
  • mouseX/mouseY/key — 사용자 입력을 활용한 인터랙션
  • random/noise/map — 제너러티브 아트의 핵심 수학 함수
  • p5.Vector — 물리 시뮬레이션을 위한 2D/3D 벡터
  • loadImage/loadSound — 에셋 로딩 (preload에서 사용)
💡

공식 레퍼런스(p5js.org/reference)에서 모든 함수의 상세 설명과 예제를 확인할 수 있습니다. 또한 p5js.org/examples에서 다양한 예제를 실행해볼 수 있습니다.