code137.5 (creative coding lab)
한태재
Nature of Code 2강 - 힘 ( force )
힘(force)은 질량 있는 객체가 가속도를 갖게 하는 벡터.
뉴턴의 운동 법칙
뉴턴의 운동 1법칙 (관성)
- 가만히 있는 물체는 계속 가만히 있고, 움직이는 물체는 계속 움직인다.
- 다른 힘의 영향을 받지 않는다면 가만히 있는 물체는 계속 가만히 있고, 움직이는 물체는 같은 속도와 방향으로 계속 움직인다.
뉴턴의 운동 3법칙 (작용 반작용)
- 어떤 물체에 힘을 주면 반대 방향으로도 같은 힘이 일어난다.
- 힘은 언제나 쌍으로 발생한다. 두 힘은 크기는 같지만 방향은 반대이다.
뉴턴의 운동 2법칙!!
- 힘은 질량과 가속도를 곱한 값이다
- F = M * A;
- A = F / M;
질량
- 질량 : 어떤 물체가 가지고 있는 물질의 양. (ex : kg)
- 무게 : 중력이 해당 물체에 얼마나 큰 힘을 작용하는가. (단위 N(뉴턴)) (무게 = 질량 * 중력)
- 밀도 : 특정한 부피에서의 질량을 의미 (ex : kg/m*m)
- 질량을 물질의 양을 나타내는 값이므로 방향이 없다.(벡터가 아니라 스칼라)
위치, 속도, 가속도, 힘, 질량
1. 오브젝트의 '위치'를 매 프레임마다 그려준다.
2. '위치'는 '속도'벡터로 매 프레임마다 변화시킨다.
3. '속도'는 '가속도'로 매 프레임마다 변화시킨다.
4. '힘'을 계산하여 '가속도'에 더해준다.
A = F / M 이지만 질량은 무시(1로 계산)
5. '가속도'를 매 프레임마다 초기화시킨다.
See the Pen pos_vel_acc by TaejaeHan (@TaejaeHan) on CodePen.
마찰력
- 마찰력은 '흩어지는 힘'으로 물체가 움직일 때 전체 에너지를 감소시키는 힘
- ' 마찰력 = -1 * 속도단위벡터 * 뮤(마찰계수) * 수직력 '
- 마찰력은 속도벡터의 크기(속력)에 영향을 받지 않으므로 속도단위벡터로 계산
- 마찰력은 속도의 반대방향이므로 '-1 * 속도단위벡터'
- 마찰계수와 수직력이 클 수록 마찰력이 높아짐
- 얼음표면은 나무표면보다 마찰계수가 적음
- 수직력은 움직이는 방향과 수직되는 힘. 움직이는 물체가 중력으로 바닥을 누르면 바닥도 물체를 민다(뉴턴의 운동 3법칙)
- 경사진 곳에서 이동하는 경우는 수직력이 중력과 다르다
(삼각법을 이용하여 계산해야함. 3장에서...)
저항력
- 기체 또는 액체를 지나는 경우에도 마찰력이 발생하는데 점성력, 저항력, 유체 저항이라고 부름
- 저항력 = -1/2 * 속도단위벡터 * 액(기)체의밀도 * (물체의)속력*(물체의)속력 * 액(기)체와 닿는 면적 * 저항계수
- 프로세싱에는 -1(반대방향)이 중요하고 상수 1/2은 중요하지 않으므로 -1로 변경
- 프로세싱에서 밀도와 닿는면적은 제외시켜서 단순화 (1로 계산)
- ' 저항력 = -1 * 속도단위벡터 * (물체의)속력*(물체의)속력 * 저항계수 '
- 저항력은 속도의 반대방향이므로 '-1 * 속도단위벡터'
- 저항계수와 속력의제곱이 클수록 저항력이 높아짐
중력
- 질량을 가지고 있는 모든 물체가 서로 잡아당기는 힘(인력)
- 중력이라는 힘은 물체의 질량이 클수록 강하게 작용.
- 중력 = ( (중력상수 * 물체1질량 * 물체2질량) / ((물체 사의의) 거리 * (물체 사의의) 거리) )
* (물체1에서 물체2 방향의)단위벡터
- 프로세싱에서 중력상수는 무시 (1로 계산)
- ' 중력 = ( (질량1*질량2) / 거리*거리 ) * 단위벡터 '
- 질량이 클수록 거리가 가까울수록 중력이 강해짐
code137.5 (creative coding lab)
한태재
10년차 크리에이티브 디벨로퍼 / 웹 그래픽 엔지니어 / 프론트엔드 개발자
로서 가장 좋아하는 작업은 웹(HTML5)에서 2D/3D Canvas 그래픽스를 다루는 프로젝트입니다
'Nature of Code' 카테고리의 다른 글
Nature of Code 3강. 진동. (0) | 2024.06.11 |
---|---|
벡터 힘,질량,중력 (0) | 2024.06.09 |
벡터 기본 방향과 크기 (0) | 2024.06.03 |
Nature of Code 1강. 벡터. (1) | 2024.05.07 |