picxenk / SIA2019NoC

서울예대 디지털아트과 전공실습 : Nature of Code
1 stars 0 forks source link

중력 구할 때 return, multiply 하는 이유 #7

Open dkdlstb112 opened 5 years ago

dkdlstb112 commented 5 years ago

중력을 구하는 코드가 이렇게 작성되는데

calculateAttraction(p) { let force = p5.Vector.sub(this.pos, p.pos); let distance = force.mag(); distance = constrain(distance, 5, 25); force.normalize(); let strength = (this.G this.mass p.mass) / (distance * distance); force.mult(strength); return force; }

여기서 중력 구하는 식을 통해 나온 strength를 force에 곱하는데, 일단 force가 마우스를 따라가는 예제에서 acceleration = mouse position - object position 과 같은 형태의 값을 저장하는 변수라고 이해하고 있습니다. 그런데 마우스 예제의 경우엔 가속도를 속도에 더한 것과는 다르게 strength를 곱하는지 모르겠습니다.

그리고 return force가 하는 역할이 궁금합니다. 이걸 지우면 에러가 나던데 어떤 목적으로 쓰이는 건지 모르겠습니다.

picxenk commented 5 years ago

우선 return 은 함수에서 계산한 최종 값을 되돌려주는 역할을 합니다. calculateAttraction() 함수가 단순히 실행만 된 것인지, 그 결과를 어디선가 사용하는지, 해당 함수를 불러준 부분의 코드를 다시 살펴보세요.

이 코드에서 force와 strength의 의미가 뭔지 알아보기!