반갑습니다!

저번 글에 안되는 경우도 많고 또, 많은 분들!이 피드백해주셔서
감사한 마음에 이것저것 해보고 있는데요
관련해서 부화, 파트너 포켓몬 거리 측정 방법에 대해 실험해봤습니다!

목차는
1.Check Point?
2.Check Point Rule
3.휴대폰 거리 인식 방법
4.최적 속도 및 효율
5.영상
순입니다. 아무리 고쳐봐도 3번 이론은 재미없고 설명만 어렵네요 ㅎ
영상은 자막 켜고 봐주세요!
정보만 보실분은 에서는 1,2,4,5번영상에서는 7분 이후만 보셔도 유용할 것 같습니다!


-실내에서 휴대폰을 들고(오른쪽 사진) 창가나 벽처럼 GPS가 잘 잡히는 부분에서 캐릭터가 반응할 때(왼쪽 사진)
그 지점과(왼쪽) 반응이 없던 지점(오른쪽)을 왔다갔다하면 캐릭터가 빠르게 왕복합니다
라는 주제를 가지고 왜 그런가에 대해 실험해본 뻘글입니다!

+++++++++++++++++시연 영상 추가!++++++++++++++++++++++++++
자막 켜주시고 봐주세요

-영상에서 좌상단에는 창문이 우하단에는 공유기가 위치합니다!
휴대폰 위치 변화에 따른 캐릭터의 움직임을 봐주시면 될 듯 합니다

-왕복을 할 때는 임의로 하는게 아니라 변화가 있는 지점들을 먼저 선정해야 합니다!
우선 집 중앙이나 아무 GPS 신호가 잘 닿지 않는 곳에 휴대폰을 위치하고
이후에 GPS가 잘 잡히는 곳으로 휴대폰을 이동합니다
그러면 캐릭터가 움직이게 되는데 그 지점에서 공유기를 향해 찬찬히 움직여줍니다                                
WIFI 세기 조절은 공유기랑 휴대폰 사이에 책상이나 철판 등으로 막아주는 방식으로 하고
공유기의 안테나를 조작해도 괜찮고 안테나 끝에다가 휴대폰을 대보셔도 괜찮습니다.
참고로 인식에 약 2초? 정도 텀이 있습니답

-정리하자면 크게 세 가지: 1.휴대폰의 위치, 2.WIFI 방해 요소 3.안테나 방향
등을 조작해 보시면 아마 확인 해보실 수 있을 듯 합니다!
 
                                 


  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

직접 가정하고 실험한 거라 오류가 있을 수 있으니 수정 사항있으면 말씀해주세요! 
언제나 피드백 환영하고, 재밌게 봐주세요!

+++혹시나 지하철이나 실내에서 GPS 튀는 것 때문에 밴 받으실까봐 걱정되는 경우에는
+++이용하실때 wifi를 끄거나 공유기를 창가와 최대한 가까이 위치하시면 현상이 덜 하실 것 같습니다!

1.Check Point?

- 게임을 진행하다 보면 왼쪽 상단에 가끔 하얀 포켓볼이 뜨곤 합니다
해서 이게 무엇일까 하는 호기심에서 이번 측정을 실험하게 되었습니다
저는 이걸 check point라 정했습니다!

1.png
-기본적으로 로딩 상황이나, 포켓몬이 등장, 도주, 포획 등의 상황에서 발생합니다

2.png
-포케스탑에 접근, 클릭, 획득, 벗어남 등의 상황에서도 발생합니다.

-이 하얀 포켓볼을 check point라 명시한 것은
이 지점들의 간격이 계산되어 거리가 측정되기 때문입니다

2.Check Point Rule

-그럼 정확한 등장 조건을 살펴볼까요?
그림1.png
-check point 발생 조건은 크게 플레이어의 동작과 휴대폰 내부의 상황으로 구분할 수 있습니다.

-휴대폰 내부 상황으로는 포켓몬, 포케스탑의 등장, 데이터 로딩 등을 들 수 있습니다.
-여기서 중요한 부분이 바로 이 플레이어의 동작 조건입니다.
대로변을 기준으로 GPS 절전 모드 상태로 직선 코스 약 7m를 이동할 때마다,
가만히 있을 경우 27초에 한번씩 check point가 발생합니다

