Silverback9

#야생으로

Creative Coding 독학 제312일 2025년02월02일(일)

오늘은 숫자 2가 겹치는 날이네요~^^* 2월2일~^^*

우리 곁에 천사가 있다는 것을 알려주는 날~^^*

먼 곳 들판을 천사와 함께 날며 풍경을 편안히 구경하고 계셔요~^^*

오늘은 현재 가고 있는 방향에서 가고자 하는 방향으로 몸을 트는 steering behaviour에 대해 복습해 보기로 할까요~^^*

이 파트를 작업해 본 지 좀 되어서, 기억을 가지런히 빗어보면 좋을 것 같아요~^^*

먼저 클래스 vehicle 차량 정의를 함께 살펴 볼까요~~^^* 어제 우리가 새롭게 설정한 변수 health도 넣어 보겠습니다~^^*


class Vehicle {
  constructor(x, y) {
    this.acceleration = createVector(0, 0);
    this.velocity = createVector(0, -2);
    this.position = createVector(x, y);

    this.health = 1;

    this.r = 6;
    this.maxspeed = 8;
    this.maxforce = 0.2;
  }


  update() {
    this.velocity.add(this.acceleration);
    this.velocity.limit(this.maxspeed);
    this.position.add(this.velocity);
    this.acceleration.mult(0);
  }

  applyForce(force) {
    this.acceleration.add(force);
  }


  seek(target) {

    let desired = p5.Vector.sub(target, this.position); // vehicle의 현재 위치에서 target으로 향하는 벡터입니다. 

   
    desired.setMag(this.maxspeed); //벡터 desired의 힘의 크기를 maxspeed로 세팅하겠습니다. 

    let steer = p5.Vector.sub(desired, this.velocity);
    // 가고자 하는 방향의 벡터 desired에서 현재 vehicle이 가고 있는 방향의 벡터 this.velocity를 뺄셈하여 vehicle이 몸을 틀어야 할 방향을 가진 벡터 steer에 저장합니다. 

    steer.limit(this.maxforce); // 벡터 steer의 힘을 this.maxforce 값까지로 제한하겠습니다.

    this.applyForce(steer); //벡터 steer를 vehicle에 작용시킵니다. 
  }

  display() {
    let theta = this.velocity.heading() + PI / 2;
    fill(127);
    stroke(200);
    strokeWeight(1);
    push();
    translate(this.position.x, this.position.y);
    rotate(theta);
    beginShape();
    vertex(0, -this.r * 2);
    vertex(-this.r, this.r * 2);
    vertex(this.r, this.r * 2);
    endShape(CLOSE);
    pop();
  }
}

steering 에 대한 좀 더 상세한 복습으로~^^* Autonomous Agent에 대한 동영상 강의 시리즈를 시청자 모드로 시각적으로 편안하게 시청해 보면 어떨까요~^^*.

오늘 Steering에 대한 복습의 시간을 충분히 함께 가져 주셔서 감사합니다~^^*

내일은 우리 음악 함께 들으며 편안하게 쉬고요~^^*

화요일부터는 맛있는 것에 다가가고 위험한 것에서 멀어지는 총명하고 귀여운 우리의 vehicle 차량의 아슬아슬한 자율 주행~^^* 코드 작업을 본격적으로 시작해 볼까요~~^^*

진흙탕 속에서 다이아몬드를 찾아 내려는 굳셈과 총명함이 몸에 밴 멋진 vehicle을 우리 함께 만들어 보면 좋겠어요~^^*

네~^^* 좋아요~^^* 고마워요~^^*

오늘도

맛있는 점심! 편안하면서도 보람찬 하루! 보내시고요!

따뜻한 밤 코~^^* 하셔요~^^*

네~^^* 꿈은 이루어 집니다~^^*

댓글 남기기