Timer Department of Digital Contents Sang Il Park.

Slides:



Advertisements
Similar presentations
2. 속력이 일정하게 증가하는 운동 Ⅲ.힘과 운동 2.여러 가지 운동. 도입 Ⅲ.힘과 운동 2. 여러 가지 운동 2. 속력이 일정하게 증가하는 운동.
Advertisements

1/ 편집 기능 사용하기 – 실습 1 글자 모양을 바꾸고 싶은 곳을 블록 설정 [ 글자 모양 ] 대화 상자에서 [ 글꼴 ] ‘ 궁서체 ’, [ 글자 색 ] ‘ 토마토색 ’ 으로 선택 → [ 설정 ] 클릭 → 글자 모양 변경.
1/37 한글에는 전문적인 문서 편집을 위한 고급 기능이 있다. 문서를 편리하게 수 정할 수 있도록 도와주는 찾기 / 찾아 바꾸기, 다른 위치로 이동할 수 있는 책 갈피와 하이퍼링크에 대해 알아보자. 그리고 자주 사용하는 서식을 미리 정 해 놓고 쓰는 스타일 활용법과 스타일이.
Keyboard Input. Announcement 휴강공고 : –4 월 12 일 ( 월요일 ) 수업 없음 – 보강일정 : 차후 공고 예정.
Matlab 조별 과제(360º 단진자) 2 조 작성자 : 문수민 프로그램 : 송진영, 나정민 발표자 : 백선미, 김준오.
메시지 처리의 기본 개념 메시지 발생된 이벤트의 종류와 정보를 전달하는 일종의 상수 값 윈도우 프로그래밍 가장 중요한 것은 메시지를 처리하는 것 윈도우 시스템 Application 이벤트 발생 메시지 전송 메시지 처리 화면에 출력.
우주공학 개론 손 명환 (Myong Hwan Sohn)
Department of Digital Contents Sang Il Park
서울시 ‘찾아가는 동 주민센터’ 사업 시행 이후 지역사회의 변화
1. 실험 목적 회전축에 대한 물체의 관성모멘트를 측정하고 이론적인 값과 비교한다 .
대림대학교 2017년도 1학기 강의 왕보현 순서도와 스크래치 5주차 대림대학교 2017년도 1학기 강의 왕보현
순차, 조건, 반복 이점숙 농대 뒷편 언덕을 넘어가며 같은 문제 다르게 해결 순차, 조건, 반복 이점숙
순차, 조건, 반복 이점숙 같은 문제 다르게 해결하기 순차, 조건, 반복 이점숙
풀 다운 메뉴 File > New “intent” 이름을 넣고 OK 를 클릭한다.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
1차시: 질량 및 탄성 제어하기 SPL3D VR 툴 설치하기 구체(공) 도형 추가 후 질량 부여하기 바닥 추가하기
4. Matlab-Simulink를 이용한 메카니즘 해석
(Numerical Analysis of Nonlinear Equation)
윤 홍 란 다이알로그(대화상자) 윤 홍 란
수치해석 6장 예제문제 환경공학과 천대길.
Lab 2 Guide: 교재 3장 그래픽 예제 ( 쪽) - 펜과 브러시로 그리기 - 튀는 공
MFC 프로그래밍에 관한 팁 / Keyboard / Timer
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
프로세싱 게임 메이킹 자바실험실 JavaLab.org 이동준.
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
2007 1학기 11 프로젝트 기초 실습.
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
분할 윈도, 다중 뷰… 영상 통신 연구실 권 동 진 발표 일 : 04월 27일.
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
제4장 제어 시스템의 성능.
Ⅲ. 이 차 방 정 식 1. 이차방정식과 그 풀이 2. 근 의 공 식.
프로그래밍 개요
FRF 해석 방법 문의 국민대학교 연락처 :
27장. 모듈화 프로그래밍.
24장. 파일 입출력.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
나만의 자료 형을 만들 수 있다. C는 int, float, char 등의 자료 형을 제공한다.
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
Xilinx및 Modelsim License설정하기
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
Moving Control in Web using Ajax Toolkit
3D 프린팅 프로그래밍 05 – 반복패턴 만들기 강사: 김영준 목원대학교 겸임교수.
아두이노 매트릭스 코딩 매트릭스 기본 명령어 실습 01차시 ㈜헬로앱스 김영준.
CHAPTER 11. Rotation 병진 운동과 회전 운동 일과 회전 운동 에너지 회전 변수 각 관련 성분은 벡터인가?
8장. spss statistics 20의 데이터 변환
CHAPTER 4. 2차원 및 3차원 운동 ( Motion in 2D & 3D )
PSD센서 명령어 이해하기 목차 재료준비 및 브레드 보드 배선 구성하기 PSD센서 명령어 이해 및 실습 응용 작품 만들기.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
균형이진탐색트리 이진 탐색(binary search)과 이진 탐색 트리(binary search tree)와의 차이점
2장. 일차원에서의 운동 2.1 평균 속도 2.2 순간 속도 2.3 분석 모형: 등속 운동하는 입자 2.4 가속도
에어 PHP 입문.
제 5장 제어 시스템의 성능 피드백 제어 시스템 과도 성능 (Transient Performance)
물체의 운동 Motion of a Particle
3.3-2 운동 에너지 학습 목표 1. 운동에너지의 정의를 설명할 수 있다. 2. 운동에너지의 크기를 구할 수 있다.
7장 원운동과 중력의 법칙.
기체상태와 기체분자 운동론!!!.
7. 힘과 운동 속력이 변하지 않는 운동.
프로그래밍 개론 Ⅰ-실습 2장 데이터와 식①.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
그래픽 컨트롤 (Graphic Control)
: 3차원에서 입자의 운동 방정식 제일 간단한 경우는 위치만의 함수 : 시간, 위치, 위치의 시간미분 의 함수
LABEL Print 설정 ▶ ZEBRA 설정 방법 1. 프린터 설정 LABEL
Ch8.기본적인 RL, RC 회로 자연응답, 강제응답, 시정수, 계단입력과 스위치 회로
BoardGame 보드게임 따라가기.
Presentation transcript:

