Silverback9

#야생으로

Creative Coding 독학 제083일 2024년06월18일(화)

오늘은 진자 운동을 표현하는 프로그램의 핵심 코드를 살펴보도록 하겠습니다~^^*

진자 운동을 결정짓는 요소들을 살펴보고, 그 요소들을 가지고 핵심 코드를 만들어 볼게요~^^*

네, 추가 자신의 자리로 돌아올 때까지 걸리는 시간이 Period이네요. Period가 길다는 것은 운동 속도가 느리다는 것이고, Period가 짧다는 것은 운동 속도가 빠르다는 것이겠네요.

Period를 결정짓는 요소들이 추의 회전운동 속도, 즉 회전각, 회전각속도, 회전각가속도에 영향을 끼칠 수 있을 것 같아요.

네,

(1) 추와 지지대를 연결하는 줄의 길이가 길수록 추는 천천히 움직이고

(2) 중력의 힘이 강할 수록 추는 빨리 움직이네요.

(3) 추의 질량은 진자의 운동 속도에 아무 영향을 끼치지 않네요.

추와 지지대를 연결하는 줄의 길이에 따른 추의 운동 속도를 실험해 볼까요?

사고 실험을 먼저 하고~^^*

실제 실험을 해 봅니다~^^*

와우! 추가 어느 위치에서 움직이기 시작했는지도 상관이 없고, 추의 질량도 상관이 없네요. 지구에서 실험을 하는 것이니, 중력의 영향은 동일하고. 그래서! 오직 줄의 길이만 상관이 있네요! 심지어, 공기저항 때문에 추의 움직임이 느려지더라도, 줄의 길이가 다른 추들은 다 각각의 고유한 느려짐을 보여주네요! 줄의 길이가 참 중요하군요!!!

let angle;
let angleV;
let angleA;
let gravity;
let length;
let force;

force = gravity * sin(angle);
angleA = (-1 * force) / length;
angleV += angleA;
angle += angleV;

angleV *= 0.99;

//F = MA 공식을 사용하고자 합니다. M = 1로 처리하여, F(힘) = A(가속도)로 단순화 하겠습니다.  
// 추와 지지대를 잇는 줄의 길이가 길수록 각가속도는 줄어듭니다. 
// 중력의 영향을 받은 힘을 줄의 길이로 나눈 값각가속도에 저장합니다. 
// 공기저항을 반영할 경우, 각속도에 0.99를 곱하여, 각속도 크기를 점차 줄여나갑니다. 

// sin(angle)은 무엇일까요???
// 각가속도를 구하는 과정에서, 힘에 (-1)를 왜 곱하는 것일까요?
// 궁금하시죠~~^^*   

오늘은 진자 운동의 각가속도를 결정짓는 단 두 가지 요소는 줄의 길이와 중력이라는 것을 배웠습니다.

줄이 길수록 각가속도는 작아지고, 중력이 클 수록 각가속도는 커집니다.

그래서!!!

줄의 길이와 각가속도는 나눗셈 관계, 중력과 각가속도는 곱셈 관계로 코드를 구성하였습니다.

내일은 본격적으로 진자 운동을 표현하는 프로그램을 만들어 보겠습니다~^^*

할아버지의 시계가 할아버지의 평생의 충실한 친구가 될 수 있었던 이유는?

진자운동을 하는 시계니까요!!!

그래서, 할아버지 시계를 살 때 주의할 점은? 날씨에 따라 수축이완하는 금속막대를 줄로 사용하는 시계는 피하시면 좋아요^^* 줄의 길이가 달라지면 추의 운동속도가 달라지니까요~^^*

오늘도 저와 함께 코딩 공부 해주셔서 감사합니다~^^* 변함없이 항상 똑딱똑딱 함께 움직여 주셔서 감사합니다~^^*

내일도 우리 함께 코딩 공부해요~~~~^^*

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

댓글 남기기