AWESOME AI MOTION
효과Effects / 입자·생성Generative / Nº 527

다체 궤도 군집N-body Orbital Cluster

N-body Orbital Cluster
다체 궤도 군집
527
렌더 추가 예정CLIP COMING다체 궤도 군집N-body Orbital Cluster정의·파라미터·프롬프트는 아래에 있다Definition, parameters and prompts are below
도판Fig. 527. 다체 궤도 군집 · N-body Orbital Cluster · none

여러 점이 서로 끌어당기며 작은 무리와 회전 궤도를 만드는 다체 중력 시뮬레이션Many points attract one another and form small clusters and orbiting groups.

01

무엇을 전하나What it tells

전달 효과ConveysCONVEYS
상호 작용과 중력이 만드는 구조. 흩어진 것들이 스스로 뭉쳐 짜임새가 생긴다Structure created by interaction and gravity. Scattered things gather themselves into an arrangement.
언제 쓰나Use whenUSE WHEN
  • 별, 은하, 군집, 자기조직 개념을 설명할 때
  • 흩어진 점이 서로 끌려 모이는 클러스터링 개념을 비유할 때
  • Explain stars, galaxies, clustering and self-organization.
  • Use as a metaphor for scattered points pulling together into clusters.
과용 주의AvoidAVOID
  • 완화 반경 8px 미만 금지(폭주)
  • 점 400개 초과 금지(계산 지연)
02

좋은 예와 나쁜 예Good and bad use

좋은 사례GOOD

점 250개가 중력 상수 0.8로 서로 당기며 5초 동안 작은 무리 2~3개와 소용돌이 궤도로 모인다

과용 · 나쁜 사례OVERUSE

완화 반경이 없어 근접한 점이 튕겨 나가며 화면 밖으로 사라지거나 스텝이 커서 에너지가 폭주한다

03

파라미터Parameters

기본값은 클립에 쓴 값Defaults are the values used in the clip

항목PARAM기본DEFAULT범위RANGE메모NOTE
점 수250120~400시드 초기 분포
중력 상수0.80.4~1.2거리 제곱 반비례
완화 반경12px8~20px근접 폭주 방지
스텝8.33ms4~16ms고정 dt 120Hz
지속5s3~8s사전 계산 600스텝
GSAP
let s = seedBodies(3, 250); const frames = [];
for (let k = 0; k < 600; k++) { for (let sub = 0; sub < 1; sub++) step(s, 1/120, 0.8, 12); frames.push(s.map(b => [b.x, b.y])); }
const u = { k: 0 };
tl.to(u, { k: 599, duration: 5, ease: 'none', onUpdate: () => draw(frames[Math.round(u.k)]) }, 0);
// step: a_i = sum G*(rj-ri)/(|d|^2+eps^2)^(3/2), 세미 임플리시트 오일러
04

에이전트 프롬프트Agent prompts

그대로 붙여 넣는다Paste as is

Claude Code

<대상> 화면에 다체 궤도 군집을 넣어줘. 점 250개를 시드 3으로 원반 분포에 두고, 중력 상수 0.8, 완화 반경 12px, 고정 dt 1/120로 600스텝을 사전 계산해 표로 저장해. 5초 동안 인덱스만 선형 재생하고, 점은 반경 2px 흰색 불투명도 0.8, 속도가 빠를수록 청록으로 물들게 해.

Add an N-body orbital cluster to <target>. Place 250 points in a disc distribution from seed 3 and precompute 600 steps into a table with gravity constant 0.8, softening radius 12px and fixed dt of 1/120. Play the index linearly over 5 seconds, drawing points as 2px white at 0.8 opacity, tinting teal as speed increases.

Codex

<파일>에 N-body 시뮬레이션을 추가해. 점 250개(시드 3), a_i=Σ0.8*(rj-ri)/(|d|²+12²)^1.5, 세미 임플리시트 오일러 dt=1/120로 600프레임을 사전 계산해 frames[]에 저장. GSAP으로 k를 0→599, 5초 선형 tween. 0.5초·2.5초·5초 캡처로 점이 무리로 모이고 화면 밖으로 탈출한 점이 10% 미만인지 확인해.

Add an N-body simulation to <file>. 250 points (seed 3), a_i = sum 0.8*(rj-ri)/(|d|^2+12^2)^1.5, semi-implicit Euler at dt=1/120, 600 frames precomputed into frames[]. Tween k 0 to 599 over 5 s linear with GSAP. Capture 0.5 s, 2.5 s and 5 s to confirm points gather into clusters and fewer than 10 percent escape the frame.

05

도구별로 쓰기In your tools

HyperFrames · ReelForge · Scrolline

HyperFramesVIDEO · GSAP
600스텝을 시드 3으로 사전 계산해 표로 저장하고 타임라인은 인덱스만 재생한다. 250점의 O(n2)는 사전 계산에서만 돈다
ReelForgeBRIEF TO VIDEO
씬 브리프에 점 250, G 0.8, 완화 12px, dt 8.33ms, 시드 3과 초기 분포(원반)를 싣는다
Scrolline DeckSCROLL SCRUB
진행률을 프레임 인덱스에 매핑한다. 사전 계산이라 역스크롤과 점프에도 결과가 고정이다
06

잘 맞는 조합Pairs well with

07

출처Sources

개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo