- 운영팀/운영자
- 2022-09-23 16:22:02
- 조회수 87
https://youtu.be/Sdgep-t5Q2E
1. 집합으로 간단한 도형 만들기 : 정/직/구/원 !
지난 시간에 학습했던 정사각기둥과 원기둥 명령어를 복습해보자.
예를 들어, 집합{정(10, 10, 0, 2)&&z==1}은 아래의 그림과 같음을 알 수 있다.
이제 직사각기둥과 구를 만들어주는 명령을 살펴보자. 특히 명령어를 입력할 때 고려해야하는 사항이 4가지로 늘어났음을 주의하고 각각의 기능을 정확하게 숙지해야한다.
활동1. 다음은 반구(구의 절반)의 모습이다. 다음 코드의 ??? 부분을 고치거나 조건들을 추가하여 반구 2개를 만들어보자. (위치와 반지름은 바꾸지 마세요.)
활동2. 아래의 그림과 같이 집합{직(a, b, c, d, e)} 명령어를 사용하여 두 개의 직육면체를 만들어보자. 만약 조건을 한 번에 다 적용하려고 했다면, 안 되는 이유를 댓글로 설명해보자.(집합의 개념)
2. 정/직/구/원의 확장
우리는 앞서 정, 직, 구, 원의 명령어에 조건을 추가하여 다양한 도형들을 만들어 낼 수 있음을 살펴보았다. 그런데 꼭 a, b, c, d에는 숫자만 넣어야할까? 좀 더 깊은 탐구를 위해 아래의 예시를 살펴보자. 아래의 코드를 실행하면 다음과 같이 피라미드를 뒤집어 놓은 모양이 나온다.
코드를 자세히 살펴보면 무언가 규칙성이 보이는 것 같다. 다음의 코드 를 살펴보자.
집합 {정(0, 0, 0, z) && z<6} 명령이 실행될 때에는 z=-63부터 z=63 까지 한 층씩 올라가면서 각 z층에 정(0, 0, 0, z) 조건에 맞는 정사각형을 만든다. z<6조건을 각각 살펴보자. z=5는 5층(위의 그림의 맨 윗층)을
뜻하고 정(0, ,0 0, z)에 z=5를 대입하면 정(0, 0, 5)이므로 5층에서는 중 심으로부터 길이가 5씩 늘어난 정사각형이 만들어진다. 같은 방법으로 4층에는 정(0, 0, 0, 4), 3층에는 정(0, 0, 0, 3), ... , 1층에는 정(0, 0, 0, 1)의 형태로 나타나게 되는 것이다. 따라서 1층에서는 중심으로부터 1씩 늘어 난 길이 3의 정사각형 모양이 형성되었다.
한편, z=0 즉 0층인 경우에는 정(0, 0, 0, 0)조건 에 의해 큐브 하나가 생기지만 0층이기에 땅을 파보아야 알 수 있다.
그렇다면 뒤집히지 않은 피라미드는 어떻게 만들 수 있을까? 앞서 살펴 보았듯이 z=-63부터 z=63까지 한 층 한 층 다 적용되는 것을 활용해 보면 단서를 찾을 수 있다. 다음의 코드를 살펴보자.
z>6인 경우에는 정(0, 0, 0, 5-z)에 z를 대입하면 길이가 음수가 나오므 로 불가능하기에 z≤5 인 경우를 살펴보자. z=5이면 정(0, 0, 0, 0)의 5 층의 모양, 즉 큐브 1개가 생긴다. 마찬가지로 z=4이면 정(0, 0, 0, 1)이 되어 중심으로부터 1칸씩 늘어난 가로세로 3칸의 정사각형이 4층에 생 기고 같은 방법으로 z=1까지 이해할 수 있다. z=0인 경우에는 정(0, 0, 0, 5)에서 1+(5×2)=11, 즉 가로세로 11칸의 정사각형이 0층에 만들 어져 위와 같은 결과가 나오게 된 것이다. 또한 집합{원(a, b, c, d)} 명령어를 비슷한 방법으로 사용하면 원뿔도 만들 수 있다.
활동3을 하기에 앞서 이해를 돕기 위해 한 가지를 더 소개한다. beginxyz의 옆에 ; 를 붙여 beginxyz;를 입력하면 다음과 같이 좌표를 알아볼 수 있다. 또한 그 옆에 beginxyz; item=4와 같이 아이템을 바꾸는 명령어를 입력하면 땅의 아이템이 변함을 알 수 있다.
활동3. 아래의 그림과 위치와 층수까지 완벽히 같도록 5층짜리 피라미드를 지상에만 만들어 보자. 집합{정(a, b, c, d)}의 a, b, c, d에 대한 정확한 이해를 보기 위한 것이니 그림을 자세히 보고 그림과 똑같이 만들어보자. (TIP을 참조하세요.)
단, 집합{정(?, ?, ?, ?)} 명령어를 한 번만 사용하되 조건은 추가하여 지하에는 없도록 해야한다.
활동4. 다음의 코드와 그림은 집합{정(a, b, c, d)}에서 d에 15-0.25*z와 15-2*z를 적용했을때의 모습이다. 이처럼 z앞에 계수를 곱해 자신이 원하는 탑모양의 뾰족한 피라미드와 고분 모양의 완만한 피라미드를 2개 자유롭게 만들어보자.
①위치와 모양, item은 자유
②집합 명령어는 2번 사용(2개의 피라미드)
https://youtu.be/EvJ2OboQF1I
3. 도형의 내부 꾸미기
내가 만든 피라미드의 안은 어떠할까? 다음의 코드와 구멍을 뚫어본 모습을 살펴보자. 코드를 실행시켜서 직접 탐구해보기 바란다.
안이 꽉 차있다. 그렇다면 피라미드 안을 비워보려면 어떻게 해야할까? 일일이 안에 들어가서 다 구멍을 뚫으면 되는 것일까? 터틀크래프트에서 item=0은 투명한 블록으로서 0번 아이템을 사용하 면 집합의 조건을 만족시키는 원소들이 투명한 것으로 출력된다. 다음 의 코드를 실행시키기 전에 어떻게 그려질 것인지 상상해보고 다음 사항을 하나 유념해두자.
위를 보면 알 수 있듯이 해당코드는 먼저 좀 더 작은 투명 피라미드 (item=0)을 만들고 그다음 겉에 더 큰 피라미드를 만들게 된다. 2번 줄과 3번 줄의 순서를 바꾸면 다시 피라미드는 속이 꽉 차는 것을 알 수 있다. 즉, 먼저 특정좌표에 채워진 아이템은 밑에 다시 명령어를 입력하여 변형시켜도 변하지 않음을 뜻한다. 따라서 이번 활동을 할 때는 순서에 반드시 유념하여 코딩을 해야 한다.
활동5. 피라미드를 크게(15층이상), 그리고 안에 공간이 있도록 만들어보자. 그리고 멀리 떨어뜨려 원뿔안에도 공간이 있도록 만들어보자. (가능하면 입구도 만들어 보세요 :) )
창의과제2. 화산 활동을 시작하려는 활화산의 모습을 상상해보자. 지금까지 배운 명령어들을 활용하여 안에 뜨거운 용암이 있도록 활화산을 만들어보자.(창의성을 발휘해 독특한 모양을 만들어보자)
아이템 번호!