Silverback9

#야생으로

Creative Coding 독학 제186일 2024년09월29일(일)

오늘은 하나의 입자를 생성해서 중력의 영향을 받게 만드는 코드를 공부해 보겠습니다~~^^*

먼저, 물리 세계를 생성한 후 입자 하나를 생성하여 이 물리 세계의 구성 요소로 더해 볼게요~~*

const { VerletPhysics2D, VerletParticle2D, VerletSpring2D } = toxi.physics2d;

let physics;

let particleA;

physics = new VerletPhysics2D();

particleA = new VerletParticle2D(200, 100);
physics.addParticle(particleA);

이제, 이 입자가 중력의 영향을 받도록 만들어 볼까요~^^*

(1) 화면 아래 방향으로 작용하는 벡터 v를 생성하고~

const { Vec2D, Rect } = toxi.geom;

let v = new Vec2D(0,1);

(2) 중력을 생성하여, 아래 방향으로 작용하는 벡터 v의 작용을 받도록 할게요~

const { GravityBehavior } = toxi.physics2d.behaviors;

let gravity = new GravityBehaviour(v);

(3) 물리 세계에 이 중력을 구성요소로 더하도록 할게요~

physics.addBahavior(gravity);

물리 세계, 입자, 입자에 작용하는 중력이 준비 되었습니다~!

입자와 중력이 소속된 이 물리세계의 변화들이 반영될 수 있도록 하겠습니다~^^*

physics.update();

지금까지의 작업을 정리해 보겠습니다~^^*

const { VerletPhysics2D, VerletParticle2D, VerletSpring2D } = toxi.physics2d;

const { GravityBehavior } = toxi.physics2d.behaviors;

const { Vec2D, Rect } = toxi.geom;

let physics;

let particleA;

function setup(){
physics = new VerletPhysics2D();

let v = new Vec2D(0,1);

let gravity = new GravityBehavior(v);

physics.addBehavior(gravity);

particleA = new VerletParticle2D(200, 100);

physics.addParticle(particleA);
}

function draw(){

physics.update();
background(255);
fill(0);
circle(particleA.x, particleA.y, 16);
}

두둥~~ 동그라미 하나가 중력의 영향을 받아 아래 방향으로 이동하는 아주 간단한 프로그램이 완성되었습니다~~^^*

네~~^^* 새로운 물리 엔진 라이브러리와 친해지는 시간을 저와 함께 나누어 주셔서 감사합니다~~^^*

우리 내일은~~ 월요일이니까~~ 음악 함께 들을까요~~^^*?

어제는 살짝 추웠던 것 같은데요~~^^* 오늘은 햇살이 참 좋은 것 같아요~~^^*

중력의 영향을 받는 동그라미 물방울이 빗방울 되어 또 내린다고 해도, 오늘 아침의 이 바삭한 햇살을 기억하며 행복감을 누릴 수 있으면 좋겠어요~^^*

오늘도 멋진 아침! 멋진 하루! 보내시고요!

넵~!!! 꿈은 이루어 집니다~~!!!

댓글 남기기