brunch

You can make anything
by writing

C.S.Lewis

by 배용열 Nov 15. 2021

엔트리를 이용하여 도형 그리기

오늘은 엔트리를 이용하여 다양한 도형을 만들어주는 프로그램을 만들어 보겠습니다.

초등학교에서 배우는 도형은 다양한 종류가 있는데, 그중에서 각 도형의 정 n각형을 그리는 작품을 만들어 보았습니다. 이 프로그램이 그릴 수 있는 도형은 정 삼각형, 정사각형, 정오각형, 정육각형,... 등 도형 내부의 각의 크기가 모두 같은 도형을 그리도록 코딩하였습니다.

이번 코딩을 통해 학생들은 다양한 도형의 한 각의 크기를 직접 계산해 볼 수 있고, 막연히 정 n각형의 모습을 상상하는 것이 아니라 프로그램이 직접 그려주기 때문에 정 n각형의 모습을 정확하게 알 수 있습니다.

그럼 지금부터 도형 그려주는 프로그램을 만들어 보도록 하겠습니다.





엔트리에 로그인 후 작품 만들기에 들어가서 코딩할 준비를 합니다.

정 n각형(정사각형, 정오각형, 정육각형, 정 칠각형, 정팔각형 등등)을 그리기 위해서는 사용자가 어떤 도형을 그릴 것인지 입력 값을 받아야 하고, 그 값을 변수에 저장하여 도형을 그릴 때 사용해야 합니다.

따라서 변수를 하나 만들어 줍니다.


다음으로 오브젝트를 생성합니다. 오브젝트는 꼭짓점에 해당하는 점을 하나 추가해 줍니다.

점은 기존 오브젝트에는 없고 사용자가 만들어야 합니다. 만드는 방법은 아래와 같습니다.



이제는 점 오브젝트에 코딩을 해보도록 하겠습니다.

시작하기 버튼을 클릭했을 때 어떤 도형을 그릴지 물어보아야 합니다.

따라서 시작하기 버튼을 클릭했을 때 블록과 안녕을 묻고 대답 기다리기 블록을 가지고 와서 연결합니다. 그리고 대답은 처음에 만들어둔 변수 n으로 지정합니다. 여기까지 했을 때 완성된 모습은 아래와 같습니다.



이제 생성한 오브젝트가 이동하면서 그림을 그리도록 해보겠습니다.

붓 꾸러미에서 그리기 시작 블록을 가지고 옵니다. 그리는 방식은 사용자가 입력한 n만큼 방향 전환을 하면서 그려야 하며, 방향 전환하는 각도는 해당 도형의 한 각의 크기가 됩니다.

따라서 그리기 시작 블록 밑에 ~번 반복하기 블록을 가지고 오고, ~에 변수 n을 넣습니다. 

그리고 이동방향을 ~만큼 회전하기 블록을 가지고 와서 회전해야 하는 각도를 입력합니다. 여기서 회전해야 하는 각도는 360/n이 됩니다. 예를 들어 정사각형의 한 각의 크기는 90입니다. 식에 대입해 보면 360/4=90이 나오는 것을 알 수 있습니다.

360/n을 만들면 아래와 같습니다.


이 블록을 이동방향을 ~만큼 회전하기 블록에서 ~ 부분에 넣습니다. 그리고 오브젝트가 이동하도록 코딩합니다. 이동하도록 코딩하는 방법은 다양하게 있지만, 저는 이동하는 모습을 보여주기 위해서 


위와 같이 코딩하였습니다. 위와 같이 코딩하면 오브젝트가 이동하는 모습을 천천히 확인할 수 있습니다. 

이제 지금까지 만든 블록을 모드 결합하면 



위와 같은 모습이 됩니다.

이제 작동하는 모습을 살펴보겠습니다.






지금까지 사용자가 입력한 각의 개수를 가지고 있는 정 n각형 만들기 프로그램을 만들어 보았습니다.

감사합니다.

작가의 이전글 초등학교 5학년 수학 교과에서 활용할 수 있는 작품
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari