여러 색의 입자가 색별 인력과 반발 규칙에 따라 막을 두른 군집이나 서로 쫓는 덩어리를 만든다Particles of several colors attract and repel by color, forming membrane-wrapped clusters or chasing blobs.
입자 600개, 색 4종, 반경 80px, 힘 행렬로 8초 동안 막을 두른 군집이 형성된다. 감쇠 0.9, 고정 스텝 16.67ms
힘 행렬을 매 실행마다 무작위로 뽑아 결과가 바뀐다. 상호작용 반경이 너무 커서 모든 입자가 한 점으로 뭉친다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 입자 수 | 600개 | 400~1000개 | 색별 150개 |
| 색 유형 | 4개 | 3~5개 | 힘 행렬 4x4 |
| 상호작용 반경 | 80px | 60~120px | 이 안에서만 힘 작용 |
| 감쇠 | 0.9 | 0.85~0.95 | 속도 곱 |
const F = [[ 0.8,-0.4, 0.2,-0.1],[ 0.5, 0.6,-0.3, 0.2],[-0.2, 0.4, 0.7,-0.5],[ 0.3,-0.1, 0.5, 0.6]]; // 시드 고정 행렬
function step(ps) { ps.forEach(p => { p.v.mul(0.9).add(force(p, ps, F, 80)); }); ps.forEach(p => p.pos.add(p.v)); }
tl.to({}, { duration: 8, ease: 'none', onUpdate() { draw(stateAt(Math.round(this.progress() * 480))); } }, 0);그대로 붙여 넣는다Paste as is
<대상> 캔버스에 입자 생명 시뮬을 넣어줘. 입자 600개, 색 4종, 상호작용 반경 80px, 감쇠 0.9, 고정 스텝 16.67ms, 8초. 힘 행렬은 -1~1 범위로 시드 고정해 코드에 상수로 박아줘. 입자는 지름 4px 원으로 그려.
Add a particle life simulation to the <target> canvas. 600 particles, 4 colors, interaction radius 80px, damping 0.9, fixed step 16.67ms, 8 seconds. Hardcode a seeded force matrix in the range -1 to 1 as constants and draw each particle as a 4px circle.
<파일>에 particle life를 구현해. 입자 600, 색 4, 반경 80px, 감쇠 0.9, 8초(480스텝). 힘 행렬은 상수, 초기 위치는 시드 난수. 1초, 4초, 8초를 캡처해 군집이 형성되는지 확인하고, 같은 시각을 두 번 seek해 입자 위치 해시가 같은지 검증해.
Implement particle life in <file>: 600 particles, 4 colors, radius 80px, damping 0.9, 8 seconds (480 steps). Keep the force matrix constant and the initial positions seeded. Capture at 1s, 4s and 8s to verify clusters form, and seek the same time twice to verify identical position hashes.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo