더북(TheBook)


블록으로 각도를 구하는 원리

원점부터 주어진 좌표까지를 이은 선분이 x축과 이루는 각도를 θ라고 하면 가 됩니다. 만약 θ를 모르면 tan의 역함수인 arctan와 주어진 좌푯값을 이용하여 θ를 구할 수 있습니다.

 

 

‘arctan’는 앱 인벤터에서 ‘atan2’로 표현됩니다. 시계의 중심과 0을 양끝으로 하는 선분과 시계의 중심과 손가락의 위치를 양끝으로 하는 선분이 이루는 각도인 θ를 구하기 위해서는 캔버스의 왼쪽 상단에 있는 (0, 0) 기준점을 시계 중앙으로 옮겨야 합니다. 다음 그림과 같이 기준점을 캔버스의 왼쪽 상단에서 중앙으로 바꾸면 캔버스에서 드래그를 멈춘 지점의 좌표는 (X, Y)에서 (X-160, 160-Y)로 바뀝니다.

 

 

바뀐 기준점에 맞게 변환한 좌푯값인 (X-160, 160-Y)를 블록의 y, x 값으로 지정하면 ‘전역변수 현재각도’에 θ가 저장됩니다. θ 값을 확인하기 위해 다음과 같이 현재각도가 ‘레이블1’에 출력되도록 블록을 구성한 후 스마트폰에서 시계 중앙을 기준으로 반시계 방향으로 원을 그리며 캔버스를 드래그해 보면, 시계의 왼쪽을 드래그하는 동안 0~-180이 출력되고 오른쪽을 드래그하는 동안 180~0이 출력되는 것을 확인할 수 있습니다.

 

 

‘tan’는 중학교, ‘역함수’는 고등학교 수학에 처음 등장하는 개념이기 때문에 아직 tan와 역함수를 배우지 않았다면 이 설명이 어려울 수 있습니다. 설명이 이해되지 않더라도 블록을 이용하여 각도를 구한다는 점만 알고 넘어가면 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.