Presentation is loading. Please wait.

Presentation is loading. Please wait.

FORCE 이해하기 Moon Yong Joon.

Similar presentations


Presentation on theme: "FORCE 이해하기 Moon Yong Joon."— Presentation transcript:

1 FORCE 이해하기 Moon Yong Joon

2 속도/가속도

3 속도와 가속도

4 변위 변위(Displacement)는 물리학에서 나중 위치의 값에서 처음 위치의 값을 뺀 물리량이다. 위치의 변화량을 의미하는 벡터량 변위는 벡터량으로서, 스칼라량인 이동 거리와 다르다.

5 속도 속도(velocity)가 방향과 크기를 갖는 벡터량이 며 위치가 변하는 비율을 의미
걸린시간이 1인 경우 위치의 변위로 속도를 나타낼 수 있음

6 가속도 가속도(加速度 영어: acceleration)는 시간에 따 라 속도가 변하는 정도를 나타내는 물리량이다.
걸린시간이 1인 경우는 속도의 변화량만으로 가속도를 표시할 수 있다.

7 속도/가속도 관계 힘, 가속도, 속도, 위치에 대한 관계 속도는 위치에 영향 가속도는 속도에 영향 힘은 가속도에 영향

8 PVector

9 Vector 란 벡터의 물리적 정의 크기와 방향을 가졌으며 좌 표 변환시 변위와 같은 방식으로 변환되는 양'

10 Vector 이동 Cartesian coordinate에서 Vector이 이동 방식 회전 Rotation
Cartesian coordinate의 x,y,z를 x,y,z축의 방향을 회전시키는 것 이동 Translation Cartesian coordinate의 원점을 옮기는 방법 대칭 Inversion Cartesian coordinate의 축의 방향을 바꿔는 것

11 Vector 산식 예시 행렬*벡터는 벡터결과. 일반적인 딥러닝 알고리 즘 산식

12 Pvector : 내부 변수 Pvector는 x,y,z 3개의 파라미터를 받음(3차원 일 경우), 2차원은 x,y 2개만 처리

13 PVector :내부 메소드 Pvector는 벡터 연산 메소드를 제공

14 속도/가속도 구현 예시

15 Python 구현(속도)

16 Processing: python 설치 변수는 객체를 관리하기 위한 참조를 관리하는 공간 즉, 변수는 객체를 가리키는 것
변수는 객체를 관리하기 위한 참조를 관리하는 공간 즉, 변수는 객체를 가리키는 것 모드추가를 클릭함

17 Sketch 저장 sketch를 저장하면 하나의 폴더가 생기고 폴더 와 동일한 이름으로 pyde 확장자 파일이 생김

18 메인 메인에서 Mover 모듈을 import해서 처리 import Mover i = 1 def init() :
global mover mover = Mover.Mover(width,height) def setup() : size(200, 200) smooth() def draw() : global i if i == 1 : init() i = 2 mover.update() mover.checkEdges() mover.display()

19 Mover 모듈 만들기: tab 열기 tap에 Mover 모듈(Mover.py)을 만들기

20 Mover 모듈 만들기: class 정의 1 tap을 통해 클래스 정의 class Mover() :
def __init__(self,width,height) : self.location = PVector(random(width), random(height)) self.velocity = PVector(random(-2,2), random(-2,2)) def update(self) : self.location.add(self.velocity) def display(self) : stroke(0) fill(175) ellipse(self.location.x, self.location.y, 16,16)

21 Mover 모듈 만들기: class 정의 2 tap을 통해 클래스 정의 def checkEdges(self) :
if (self.location.x > width) : self.location.x = 0 elif (self.location.x < 0) : self.location.x = width if (self.location.y > height) : self.location.y = 0; elif (self.location.y < 0) : self.location.y = height;

22 Sketch 내부 파일 tap을 통해 클래스 정의한 것은 Mover.py로 저 장됨

23 실행 실행 버튼을 작동시키면 실행창으로 결과가 진 행됨

24 Python 구현(가속도)

