Silverback9

#야생으로

Creative Coding 독학 제077일 2024년06월12일(수)

오늘은 사인곡선 클래스 정의를 공부해 보도록 하겠습니다.

앞으로 여러 개의 다양한 모양의 사인 곡선을 서로 더하여 하나의 곡선으로 만드는 프로그램을 만들기 위한, 재료 손질 단계라고 할까요?

사인 곡선의 구성 요소는 세 가지가 있습니다~^^*

하나. Amplitude : y= 0에서 y = 최대값 사이의 거리라고 볼 수 있어요. pixel 단위입니다.

둘. Phase : 사인 곡선의 맨 앞부분이 위치하는 곳이라고 볼 수 있어요. radian 단위입니다.

셋. Period: 완전한 형태의 사인 곡선의 처음과 끝 사이 거리라고 볼 수 있어요. pixel 단위입니다.

사인곡 선의 x좌표와 y좌표 사이의 관계를 살펴보면~,

y = sin ( phase + ( ( 2파이 * x ) / period ) ) * amplitude

로 정리해 볼 수 있습니다.

아래 동영상을 복습삼아 처음부터 보셔도 좋을 듯 합니다. 그리고 7:30까지 보시면 사인곡선 클래스를 공부하실 수 이었요~^^*

노트로 한 번 정리해 보았는데요. 한 번 같이 보시죠~^^*

음…근데…phase가 0이 아닌 경우, 그래프를 그려보려고 나니, x의 위치가 좀 애매했어요…생각을 좀 해보았는데, 아직 좀 헷갈려서요. 요건, 완성되면 그때 올려 보도록 할게요^^*

일단 오늘 저는 [ 2파이 * x / period] 부분을 이해할 수 있게 된 것을 보람으로 삼기로 했어요…^^*

그럼 이제 사인 곡선 class를 만들어 볼까요?

class Wave {
  constructor(amp, period, phase){
    this.amplitude = amp;
    this.period = period;
    this.phase = phase;
  }
  
  calculate(x){
    return sin(this.phase + TWO_PIE * x / this.period) * this.amplitude;
  }
}

이제 함수 calculate() 안의 내용이 눈에 들어 오시죠~~^^*

내일은 이 클래스를 가지고, 다양한 사인 곡선을 만들고 함께 더하여 새로운 곡선을 만들어 볼게요~^^*

그리고, 저는 오늘, phase가 0이 아닌 경우, x와 y의 관계를 보여주는 그래프를 좀더 고민해 볼게요~^^*

phase가 0 아닐 때 y값을 시각적으로 이해해 보려니 아직 아리송하지만

노트에 열심히 그려보며 이해해 보도록 할게요! 스페인어를 한글로 받아 적으며 이해해낸 굳센 청소년들처럼!!

달콤하고 시원한 아이스크림 같은 휴식 잠시 가질 수 있는 오후 보내시기 바래요~^^*

오늘도 저와 함께 코딩 공부 해주셔서 감사합니다~~^^*

우리 내일 또 만나요! 또 함께 코딩 공부해요! 아이스크림 두 개를 준비해 놓을게요!

넵, 꿈은 이루어 집니다!

댓글 남기기