Timer Department of Digital Contents Sang Il Park

TIMER 주기적인 작업을 지정하기

SetTimer 함수 매 설정된 시간 마다 WM_TIMER 메시지 발생 –id timer 의 id ( 예 : 0, 1, 2, … ) timer 가 여러 개 있을 경우 구분하기 위해 사용 –time: 알람을 울릴 주기 (=millisec) 1000 = 1 초 반드시 윈도우가 만들어 진 후 설정한다. – 주로 WM_CREATE 의 핸들러인 OnCreate 내부에 설정 void SetTimer (int id, int time, void * fp) ; 예 ) SetTimer(0, 100, NULL);

WM_TIMER 핸들러 nIDEvent – 현재 WM_TIMER 를 발생시킨 타이머의 id 코딩 예 ) afx_msg void OnTimer (int nIDEvent ) void CChildView::OnTimer(int nIDEvent) { if(nIDEvent == 0) { // 주기 마다 해 줘야 할 일 } void CChildView::OnTimer(int nIDEvent) { if(nIDEvent == 0) { // 주기 마다 해 줘야 할 일 }

코딩 연습 사각형이 죽 ~ 움직이는 장면 만들기 1. 위치 저장 변수 선언 CPoint m_pt; 2. 위치에 사각형그리기 (OnPaint) dc.Rectangle(m_pt.x, …); 3. WM_CREATE 핸들러 추가 (OnCreate) 4. OnCreate 함수에 Timer 세팅 SetTimer(0,30,NULL); 5. WM_TIMER 핸들러 추가 (OnTimer) if(nIDEvent == 0) ….. 1. 위치 저장 변수 선언 CPoint m_pt; 2. 위치에 사각형그리기 (OnPaint) dc.Rectangle(m_pt.x, …); 3. WM_CREATE 핸들러 추가 (OnCreate) 4. OnCreate 함수에 Timer 세팅 SetTimer(0,30,NULL); 5. WM_TIMER 핸들러 추가 (OnTimer) if(nIDEvent == 0) …..

Having more fun with the Timer Still Image –One Image Animation –Lots of Images! – Cézanne, Paul Still Life

Having more fun with the Timer 시간에 따라 그림이 변한다 = Dynamics 도형의 값 (values/properties)? –색–색 – 모양 – 위치 값 ( 숫자 )

운동학 ( = Dynamics) 도형의 위치를 의미하는 변수의 값을 시간에 따라 변화 시켜 주는 것 Ex) 속도 일정  재미 없다 ! 보다 복잡한 움직임은 ?

보다 재미있는 운동을 위한 약간의 물리 수업 ! 물체의 운동을 기술하기 위해 필요한 값들 – 위치 (position): 보통 p 로 표현 p(t) : t 초 때 위치 – 속도 (velocity): 위치의 시간에 따른 변화 (dp/dt) v(t)= p(t+1) – p(t) – 가속도 (acceleration): 속도의 시간에 따른 변화 (dv/dt) a(t) = v(t+1) – v(t) 시간에 따른 위치가 주어지면 속도, 가속도를 구할 수 있다. 그 반대는 ?

가속도가 주어지면 ? 물체의 운동을 기술하기 위해 필요한 값들 – 가속도 (acceleration): 보통 a 로 표현 a(t) : t 초 때 가속도 – 속도 (velocity): t 초 후 속도차이는 가속도 만큼 v(t+1) = v(t) + a(t)*1 초 – 위치 (position): t 초 후 위치 차이는 속도 만큼 p(t+1) = p(t) + v(t)*1 초

가속도를 주는 식 : 운동방정식 뉴튼의 운동 방정식 (Equation of Motion) – f = ma – 힘이 주어지면 가속도를 계산할 수 있다. – 가속도가 주어지면 Δt 초 후의 속도가 계산 가능 – 속도가 주어지면 Δt 초 후의 위치가 계산 가능 Ex) – 자유낙하 힘 = 중력가속도 g ( =-9.8m/sec 2 ) * 무게 – 스프링 힘 = 기준 위치와의 차이 f = k x (k: 스프링 상수 )