-여기서 주목할 점은 7m를 이동할 때마다 인데
차량 속도 위반과 비슷하게 두 지점의 사이 시간이 너무 빠르면
경고 메시지를 띄우게 됩니다.

-여기까지가 거리 판단 규칙이였습니다.
그럼 휴대폰은 어떻게 거리를 포켓몬 고에게 인식하는 걸까요?

3.휴대폰 거리 인식 방법

-흔히들 위치는 GPS만을 사용한다고 생각합니다만 GPS는 그렇게 정확한 수치를 측정하지 못합니다.
직진성이 강하고 벽을 뚫을 수가 없어서 실내에서는 인식이 어렵습니다.
해서 실내 위치 측정이나, 실외에서도 보다 정밀한 위치 인식을 위해 wifi를 사용합니다

4.png
-여담이지만, 차량의 네비게이션 또한 오차 범위가 20m 정도, 그러니깐 차량의 6배 정도 길이?로
실제로는 보정을 거쳐서 정확해 보이는 것이지 그렇게 정확하지 않다고 합니다

5.png
-휴대폰의 지도 설정을 보면 다음과 같은 옵션을 확인할 수 있습니다.
-GPS, -GPS+wifi, -wifi
-세번째 사진은 GPS만 켜고 실내에 있을 때 사진이고, 네번째는 GPS와 wifi를 함께 적용한 사진입니다.
GPS 만으로는 위치가 인식되지 않는 걸 확인할 수 있습니다.

6.png
-간단히 wifi를 통해 어떻게 위치가 인식되는 가를 살펴보겠습니다.
삼각법을 사용해 여러 wifi 지점들을 찍고 거기서부터의 거리를 계산해 실내의 위치를 찍게 됩니다.
공유기에는 MAC 주소라는게 있는데 인터넷의 물리적 주소로 실제 장소의 위치 데이터를 포함합니다.
이 공유기의 교점을 구하면 휴대폰의 위치도 구할 수 있게 된다고 보고 
해서 저는 공유기를 조작하면 휴대폰의 위치를 약간 바꿀 수 있단 가설을 세웠습니다.
위 사진은 공유기와 휴대폰의 거리를 조절해가며 wifi 신호 세기를 측정한 결과입니다.
빨강이 제가 사용하는 wifi 입니다

4.최적 효율 및 속도

7.png
-앞서 말한 원리를 이용해 진행한 결과입니다.

-휴대폰을 약 70cm 간격의 창가와 공유기 사이에 위치시켰고, 사이에서 왕복운동을 진행했습니다.
제 경우에는 이 방법으로 한 번 이동할 때, 캐릭터가 5m 정도씩 이동해서 두번 이동하면 10m,
즉 check point 발생 조건인 7m를 넘기게 되어 check point가 발생했습니다

-공식적인 제한 속도가 2.91m/s 정도이니 check point가 3초에 두번 이상 발생하면 경고가 뜹니다.
또 이 경고를 받으면 그 4분 동안의 거리를 초기화되는 듯 합니다.

-참고로 거리 갱신 주기는 3~4분입니다.

-최적의 속도는 GPS 결과 기준 3m/s으로 이 속도를 유지하면 4분에 최고 0.46km인가 까지 줄어듭니다!

5.관련 영상
자막 켜주시고 봐주세요

-저번에 질러논 글 빨리 마무리 하고 싶은데 ㅜ 계속 일이 겹쳐서 담주까지는 힘들 꺼 같습니다
틈틈히 생각해서 확실히 하도록 하겠습니다!

-이번에 쓰는 글도 저번 제작 계획의 일부로 혹시 더 괜찮은 아이디어나 방법 있으면 공유 부탁드립니다!
-하고 아래 진행했던 나름 프로젝트 관련해서나 새로운 거 실험해보고 싶으신 부분 피드백주시면 감사하겠습니다!

------------------진행중 프로젝트--------------------
  [포켓몬 부화] 공대생의 알까기
    -알까기 도구 만들어보기

------------------진행했던 프로젝트--------------------
    -행복의 알 극한효율로 써보기

 [커브, 직구 궤적 모음]
    -포켓볼 던지는 궤적 모아보기