25 Mover 모듈 만들기: class 정의 1 가속도 변수를 생성하고 속도를 제한(벡터의 mag)를 제한하고 속도에 가속도를 add class Mover() : def __init__(self,width,height) : self.location = PVector(random(width), random(height)) self.velocity = PVector(random(-2,2), random(-2,2)) self.acceleration = PVector(-0.001,0.1) self.topspeed = 10 def update(self) : self.velocity .add(self.acceleration) self.velocity.limit(self.topspeed) self.location.add(self.velocity)

26 Mover 모듈 만들기: class 정의 2 기존가 동일 def display(self) : stroke(0)
fill(175) ellipse(self.location.x, self.location.y, 16,16) def checkEdges(self) : if (self.location.x > width) : self.location.x = 0 elif (self.location.x < 0) : self.location.x = width if (self.location.y > height) : self.location.y = 0; elif (self.location.y < 0) : self.location.y = height;

27

28 뉴튼의 운동법칙

29 힘(force)이란 물리학에서 힘(force)은 물체의 운동, 방향 또는 구조를 변화시키는 원인이다. 다른 말로, 힘은 질 량을 가진 물체의 속도를 변화시키는 요인이다.

30 질량/무게/밀도 질량(mass) : 어떤 물체가 가지고 있는 물질의 양(Kg 등)
무게(wgight): 중력이 해당 물체에 얼마나 큰 힘을 작용하는 지를 의미( 무게=질량*중력) 밀도(density) : 특정한 부피에서의 질량

31 뉴턴의 운동 1법칙 뉴턴의 운동 제1법칙은 물체는 외부의 알짜힘 (net force) 또는 합성힘이 없을 경우 등속도로 계속 움직인다는 법칙이다

32 뉴턴의 운동 2법칙 힘은 p(운동량)이고, 운동량은 질량과 속도, 가속도 는 속도/시간. 최종적으로 힘(알짜힘,net force)은 질량*가속도

33 뉴턴의 운동 3법칙 뉴턴의 제 3법칙은 힘이 다른 곳에 있는 물체에 게 영향을 줄 수 있을 때, 이의 결과로 대칭적인 현상이 발생한다는 의미이다. A -> B : Pvector f라는 힘을 준다면 A <- B : 반대인 Pvector.mult(f,-1)도 발생

34 힘 구현예시

35 실행 모듈 스케치 이름을 Mover_ch2, Mover.py로 코딩

36 실행 모듈 힘과 mover 초기 및 실행 Tab에 있는 파이썬 모듈 초기화 값 정의 힘을 생성해서 속도와 위치 갱신
import Mover i = 1 def init() : global mover, force mover = Mover.Mover(width,height) force = PVector(0,0.1) def setup() : size(200, 200) smooth() global i if i == 1 : init() i = 2 def draw() : mover.applyForce(force) mover.update() mover.display() mover.checkEdges() 초기화 값 정의 힘을 생성해서 속도와 위치 갱신

37 Mover 모듈 만들기: class 정의 1 초기화 및 가속도를 반영 생성자 정의 F=ma 힘을 가속도에 세팅
class Mover() : def __init__(self,width,height) : self.location = PVector(30, 30) self.velocity = PVector(0, 0) self.acceleration = PVector(0,0) self.topspeed = 10 self.mass =1.0 def applyForce(self, force) : self.acceleration = force 생성자 정의 F=ma 힘을 가속도에 세팅

38 Mover 모듈 만들기: class 정의 2 가속도를 속도와 위치에 추가 속도와 위치 갱신 def update(self) :
self.velocity .add(self.acceleration) self.location.add(self.velocity) def display(self) : stroke(0) fill(175) ellipse(self.location.x, self.location.y, 16,16) 속도와 위치 갱신

39 Mover 모듈 만들기: class 정의 3 경계를 벗어나면 다시 리바운드 처리 def checkEdges(self) :
if (self.location.x > width) : self.location.x = width self.velocity.y *= -1 elif (self.location.x < 0) : self.location.x = 0 if (self.location.y > height) : self.location.y = height


Download ppt "FORCE 이해하기 Moon Yong Joon."

Similar presentations


Ads by Google