운동학을 프로그래밍하자 ! 1. 위치 / 속도 / 가속도를 저장할 변수를 만든다 ( m_p, m_v, m_a ) 2. 정해진 시간마다 다음의 일을 반복 1. 주어진 상태에서의 힘 계산 (ex ) 중력 or 스프링힘 ) 2. 가속도 값 갱신 ( a = f/m ) 3. 속도 값 갱신 ( v = v + a * dt ) 4. 위치 값 갱신 ( p = p + v * dt ) 5. 변경된 위치에 그림 그리기

코딩 연습 공 튕기기 아래와 같은 순서대로 각자 코딩 해 보자 1. 정해진 위치에서 공이 자유 낙하  a = g 2. 마우스로 클릭하면 공의 위치를 다시 세팅 3. 밑에 벽이 있어 공이 다시 튀겨 올라 간다 벽에 닿는 순간 다음과 같이 값을 변경  p(t+dt) = 벽과 닿은 위치  v(t+dt) = - e * v (t) (e: 반발계수, 보통 0.8) 4. 마우스로 공을 클릭하면 그 순간만 가속도 증가 (= 드리볼 )  a(t) = g + f (f: 임의의 값 )  이 후 다시 a = g 로 회귀 해야 함 아래와 같은 순서대로 각자 코딩 해 보자 1. 정해진 위치에서 공이 자유 낙하  a = g 2. 마우스로 클릭하면 공의 위치를 다시 세팅 3. 밑에 벽이 있어 공이 다시 튀겨 올라 간다 벽에 닿는 순간 다음과 같이 값을 변경  p(t+dt) = 벽과 닿은 위치  v(t+dt) = - e * v (t) (e: 반발계수, 보통 0.8) 4. 마우스로 공을 클릭하면 그 순간만 가속도 증가 (= 드리볼 )  a(t) = g + f (f: 임의의 값 )  이 후 다시 a = g 로 회귀 해야 함

더 다양한 예제를 찾아보자