WinAPI 42 Camera (3)

CJB_ny·2022년 9월 21일
0

WinAPI

목록 보기
43/79
post-thumbnail

오늘 배운거 👍👍👍

  • ❗❗ 거 = 속 * 시

    공식을 통해 거리가 멀든 작든 클릭할때마다의 거리 차이값을 통해 속력을 구한다음에 해당 시간 동안 그 거리를 다 움직일 수 있도록 SetLookAtPos함수를 통해 구현했다.

  • 가속도 Acceleration

    가속도의 방향은 힘을 받는 방향이다.

  • 등속도 운동

    속도의 변화가 일정하다면은 등가속도 운동이라한다.

  • 가속도 운동

    속도의 변화가 있는 운동을 가속도 운동이라한다.


에러났던 부분 ❗❗❗

나도 이부분 수정해야하는데 강의에서도 같은 에러가 났다.

(나만 이런게 아니였다)

왼족 하단이 현재 위치이고, 오른쪽 위가 target(가야할 위치)인데

2초에 걸쳐서 가려면은 거리값을 알야아한다.

거리가 멀건 가깝건 가는데 시간이 '일정'해져버린 것이다.

SetLookAt함수를 수정할 것인데

LookAt이 '목적지'이고 prev는 이전에 셋팅된 녀석이다.

이렇게 거리를 Length함수를 구했는데 이거리를 2초에 걸쳐서 갈 것이다.

거리 = 속도 * 시간 이니까

"타겟을 따라가는데 '속도' = moveDis(거리) / 타겟을 따라가는데 걸리는 '시간' " 이다.

이렇게 더 클 경우에만 _corPos보정 위치를 그냥 lookAtPos로 바꿔버리고

시간이 작을 경우에만 쫒아가도록 바꿔주자.

최종적으로 이렇게 변경해주도록 하고

등속도 운동

등속도 개념으로다가 설명을 한 것이다.

inf 값 나왔던 이유 ❗❗❗

SetLookAtPos 함수에서 _getTargetSpeed가 inf값이 나왔는데 무한대이다.

_getTargetTime을 헤더파일에서 2.f로 선언해주었는데

생성자 초기화 부분에서 다시 0.f로 선언 해주어서 발생한 문제이다.

처음에는 빨랐다가

점점점점 속도가 줄어드는 효과 구현해보도록 하자.

전체 이동거리는 똑같다.

하단 직사각형은 이동해야할 거리양 인데, 지금 구현한게 밑에 직사각형 모양으로 이동한 것이고

위에 직삼각형처럼 이동할 수도 있을 것이다.

여기 기울기는 '속도 감소양'은 기울기를 통해서 가속도를 구해야할 것이고,

매 순간순간 내가 이동해야할 '거리'는 '가속도 운동'을 통해서 매 프레임 잘라놓은 양만큼 이동하는 것이다.

이게 쌓이면 면적이 나오니까...

가속도 ❗❗❗

가속도 운동

가속도 표현

가속도 원인

등가속도 운동

속도의 변화량이 일정한 운동.

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글