{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
""
]
},
{
"cell_type": "markdown",
"source": [
"\n",
"# **[작도와 경사하강법을 활용한 삼각형의 페르마 점에 대한 접근(Approach to the Fermat point of a triangle using construction and gradient descent)(2023.12.20)(민은기)](https://min7014.github.io/math20231203002.html)**\n"
],
"metadata": {
"id": "0lqYMJH5UaYa"
}
},
{
"cell_type": "markdown",
"source": [
"이 자료는 2021학년도 경상남도교육청 경남수학문화관의 체험프로그램 개발의 기반이 되었던 내용이었습니다.\n",
"\n",
"내용에 오탈자나 의견 있으시면 아래 오픈 채팅방에 글 남겨주시면 고맙겠습니다.\n"
],
"metadata": {
"id": "VAjKN_5km4nV"
}
},
{
"cell_type": "markdown",
"source": [
"This material was the basis for the development of the experience program of the Gyeongnam Mathematics Culture Center of the Gyeongsangnam-do Office of Education for the 2021 school year.\n",
"\n",
"If you have any typos or comments in the content, please leave a message in the open chat room below.\n",
"\n"
],
"metadata": {
"id": "x9qFjlAPUDCv"
}
},
{
"cell_type": "markdown",
"source": [
"https://open.kakao.com/o/s3m08dTb"
],
"metadata": {
"id": "MRDHwvJDZ56r"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "ChvpvLRsK7_n"
}
},
{
"cell_type": "markdown",
"source": [
"# <자료예시(Example of data)>"
],
"metadata": {
"id": "hbvLjk40Sszu"
}
},
{
"cell_type": "markdown",
"source": [
"https://www.geogebra.org/m/v57bpjeh"
],
"metadata": {
"id": "OL7zJC5PdY9d"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "ZP8u6Rp7Soa8"
}
},
{
"cell_type": "markdown",
"source": [
"## Geogebra 영문버전 설치(Install Geogebra English version)"
],
"metadata": {
"id": "IwRQbji8F0Br"
}
},
{
"cell_type": "markdown",
"source": [
"[Geogebra 영문버전 설치(Install Geogebra English version)](https://colab.research.google.com/github/min7014/2024/blob/main/2024042001.ipynb#scrollTo=rT7SiENafUWt)"
],
"metadata": {
"id": "zG5zpinwF4xP"
}
},
{
"cell_type": "markdown",
"source": [
"아래 강의록을 시작하기 전에 우선 위 링크를 클릭하여 Geogebra 영문버전을 설치하시기 바랍니다."
],
"metadata": {
"id": "v2WAjV7gF8C8"
}
},
{
"cell_type": "markdown",
"source": [
"Before starting the lecture notes below, please click the link above to install the English version of Geogebra."
],
"metadata": {
"id": "SwXxKw9AF88n"
}
},
{
"cell_type": "markdown",
"source": [
"# 머릿말(Foreword)"
],
"metadata": {
"id": "-oOfIxL4S2kn"
}
},
{
"cell_type": "markdown",
"source": [
"삼각형의 페르마 점(Fermat point)은 삼각형의 세 꼭짓점에서 거리의 합이 최소가 되는 점을 말한다. 이를 두 가지 시각에서 접근하려고 한다. 하나의 시각은 작도를 활용하여 페르마 점을 작도하는 방법이다. 다른 시각은 인공지능에 쓰이는 경사하강법을 활용하여 페르마 점에 다가가는 방법이다. 이 두 가지를 수학공학도구인 Geogebra를 활용하여 만들어 보겠다."
],
"metadata": {
"id": "FiPqKZYQDDhE"
}
},
{
"cell_type": "markdown",
"source": [
"The Fermat point of a triangle is the point where the sum of the distances from the three vertices of the triangle is minimum. I would like to approach this from two perspectives. One way is to construct the Fermat point using a construction diagram. Another way is to approach the Fermat point by using gradient descent, which is used in artificial intelligence. We will create these two using Geogebra, a mathematical engineering tool."
],
"metadata": {
"id": "FLwrZVgbWu6t"
}
},
{
"cell_type": "markdown",
"source": [
"# 작도를 활용한 삼각형의 페르마 점(Fermat point)에 대한 접근(Approach to the Fermat point of a triangle using construction)"
],
"metadata": {
"id": "_yswV05So_E1"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "3hOZtnssFR16"
}
},
{
"cell_type": "markdown",
"source": [
"Geogebra를 실행시킨다."
],
"metadata": {
"id": "2YmsVVGnDHGw"
}
},
{
"cell_type": "markdown",
"source": [
"Run Geogebra."
],
"metadata": {
"id": "sC6epUOOXSvM"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "8Y21nH_1EndN"
}
},
{
"cell_type": "markdown",
"source": [
"[Option]을 선택하고 [Font Size]를 선택한 다음, [24pt]를 선택한다."
],
"metadata": {
"id": "w-TmGvHHFUl3"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Option], select [Font Size], and then select [24pt]."
],
"metadata": {
"id": "o1Er8DDcXg8V"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "mrguNRuvEyHk"
}
},
{
"cell_type": "markdown",
"source": [
"[Graphics]에서 마우스 오른쪽 버튼을 누르고 [Axes]를 선택하여 Axes를 보이지 않게 한다."
],
"metadata": {
"id": "-9WAqeZWGBxk"
}
},
{
"cell_type": "markdown",
"source": [
"Right-click in [Graphics] and select [Axes] to make the Axes invisible."
],
"metadata": {
"id": "zmRsc7BwXtvE"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "kKiiLVwRFBA2"
}
},
{
"cell_type": "markdown",
"source": [
"[Graphics]에서 마우스 오른쪽 버튼을 누르고 [Grid]를 선택하여 Grid를 보이지 않게 한다."
],
"metadata": {
"id": "nKz7i7HGF9uW"
}
},
{
"cell_type": "markdown",
"source": [
"Right-click in [Graphics] and select [Grid] to make the Grid invisible."
],
"metadata": {
"id": "evMzIidZX2Od"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "rFlHQ7h9G7Wt"
}
},
{
"cell_type": "markdown",
"source": [
"[Point] 도구를 선택한다."
],
"metadata": {
"id": "06bXify-Ggnh"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Point] tool."
],
"metadata": {
"id": "i-eUnEfSZD3Y"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "w8p706bKGpjv"
}
},
{
"cell_type": "markdown",
"source": [
"[Graphics] 창에 마우스를 클릭하여 세 점을 만든다. 차례대로 $\\rm{A}$, $\\rm{B}$, $\\rm{C}$ 의 이름이 붙여진다. 점의 좌표가 그림과 일치할 필요는 없다. 다만 상대적인 위치만 그림과 같이 해주면 된다."
],
"metadata": {
"id": "a6CutqFSHYZq"
}
},
{
"cell_type": "markdown",
"source": [
"Click the mouse in the [Graphics] window to create three dots. They are named $\\rm{A}$, $\\rm{B}$, and $\\rm{C}$ in order. The coordinates of the points do not have to match the picture. However, you only need to set the relative positions as shown in the picture."
],
"metadata": {
"id": "cie7TuQxZKvT"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "2zoFcY7UJNBj"
}
},
{
"cell_type": "markdown",
"source": [
"점 $\\rm{A}$를 선택하고 오른쪽 마우스를 누르고, [Object Properties]를 선택한다."
],
"metadata": {
"id": "2MLrrzDZJof6"
}
},
{
"cell_type": "markdown",
"source": [
"Select point $\\rm{A}$, right-click, and select [Object Properties]."
],
"metadata": {
"id": "iPkxAkObZVQi"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "KqimufQANTMT"
}
},
{
"cell_type": "markdown",
"source": [
"[Properties] 창이 나타난다. 하지만, [Graphics] 창이 좁아진다. [Properties] 창의 닫기 버튼(x 모양) 근처에 가면 [Graphics] 창을 따로 띄울 수 있는 버튼이 나타난다. 이 버튼을 선택한다."
],
"metadata": {
"id": "_mT1AtZ8L1Bn"
}
},
{
"cell_type": "markdown",
"source": [
"[Properties] window appears. However, [Graphics] window becomes narrow. When you go near the close button (x shape) of [Properties] window, a button to open [Graphics] window appears. Select this button."
],
"metadata": {
"id": "oYtele-eZbR9"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "YlA_ZXIMbvWu"
}
},
{
"cell_type": "markdown",
"source": [
"[Proferences] 창이 새로 나타났다. [Basic]탭을 선택한다. [Caption]에 \\$\\mathrm{A}\\$ 를 입력한다. 여기서 \\ 은 한글 키보드에서 ₩에 해당한다. \\$ Latex formula \\$ 형식으로 LaTex을 사용할 수 있다. [Show Label] 에 아래쪽 걱쇠를 선택하고 [Caption]을 선택한다. $\\rm{A}$ 가 수학책에서 보아왔던 점 이름 형태로 보인다."
],
"metadata": {
"id": "O57joLGxHuCy"
}
},
{
"cell_type": "markdown",
"source": [
"A new [Proferences] window appears. Select the [Basic] tab. Enter \\$\\mathrm{A}\\$ in [Caption]. Here \\ corresponds to ₩ on the Korean keyboard. You can use LaTex in the \\$ Latex formula \\$ format. Select the bottom arrow for [Show Label] and select [Caption]. $\\rm{A}$ appears in the form of point names seen in math books."
],
"metadata": {
"id": "I-5R0HEgaCGN"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "ljzyn66VSr45"
}
},
{
"cell_type": "markdown",
"source": [
"점 $\\rm{B}$, 점 $\\rm{C}$에 각각 \\$\\mathrm{B}\\$, \\$\\mathrm{C}\\$ 를 입력하여 마찬가지 방식으로 수학책에서 보아왔던 형태로 바꿔준다."
],
"metadata": {
"id": "pTLitvrRStkk"
}
},
{
"cell_type": "markdown",
"source": [
"Enter \\$\\mathrm{B}\\$ and \\$\\mathrm{C}\\$ into point $\\rm{B}$ and point $\\rm{C}$, respectively, to form the form seen in the math book in the same way. Change it to"
],
"metadata": {
"id": "DvFKihAaaS3Y"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "-qm_UGK_xJ6W"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한다. 점 $\\rm{A}$, 점 $\\rm{B}$, 점 $\\rm{C}$를 원하는 위치로 이동시킬 수 있다."
],
"metadata": {
"id": "Qje_7nd2xomf"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Move] tool. Point $\\rm{A}$, point $\\rm{B}$, and point $\\rm{C}$ can be moved to the desired location."
],
"metadata": {
"id": "En7we_uVae_Z"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "NjrZTbbL5jbW"
}
},
{
"cell_type": "markdown",
"source": [
"[View]를 선택하고 [Graphics 2]를 선택하여 [Graphics 2]가 나타나도록 한다."
],
"metadata": {
"id": "-2sB-Sr60DqC"
}
},
{
"cell_type": "markdown",
"source": [
"Select [View] and select [Graphics 2] so that [Graphics 2] appears."
],
"metadata": {
"id": "c4fDjEN-b9ph"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "tDXcsGz50ZJE"
}
},
{
"cell_type": "markdown",
"source": [
"Geogebra의 창의 모서리를 선택하여 보기 좋게 크기를 조절한다. 또한, [Move Graphics View] 도구를 선택하고 [Graphics] 창의 중간에(x자 표시) 마우스의 왼쪽 버튼을 누른 상태에서 드래그해서 [Graphics] 창에 있는 모든 기하적 대상이 전제적으로 보기 좋게 위치시켜 놓는다. [Graphics]에서 Axes와 Grid를 보이지 않게 했던 방식으로 [Graphics 2] 창의 Axes를 보이지 않게 한다."
],
"metadata": {
"id": "rTPSblLq35Tc"
}
},
{
"cell_type": "markdown",
"source": [
"Select a corner of the Geogebra window and resize it to make it look better. Also, select the [Move Graphics View] tool and drag while pressing the left mouse button in the middle of the [Graphics] window (indicated by an x) to position all geometric objects in [Graphics] window so that they look good. . Make the Axes of [Graphics 2] window invisible the same way you made the Axes and Grid invisible in [Graphics]."
],
"metadata": {
"id": "2EkMgeKUcE86"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "dQORnIGe51jE"
}
},
{
"cell_type": "markdown",
"source": [
"[Check Box] 도구를 선택한다."
],
"metadata": {
"id": "qJdQxE9g7th-"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Check Box] tool."
],
"metadata": {
"id": "IKUpYZ_4O6lG"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "ktgn-EvP8kre"
}
},
{
"cell_type": "markdown",
"source": [
"[Ctrl]를 누른상태에서 기하적 대상을 선택하면 한번에 선택 할 수 있다. [Ctrl]를 누른 상태에서 점 $\\rm{A}$, 점 $\\rm{B}$, 점 $\\rm{C}$를 선택한다. Ctrl 키를 누른 상태를 해제한다."
],
"metadata": {
"id": "qusoy5Ty8mW-"
}
},
{
"cell_type": "markdown",
"source": [
"You can select a geometric object at once by holding down [Ctrl] and selecting it. While holding down [Ctrl], select point $\\rm{A}$, point $\\rm{B}$, and point $\\rm{C}$. Release the Ctrl key."
],
"metadata": {
"id": "hUw9Z2U_PM9M"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "tC3IIakR-Bru"
}
},
{
"cell_type": "markdown",
"source": [
"[Graphics 2] 창에 x자 표시한 위치를 마우스로 선택하면, [Check Box to Show/Hide Objects] 창이 나타난다. [Caption]에 1을 입력하고 [Apply] 버튼을 누르면, [Graphics 2] 창에 Check Box 1이 나타난다. Check Box 1의 실제 객체 이름은 a이고 체크된 상태의 논리값이 true로 되어있음을 확인 할 수 있다."
],
"metadata": {
"id": "WYlWjJVT-C7Z"
}
},
{
"cell_type": "markdown",
"source": [
"Select the x-marked location in [Graphics 2] window with the mouse, [Check Box to Show/Hide Objects] window appears. When you enter 1 in [Caption] and press [Apply] button, Check Box 1 appears in [Graphics 2] window. You can confirm that the actual object name of Check Box 1 is a and the logical value of the checked state is true."
],
"metadata": {
"id": "xJnTiv2LPcoV"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "_o_EeE6k_68g"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한 상태에서, [Graphics 2] 창의 Check Box 1를 체크 해제한다. [Graphics] 창의 점들이 안 보이게 된다. 다시 체크하면 보여진다. [Check Box] 도구를 사용하면 만들어지는 대상들을 순서에 맞추어 보이고 보이지 않게 할 수 있다. 수학은 논리적인 과정이 중요하다. 따라서 수학에서 [Check Box]는 아주 유용한 도구가 된다."
],
"metadata": {
"id": "fMlmwj1QASpS"
}
},
{
"cell_type": "markdown",
"source": [
"With [Move] tool selected, uncheck Check Box 1 in the [Graphics 2] window. [Graphics] The dots in the window become invisible. It will be visible if you check again. Using [Check Box] tool, you can make the created objects visible and invisible in order. In mathematics, logical processes are important. Therefore, [Check Box] becomes a very useful tool in mathematics."
],
"metadata": {
"id": "G-K9jquPP7kF"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "4Ca5R_x7KQwg"
}
},
{
"cell_type": "markdown",
"source": [
"[Point] 도구를 선택한 후, [Graphics] 창을 선택한다. 점 $\\rm{D}$가 만들어진다."
],
"metadata": {
"id": "IdF-G3H0KS5p"
}
},
{
"cell_type": "markdown",
"source": [
"After selecting [Point] tool, select [Graphics] window. A point $\\rm{D}$ is created."
],
"metadata": {
"id": "7eXvYafMQNPk"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "iDrEUnVKJUyd"
}
},
{
"cell_type": "markdown",
"source": [
"이 수학공학도구자료를 만들때 페르마점을 점 $\\rm{P}$로 정하고 임시적인 점을 점 $\\rm{P'}$로 정하여 자료를 만들려고 합니다. 따라서, 점 $\\rm{D}$의 이름을 $\\rm{P'}$으로 변경하겠습니다. 점 $\\rm{D}$에서 오른쪽 마우스를 누르고 [Object Properties]를 선택하여, [Preferences] 창이 나타나도록 한다."
],
"metadata": {
"id": "ZxkYIo5kp9ks"
}
},
{
"cell_type": "markdown",
"source": [
"When creating this mathematical engineering tool data, we will set the Fermat point as the point $\\rm{P}$ and set the temporary point as the point $\\rm{P'}$ to create the data. Right-click on the point $\\rm{D}$ and select [Object Properties] to display [Preferences] window."
],
"metadata": {
"id": "9yMxTgIgQYlT"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "AnqBbiV6KDMY"
}
},
{
"cell_type": "markdown",
"source": [
"[Name]에 P'을 입력한다. [Caption]에 \\$\\mathrm{P'}\\$를 입력한다. [Show Label]을 [Caption]을 선택한다."
],
"metadata": {
"id": "JgiBId3hG4a4"
}
},
{
"cell_type": "markdown",
"source": [
"Enter P’ in [Name]. Enter \\$\\mathrm{P'}\\$ in [Caption]. Select [Show Label] and [Caption]."
],
"metadata": {
"id": "_8d9ZhJqQooF"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "gPwC81icMTKI"
}
},
{
"cell_type": "markdown",
"source": [
"[Check Box] 도구를 선택한다. Ctrl 키를 누른 상태에서 점 $\\rm{P'}$을 선택한다. Ctrl 키를 누른 상태를 해제한다. [Graphics 2] 창에 x 표시한 부분을 선택한다. [Check Box to Show/Hide Objects] 창이 나타난다. [Caption]에 2를 입력한다. [Apply] 버튼을 입력한다. Check Box 2가 [Graphics 2]에 생성된다."
],
"metadata": {
"id": "oEzTNAedLP_X"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Check Box] tool. Hold down the Ctrl key and select the point $\\rm{P'}$. Release the Ctrl key. Select the part marked with an x in the [Graphics 2] window. [Check Box to Show/Hide Objects] window appears. Enter 2 in [Caption]. Enter [Apply] button. Check Box 2 is created in [Graphics 2]."
],
"metadata": {
"id": "I3APXmC4Q5Xz"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "Pl7JzVhpNENn"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한 상태에서 [Graphics 2] 창의 Check Box 1, Check Box 2 를 차례로 체크하면, 논리적인 순서로 삼각형의 점 $\\rm{A}$, 점 $\\rm{B}$, 점 $\\rm{C}$ 가 먼저 나타나고 점 $\\rm{P'}$가 다음에 나타나도록 보여줄 수 있다. 즉, 논리적인 순서로 보여진다."
],
"metadata": {
"id": "A_GnO8SKNGXR"
}
},
{
"cell_type": "markdown",
"source": [
"With the [Move] tool selected, if you check Check Box 1 and Check Box 2 in the [Graphics 2] window, the triangle's point $\\rm{A}$, point $\\rm{B}$, and point $\\rm{C}$ will appear first and the point $\\rm{P'}$ appears next. In other words, it is displayed in a logical order."
],
"metadata": {
"id": "y7nElXopROZW"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "Yl9R1ZAWOWJ_"
}
},
{
"cell_type": "markdown",
"source": [
"[Graphics 2] 창의 x 표시에서 오른쪽 마우스를 선택한다. [Grid] 를 선택해서 Grid가 보이도록 한다. 다시 x자 표에서 오른쪽 마우스를 선택한다. [Graphics]를 선택한다. [Preferences] 창이 나타난다. [Grid] 탭을 선택한다. [Grid Type]을 [Major Gridlines]를 선택한다. [Distance]를 체크하고 [$\\rm{x}$], [$\\rm{y}$]의 길이를 각각 1로한다. 창을 닫는다. [Graphics 2] 창에 가로와 세로의 간격이 1인 Grid가 보이게 된다."
],
"metadata": {
"id": "8p3QzQlAP6t2"
}
},
{
"cell_type": "markdown",
"source": [
"Select the right mouse button on the x mark in [Graphics 2] window. Select [Grid] to make the grid visible. Select the right mouse button again on the x-shaped table. Select [Graphics]. [Preferences] window appears. Select [Grid] tab. Select [Major Gridlines] for [Grid Type]. Check [Distance] and set the length of [$\\rm{x}$] and [$\\rm{y}$] to 1, respectively. Close the window. [Graphics 2] A grid with a horizontal and vertical spacing of 1 appears in the window."
],
"metadata": {
"id": "tDtEjc8dWs80"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "8r9JUMJcRaJ5"
}
},
{
"cell_type": "markdown",
"source": [
"[Graphics 2] 창 앞의 삼각형을 선택하여 추가적인 아이콘들이 보이게 한다. 자석 모양의 [Set point capture style] 옆의 삼각형을 선택하고 [Snap to Grid]를 선택한다. [Graphics 2] 창 앞의 삼각형을 다시 선택하여 추가적인 아이콘들이 보이지 않도록 한다.\n"
],
"metadata": {
"id": "6xbt14uJSK6w"
}
},
{
"cell_type": "markdown",
"source": [
"[Graphics 2] Select the triangle in front of the window to show additional icons. Select the triangle next to the magnet-shaped [Set point capture style] and select [Snap to Grid]. [Graphics 2] Select the triangle in front of the window again so that additional icons are not visible."
],
"metadata": {
"id": "BIn0ZCm0XVH4"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "k5GJxx1ATF9m"
}
},
{
"cell_type": "markdown",
"source": [
"[Graphics 2] 창의 빈 공간을 선택한 후 마우스의 휠을 위아래로 돌리면 Grid 간격이 확대 축소되는 모습을 볼 수 있다. Check Box의 크기 정도 간격을 만든다. Check Box 에서 오른쪽 마우스를 누른 상태로 드래그해서 Grid에 위치시키면 Grid의 교차점에 Check Box가 정확히 일치되어 진다. 그림처럼 일로 세로와 가로의 간격이 일정하게 하면서 줄을 쉽게 맞출 수 있을 것이다."
],
"metadata": {
"id": "L3bjGy1RUDT-"
}
},
{
"cell_type": "markdown",
"source": [
"If you select an empty space in [Graphics 2] window and turn the mouse wheel up or down, you can see the Grid spacing zooming in and out. Create a gap about the size of the Check Box. If you drag the Check Box while pressing the right mouse button and place it on the Grid, the Check Box will be exactly aligned with the intersection of the Grid. As shown in the picture, you will be able to easily align the lines while keeping the vertical and horizontal spacing constant."
],
"metadata": {
"id": "o_8A-qAiXke6"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "mrcBGJNrW7rA"
}
},
{
"cell_type": "markdown",
"source": [
"[Line] 도구 아이콘의 작은 삼각형을 선택하여 추가 도구들이 나타난다. [Segment] 도구를 선택한다."
],
"metadata": {
"id": "ZU_X6R9oWKim"
}
},
{
"cell_type": "markdown",
"source": [
"Additional tools appear by selecting the small triangle on [Line] tool icon. Select [Segment] tool."
],
"metadata": {
"id": "uNf5mLqo965-"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "t-47YyJoXyZ_"
}
},
{
"cell_type": "markdown",
"source": [
"[Segment] 도구를 선택한 상태를 확인한다. 점 $\\rm{P'}$, 점 $\\rm{A}$ 를 차례로 선택하면 선분 $\\rm{f}$ 가 만들어진다. 점 $\\rm{P'}$, 점 $\\rm{B}$ 를 차례로 선택하면 선분 $\\rm{g}$ 가 만들어진다. 점 $\\rm{P'}$, 점 $\\rm{C}$ 를 차례로 선택하면 선분 $\\rm{h}$ 가 만들어진다."
],
"metadata": {
"id": "wpiIYxWdZGBv"
}
},
{
"cell_type": "markdown",
"source": [
"Check the status of [Segment] tool selection. By sequentially selecting point $\\rm{P'}$ and point $\\rm{A}$, a line segment $\\rm{f}$ is created. By sequentially selecting point $\\rm{P'}$ and point $\\rm{B}$, a line segment $\\rm{g}$ is created. By sequentially selecting point $\\rm{P'}$ and point $\\rm{C}$, a line segment $\\rm{h}$ is created."
],
"metadata": {
"id": "oUTAsWp4-LLW"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "1Gb5V-GX7rvT"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한다. 이 상태에서 Ctrl 키를 누른 상태에서 선분 $\\rm{f}$, 선분 $\\rm{g}$, 선분 $\\rm{h}$를 차례로 선택한다. Ctrl 키를 누른 상태를 해제한다. 3개의 선분이 모두 선택된 상태이다. 선분 $\\rm{h}$에서 오른쪽 마우스 버튼을 누르면 [Selection] 메뉴가 나타나면 [Object Properties] 를 선택하여 [Preferences] 창이 나타나도록 한다."
],
"metadata": {
"id": "NKorAKdJ7s4p"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Move] tool. In this state, while holding down the Ctrl key, select the line segment $\\rm{f}$, the line segment $\\rm{g}$, and the line segment $\\rm{h}$ in that order. Release the Ctrl key. All three lines are selected. When you press the right mouse button on the line segment $\\rm{h}$, [Selection] menu appears. Select [Object Properties] to display [Preferences] window."
],
"metadata": {
"id": "xPupSjwP-fw_"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "ksFMGfYp9Eo2"
}
},
{
"cell_type": "markdown",
"source": [
"[Basic] 탭에서 [Show Label]의 체크를 해제한다. [Graphics] 창에 있는 선분들의 이름이 보이지 않게 되었다."
],
"metadata": {
"id": "54eCQsgW-RYP"
}
},
{
"cell_type": "markdown",
"source": [
"Uncheck [Show Label] in [Basic] tab. The names of the lines in [Graphics] window are no longer visible."
],
"metadata": {
"id": "8Lo4FWsM-2Dj"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "05MmLY2v_EaS"
}
},
{
"cell_type": "markdown",
"source": [
"[Color] 탭을 선택하고 [Blue]를 선택한다. 선분들의 색상이 파랑색이 되었다."
],
"metadata": {
"id": "huS51re__FwY"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Color] tab and select [Blue]. The color of the lines has become blue."
],
"metadata": {
"id": "z7qekXdo_HEu"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "w57BoipI_Y0x"
}
},
{
"cell_type": "markdown",
"source": [
"[Style] 탭을 선택한다. [Line Thickness]를 9로 한다. 선분들의 선 굵기가 두꺼워졌다."
],
"metadata": {
"id": "sZDv6CzQ_32b"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Style] tab. Set [Line Thickness] to 9. The thickness of the lines has become thicker."
],
"metadata": {
"id": "E0K7EOPy_TDy"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "wmkPg3MGD_oc"
}
},
{
"cell_type": "markdown",
"source": [
"점 $\\rm{P'}$를 선택한다. [Color] 탭을 선택하고 [Violet] 을 선택하다. 점 $\\rm{P'}$의 색상이 Violet 이 되었다. [Preferences] 창을 닫는다."
],
"metadata": {
"id": "RAuS60TqA-CB"
}
},
{
"cell_type": "markdown",
"source": [
"Select point $\\rm{P'}$. Select [Color] tab and select [Violet]. The color of point $\\rm{P'}$ became Violet. Close [Preferences] window."
],
"metadata": {
"id": "IrrEJH0Q_ccR"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "YQTq-_KMB1-o"
}
},
{
"cell_type": "markdown",
"source": [
"[Check Box] 도구를 선택한다. Ctrl 키를 누른 상태에서 선분 $\\rm{AP'}$, 선분 $\\rm{BP'}$, 선분 $\\rm{CP'}$을 선택한다. Ctrl 키를 누른 상태를 해제한다. [Grpahics 2] 창에 x 표시 위치를 선택하면 [Check Box to Show/Hide Object] 창이 나타난다. [Caption]에 3을 입력하고 [Apply]를 선택한다. [Graphics 2] 창에 Check Box 3 이 만들어 진다. Check Box 3 에 오른쪽 마우스로 클릭한 상태에서 드래그를 하여 Check Box 2 아래에 위치시킨다."
],
"metadata": {
"id": "sAMv5kQIDRzC"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Check Box] tool. While holding down the Ctrl key, select the line segment $\\rm{AP'}$, the line segment $\\rm{BP'}$, and the line segment $\\rm{CP'}$. Release the Ctrl key. Select the x mark position in [Grpahics 2] window. [Check Box to Show/Hide Object] window appears. Enter 3 in [Caption] and select [Apply]. Check Box 3 is created in [Graphics 2] window. Right-click on Check Box 3 and drag to place it below Check Box 2."
],
"metadata": {
"id": "SdJHjAUZ_ltv"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "CZshRqeRNE0K"
}
},
{
"cell_type": "markdown",
"source": [
"선분 $\\rm{AP'}$, 선분 $\\rm{BP'}$, 선분 $\\rm{CP'}$의 길이가 각각 $\\rm{f}$, $\\rm{g}$, $\\rm{h}$ 이다. [Input] 창에 f+g+h 를 입력한다. Enter 키를 누른다. 수 $\\rm{d}$ 가 나타난다. 수 $\\rm{d}$는 선분 $\\rm{AP'}$, 선분 $\\rm{BP'}$, 선분 $\\rm{CP'}$의 길이의 합을 나타낸다."
],
"metadata": {
"id": "urmmf-VENT8p"
}
},
{
"cell_type": "markdown",
"source": [
"The lengths of line segments $\\rm{AP'}$, $\\rm{BP'}$, and $\\rm{CP'}$ are $\\rm{f}$, $\\rm{g}$, $\\rm{h}$ respectively. Enter f+g+h in [Input] window. Press Enter. The number $\\rm{d}$ appears. The number $\\rm{d}$ represents the sum of the lengths of the line segment $\\rm{AP'}$, the line segment $\\rm{BP'}$, and the line segment $\\rm{CP'}$."
],
"metadata": {
"id": "VBDx6B-s_9UK"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "GvcgobOpPIzZ"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한다. 점 $\\rm{P'}$ 을 선택하여 드래그하여 움직이면 수 $\\rm{d}$의 숫자가 변하는 것을 볼 수 있다. 점 $\\rm{P'}$ 을 잘 위치시키면 수 $\\rm{d}$ 이 가장 작은 수가 되도록 위치시켜 보자."
],
"metadata": {
"id": "VxxQU2x4PKJW"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Move] tool. If you select and drag the point $\\rm{P'}$ and move it, you can see the number $\\rm{d}$ changing. Let's position the point $\\rm{P'}$ so that the number $\\rm{d}$ becomes the smallest number."
],
"metadata": {
"id": "TwM3-SPnAo4E"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "r_z3ixxmSwNn"
}
},
{
"cell_type": "markdown",
"source": [
"[Text] 도구를 선택한다. [Graphics] 창의 x자 표시의 위치를 선택한다. [Text] 도구를 선택한다.\n",
"[Edit]에 다음을 입력한다."
],
"metadata": {
"id": "i6ehx0EDA31c"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Text] tool. Select the position of the x mark in [Graphics] window. Select [Text] tool. Enter the following in [Edit]."
],
"metadata": {
"id": "waYfLvHhBYcZ"
}
},
{
"cell_type": "markdown",
"source": [
"```\n",
"\\overline{\\mathrm{AP'}}+\n",
"\n",
"\\overline{\\mathrm{BP'}}+\n",
"\n",
"\\overline{\\mathrm{CP'}}=\n",
"```"
],
"metadata": {
"id": "MKy_LM76TM7F"
}
},
{
"cell_type": "markdown",
"source": [
"[Latex formula] 를 체크해 놓는다. [Preview]에 Latex 로 쓴 수식이 실시간으로 표현되는 것을 확인할 수 있다. [OK] 버튼을 선택한다. [Graphics] 창에 수식이 표현된 것을 볼 수 있다."
],
"metadata": {
"id": "puqrKlVoBJ5f"
}
},
{
"cell_type": "markdown",
"source": [
"Check [Latex formula]. In [Preview], you can see that the formula written in Latex is expressed in real time. Select [OK] button. You can see the formula expressed in [Graphics] window."
],
"metadata": {
"id": "c5-gMjItB076"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "jsnTKujOjB1o"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한다. [Graphics]에 있는 $\\overline{\\mathrm{AP'}}+\\overline{\\mathrm{BP'}}+\\overline{\\mathrm{CP'}}=$ 를 더블 클릭한다. [Text] 창이 나타난다. [Edit]에 \\overline{\\mathrm{CP'}}= 다음을 선택하여 커서를 위치시킨다. 즉, Latex 수식 마지막에 커서를 위치시킨다. [Objects]의 아래 화살표를 선택하고 d 를 선택한다. [Edit]에 사각형 안에 d 가 있는 형태의 문자가 추가된다. [Preview]에 Latex 수식이 변환된 것이 보일 것이다. 그런데 사각형 안에 d 가 입력된 부분은 d 의 값이 추가 된 부분을 볼 수 있다. 사각형 안에 객체의 이름을 넣으면 객체의 값이 나타난다고 생각하면 된다. 또한 더 나아가 사각형 안에는 Geogebra의 스크립트 명령어를 넣을 수 있다고 생각하면 된다. 사각형 안에 없는 문자들은 단순 문자들이라고 생각하면 된다. [OK] 버튼을 누른다. [Graphics]안에 $\\overline{\\mathrm{AP'}}+\\overline{\\mathrm{BP'}}+\\overline{\\mathrm{CP'}}=10.56$ 이 표현된 Text 가 보인다. 숫자는 점 $\\rm{P}$의 위치를 변화시키면 실시간으로 변하게 된다."
],
"metadata": {
"id": "4kUZ_pRhgZ6A"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Move] tool. Double-click $\\overline{\\mathrm{AP'}}+\\overline{\\mathrm{BP'}}+\\overline{\\mathrm{CP'}}=$ in [Graphics]. [Text] window appears. In [Edit], select ``` \\overline{\\mathrm{CP'}}=``` and place the cursor. In other words, place the cursor at the end of the Latex formula. Select the down arrow for [Objects] and select d. A character with a d inside a square is added to [Edit]. You will see the Latex formula converted in [Preview]. However, in the part where d is entered in the square, you can see the part where the value of d has been added. You can think of it as putting the name of an object in a square and the value of the object appears. Furthermore, you can go further and think that Geogebra's script commands can be placed inside the square. You can think of characters that are not inside the square as simple characters. Press [OK] button. In [Graphics], you can see the text expressing $\\overline{\\mathrm{AP'}}+\\overline{\\mathrm{BP'}}+\\overline{\\mathrm{CP'}}=10.56$. The number changes in real time by changing the position of the point $\\rm{P}$."
],
"metadata": {
"id": "8n8Y2OUjCWf3"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "SANBE03Qkhmu"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한다. $\\overline{\\mathrm{AP'}}+\\overline{\\mathrm{BP'}}+\\overline{\\mathrm{CP'}}=10.56$ 에서 마우스 오른쪽을 누른다. [Text] 추가 메뉴가 나타나면 [Object Properties]를 선택한다. [Preferences] 창이 나타난다. [Color] 탭을 선택하고 [Blue]를 선택한다. [Preferences] 창을 닫는다. Text 가 Blue 색상이 됐다."
],
"metadata": {
"id": "GodKD2uXmnBg"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Move] tool. Right-click on $\\overline{\\mathrm{AP'}}+\\overline{\\mathrm{BP'}}+\\overline{\\mathrm{CP'}}=10.56$. When [Text] additional menu appears, select [Object Properties]. [Preferences] window appears. Select [Color] tab and select [Blue]. Close [Preferences] window. Text has become blue."
],
"metadata": {
"id": "MeRZFqq4C7JH"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "AtCsJx-An0s5"
}
},
{
"cell_type": "markdown",
"source": [
"[Check Box] 도구를 선택한다. Ctrl 키를 누른 상태에서 $\\overline{\\mathrm{AP'}}+\\overline{\\mathrm{BP'}}+\\overline{\\mathrm{CP'}}=10.56$을 선택한다. Ctrl 키를 누른 상태를 해제한다. [Graphics 2] 창에 x 표시 위치를 선택하면 [Check Box to Show/Hide Object] 창이 나타난다. [Caption]에 4를 입력하고 [Apply]를 선택한다. [Graphics 2] 창에 Check Box 4 가 만들어 진다. Check Box 4 에 오른쪽 마우스로 클릭한 상태에서 드래그를 하여 Check Box 3 아래에 위치시킨다."
],
"metadata": {
"id": "VETKXuIppHTJ"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Check Box] tool. While holding down Ctrl key, select $\\overline{\\mathrm{AP'}}+\\overline{\\mathrm{BP'}}+\\overline{\\mathrm{CP'}}=10.56$. Release the Ctrl key. Select the x mark position in [Graphics 2] window, [Check Box to Show/Hide Object] window appears. Enter 4 in [Caption] and select [Apply]. Check Box 4 is created in [Graphics 2] window. Right-click on Check Box 4 and drag to place it below Check Box 3."
],
"metadata": {
"id": "WkvCg1lLa1Cu"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "d_SSp6qfo62q"
}
},
{
"cell_type": "markdown",
"source": [
"[Rotate around Point] 도구를 선택한다. 점 $\\mathrm{A}$ 를 선택한 다음 점 $\\mathrm{B}$을 선택한다. [Rotate around Point] 창이 나타난다. [Angle]에 $60^\\circ$ 입력하고 [counterclockwise] 선택하고 [OK] 버튼을 누른다. 점 $\\mathrm{A'}$가 생성되었다. 즉, 점 $\\mathrm{A}$ 를 점 $\\mathrm{B}$ 를 중심으로 시계 반대 방향으로 $60^\\circ$ 회전한 점 $\\mathrm{A'}$이 생성된 것이다."
],
"metadata": {
"id": "_MGXq3i8eo4H"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Rotate around Point] tool. Select point $\\mathrm{A}$ and then select point $\\mathrm{B}$. [Rotate around Point] window appears. Enter $60^\\circ$ in [Angle], select [counterclockwise], and press [OK] button. Point $\\mathrm{A'}$ was created. In other words, point $\\mathrm{A'}$ is created by rotating point $\\mathrm{A}$ counterclockwise $60^\\circ$ around point $\\mathrm{B}$."
],
"metadata": {
"id": "oUeVDKh6GiuB"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "RD0miKCYpxNR"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한다. $\\mathrm{A'}$에서 오른쪽 마우스를 선택하여 나타난 메뉴에서 [Object Properties]를 선택한다. [Preferences] 창이 나타난다. [Basic] 탭을 선택한다. [Caption] 에 \\$\\mathrm{A'}\\$을 입력한다. [Preferences] 창을 닫는다."
],
"metadata": {
"id": "ooVcqnfovmSU"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Move] tool. Right-click on $\\mathrm{A'}$ and select [Object Properties] from the menu that appears. [Preferences] window appears. Select [Basic] tab. Enter \\$\\mathrm{A'}\\$ in [Caption]. Close [Preferences] window."
],
"metadata": {
"id": "yc3AWJvnG7uq"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "0UoEsrJWwY1g"
}
},
{
"cell_type": "markdown",
"source": [
"[Segment] 도구를 선택한다. $\\mathrm{A'}$ 선택한 후 점 $\\mathrm{B}$ 를 선택한다. 선분 $\\mathrm{A'B}$ 가 생성되었다."
],
"metadata": {
"id": "vsNNNDuR08Y6"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Segment] tool. Select $\\mathrm{A'}$ and then select point $\\mathrm{B}$. The line segment $\\mathrm{A'B}$ was created."
],
"metadata": {
"id": "tgHW2aaxHO76"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "vYosEl325Csp"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한다. 선분 $\\mathrm{A'B}$에서 오른쪽 마우스를 선택하여 나타난 메뉴에서 [Object Properties]를 선택한다. [Preferences] 창이 나타난다. [Basic] 탭을 선택한다. [Show Label]의 체크를 해제한다."
],
"metadata": {
"id": "p6x52Idd2sOU"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Move] tool. Right-click on the line segment $\\mathrm{A'B}$ and select [Object Properties] from the menu that appears. [Preferences] window appears. Select [Basic] tab. Uncheck [Show Label]."
],
"metadata": {
"id": "xiL3WD5zH7dm"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "9_X92U9R4o_S"
}
},
{
"cell_type": "markdown",
"source": [
"[Color] 탭을 선택한다. [Blue] 를 선택한다. 선분 $\\mathrm{A'B}$ 의 색상이 Blue 가 되었다."
],
"metadata": {
"id": "-6sSOsAc6are"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Color] tab. Select [Blue]. The color of the line segment $\\mathrm{A'B}$ has become blue."
],
"metadata": {
"id": "AVoKtGJVIZu6"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "yfWXURy79qAm"
}
},
{
"cell_type": "markdown",
"source": [
"[Style] 탭을 선택한다. [Line Thickness] 를 9 로 조절한다. [Line Style] 의 v를 눌러 점선(실선 다음에 나오는 점선)을 선택한다. [Preferences] 창을 닫는다."
],
"metadata": {
"id": "1YE0FaHo8X7h"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Style] tab. Adjust [Line Thickness] to 9. Press v in [Line Style] to select a dotted line (the dotted line following the solid line). Close [Preferences] window."
],
"metadata": {
"id": "fhwhw4eGMAEj"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "SBsSmAka-ODp"
}
},
{
"cell_type": "markdown",
"source": [
"위와 같은 방법으로 선분 $\\mathrm{AB}$ 을 만든다."
],
"metadata": {
"id": "jWYO9OWu_Wok"
}
},
{
"cell_type": "markdown",
"source": [
"Create the line segment $\\mathrm{AB}$ in the same way as above."
],
"metadata": {
"id": "G6IR8v-hMguE"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "UlQkdIq1_jVd"
}
},
{
"cell_type": "markdown",
"source": [
"[Angle] 도구를 선택한다. 점 $\\mathrm{A}$, 점 $\\mathrm{B}$, 점 $\\mathrm{A'}$을 차례로 선택한다. $\\alpha=60^\\circ$인 각이 생성된다. 여기서 순서가 중요하다. 참고로 각은 시계 반대 방향으로 생성된다."
],
"metadata": {
"id": "8ZzHHT2YB_xu"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Angle] tool. Select point $\\mathrm{A}$, point $\\mathrm{B}$, and point $\\mathrm{A'}$ in order. An angle with $\\alpha=60^\\circ$ is created. The order is important here. For reference, angles are created counterclockwise."
],
"metadata": {
"id": "wEnuBqHc3R1_"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "D1ZtqtdPJvbc"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한다. 각 $\\mathrm{ABA'}$ 에서 오른쪽 마우스를 선택하여 나타난 메뉴에서 [Object Properties]를 선택한다. [Preferences] 창이 나타난다. [Basic] 탭을 선택한다. [Caption]에 \\$60\\degree\\$ 를 입력한다. $60^\\circ$ 라고 이름이 바뀌었다."
],
"metadata": {
"id": "ubnaIM5cEfsz"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Move] tool. Right-click on each $\\mathrm{ABA'}$ and select [Object Properties] from the menu that appears. The [Preferences] window appears. Select [Basic] tab. Enter \\$60\\degree\\$ in [Caption]. The name was changed to $60^\\circ$."
],
"metadata": {
"id": "H5jKuXiP3ixO"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "k0jY4PJwJhYX"
}
},
{
"cell_type": "markdown",
"source": [
"[Color] 탭을 선택한다. [Blue] 를 선택한다. 각의 색상이 Blue 로 바뀌었다. [Preferences] 창을 닫는다."
],
"metadata": {
"id": "hzPUWy62LXrS"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Color] tab. Select [Blue]. The color of each corner changed to blue. Close [Preferences] window."
],
"metadata": {
"id": "36dIoJtc5BK7"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "Hf6Q_lyDLvgu"
}
},
{
"cell_type": "markdown",
"source": [
"[Check Box] 도구를 선택한다. Ctrl 키를 누른 상태에서 점 $\\mathrm{A'}$, 선분 $\\mathrm{A'B}$, 각 $\\mathrm{ABA'}$ 선분 $\\mathrm{AB}$를 선택한다. Ctrl 키를 누른 상태를 해제한다. [Grpahics 2] 창에 x 표시 위치를 선택하면 [Check Box to Show/Hide Object] 창이 나타난다. [Caption]에 5 를 입력하고 [Apply]를 선택한다. [Graphics 2] 창에 Check Box 5 가 만들어 진다. Check Box 5 에 오른쪽 마우스로 클릭한 상태에서 드래그를 하여 Check Box 4 아래에 위치시킨다."
],
"metadata": {
"id": "VBCKOdDVRUkV"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Check Box] tool. While holding down the Ctrl key, select the point $\\mathrm{A'}$, the line segment $\\mathrm{A'B}$, and each $\\mathrm{ABA'}$ line segment $\\mathrm{AB}$. Release the Ctrl key. Press [Grpahics 2 ] When you select the x mark position in the window, the [Check Box to Show/Hide Object] window appears. Enter 5 in [Caption] and select [Apply]. Check Box 5 is created in the [Graphics 2] window. Right-click on Check Box 5 and drag to place it below Check Box 4."
],
"metadata": {
"id": "QIVqPaPj5PCE"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "Srexx3vpUa6V"
}
},
{
"cell_type": "markdown",
"source": [
"Check Box 5를 체크 해제하여 점 $\\mathrm{A'}$, 선분 $\\mathrm{A'B}$, 각 $\\mathrm{ABA'}$ 선분 $\\mathrm{AB}$가 보이지 않게 한다. 위와 같은 방식으로 점 $\\mathrm{P'}$ 을 점 $\\mathrm{B}$ 를 중심으로 시계 반대 방향으로 $60^\\circ$로 회전된 점 $\\mathrm{P''}$ 를 만든다. \\$\\mathrm{P''}\\$ 으로 캡션 내용을 바꾼다. 선분 $\\mathrm{P''B}$ 만들고 색이 Blue, [Line Thickness]는 9, [Line Style]은 점선으로 한다. 각 $\\mathrm{P'BP''}$을 만든다. 색을 Blue로 하고 \\$60\\degree\\$ 으로 캡션 내용을 바꾼다. [Style] 에서 [Size]를 40으로 조절한다. [Preference] 창을 닫는다."
],
"metadata": {
"id": "Iuo4HfXRUdVB"
}
},
{
"cell_type": "markdown",
"source": [
"Uncheck Check Box 5 to make the point $\\mathrm{A'}$, line segment $\\mathrm{A'B}$, and each $\\mathrm{ABA'}$ line segment $\\mathrm{AB}$ invisible. In the same way as above, create point $\\mathrm{P''}$ by rotating point $\\mathrm{P'}$ counterclockwise by $60^\\circ$ around point $\\mathrm{B}$. Change the caption content to \\$\\mathrm{P''}\\$. Create a line segment $\\mathrm{P''B}$ and set the color to Blue, [Line Thickness] to 9, and [Line Style] to dotted line. Create each $\\mathrm{P'BP''}$. Set the color to Blue and change the caption content to \\$60\\degree\\$. In [Style], adjust [Size] to 40. Close the [Preference] window."
],
"metadata": {
"id": "_O-1zXfV5wbt"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "UVD8eCy_cr2E"
}
},
{
"cell_type": "markdown",
"source": [
"[Check Box] 도구를 선택한다. Ctrl 키를 누른 상태에서 점 $\\mathrm{P''}$, 선분 $\\mathrm{P''B}$, 각 $\\mathrm{P'BP''}$ 를 선택한다. Ctrl 키를 누른 상태를 해제한다. [Grapahics 2] 창에 x 표시 위치를 선택하면 [Check Box to Show/Hide Object] 창이 나타난다. [Caption]에 6 를 입력하고 [Apply]를 선택한다. [Graphics 2] 창에 Check Box 6 이 만들어 진다. Check Box 6 에 오른쪽 마우스로 클릭한 상태에서 드래그를 하여 Check Box 5 아래에 위치시킨다."
],
"metadata": {
"id": "-9rFyylubXTR"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Check Box] tool. While holding down the Ctrl key, select the point $\\mathrm{P''}$, the line segment $\\mathrm{P''B}$, and each $\\mathrm{P'BP''}$. Release the Ctrl key. mark an x in [Grapahics 2] window. When you select a location, [Check Box to Show/Hide Object] window appears. Enter 6 in [Caption] and select [Apply]. Check Box 6 is created in [Graphics 2] window. Right-click on Check Box 6 and drag to place it below Check Box 5."
],
"metadata": {
"id": "zmIpfPFM6YiE"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "njdgfp1VZIRe"
}
},
{
"cell_type": "markdown",
"source": [
"Check Box 1, $\\cdots$, Check Box 6 까지 모두 체크 해제한 후, 차례대로 체크 해보기 바랍니다. 수학적 논리를 그대로 적용되고 있는 자료가 만들어진 것이 느껴질 것 입니다."
],
"metadata": {
"id": "X4juSFR5dMGV"
}
},
{
"cell_type": "markdown",
"source": [
"Please uncheck Check Box 1, $\\cdots$, and Check Box 6, and then check them one by one. You will feel that materials have been created that apply mathematical logic as is."
],
"metadata": {
"id": "3b68itGJ8EI4"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "sp2tOY5Pdx-d"
}
},
{
"cell_type": "markdown",
"source": [
"Check Box 3 을 체크 해제한다. 선분 $\\mathrm{A'P''}$, 선분 $\\mathrm{P''P'}$, 선분 $\\mathrm{P'C}$ 를 만들고, Label을 보이지 않도록 하고, [Color]는 [Red], [Line Thickness]는 9로 한다. 선분 $\\mathrm{A'P''}$, 선분 $\\mathrm{P''P'}$, 선분 $\\mathrm{P'C}$ 를 Check Box 7과 연동되도록 만든다. 즉 Check Box 7의 체크여부에 따라 세 선분들이 보여지거나 보여지지 않게 한다. "
],
"metadata": {
"id": "MyyLCYWVhG0C"
}
},
{
"cell_type": "markdown",
"source": [
"Uncheck Check Box 3. Create line segments $\\mathrm{A'P''}$, line segments $\\mathrm{P''P'}$, and line segments $\\mathrm{P'C}$, make the Label invisible, and set [Color] to [ Red] and [Line Thickness] are set to 9. Make the line segment $\\mathrm{A'P''}$, the line segment $\\mathrm{P''P'}$, and the line segment $\\mathrm{P'C}$ linked with Check Box 7. In other words, the three lines are shown or not shown depending on whether Check Box 7 is checked."
],
"metadata": {
"id": "_pTkay9W8PjH"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "6K-9wmcvmb3N"
}
},
{
"cell_type": "markdown",
"source": [
"이 수학공학도구자료를 잘 보면 선분 $\\rm{P'C}$의 [Red]가 다르다는 것을 볼 수 있다. 이유는 [Style]에 [Line Opacity] 가 $75$ 로 되어 있기 때문이다. 같은 [Red]로 만들려면, [Style]에 [Line Opacity]를 $100$으로 하기 바란다. 다만, 여기서는 [Red] 선분과 [Blue] 선분이 겹쳐 있다는 표현을 보여주기 위해 [Style]에 [Line Opacity] 를 $75$로 하겠다. 선분 $\\mathrm{A'C}$ 를 만든다. Label이 보이지 않도록 하고, [Color]는 [Dark Green], [Line Thinkness]는 9로 한다. 선분 $\\mathrm{A'C}$ 를 Check Box 8과 연동되도록 만든다."
],
"metadata": {
"id": "wspumeLamdxh"
}
},
{
"cell_type": "markdown",
"source": [
"If you look closely at this mathematical engineering tool material, you can see that the [Red] of the line segment $\\rm{P'C}$ is different. The reason is that [Line Opacity] in [Style] is set to $75$. To make it the same [Red], set [Line Opacity] in [Style] to $100$. However, here, to show that the [Red] line segment and the [Blue] line segment overlap, [Line Opacity] in [Style] will be set to $75$. Create the line segment $\\mathrm{A'C}$. Make sure the label is not visible, set [Color] to [Dark Green], and [Line Thinkness] to 9. Make the line segment $\\mathrm{A'C}$ linked to Check Box 8."
],
"metadata": {
"id": "R45_4-r_92Gu"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "CraiDKYjyYNo"
}
},
{
"cell_type": "markdown",
"source": [
"[Rotate around Point] 도구를 선택한다. 점 $\\mathrm{C}$ 를 선택한 다음 점 $\\mathrm{B}$을 선택한다. [Rotate around Point] 창이 나타난다. [Angle]에 $60^\\circ$ 입력하고 [clockwise] 선택하고 [OK] 버튼을 누른다. 점 $\\mathrm{C'}$가 생성되었다. 즉, 점 $\\mathrm{C}$ 를 점 $\\mathrm{B}$ 를 중심으로 시계 방향으로 $60^\\circ$ 회전한 점 $\\mathrm{C'}$이 생성된 것이다."
],
"metadata": {
"id": "1JKZcYv9yZn5"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Rotate around Point] tool. Select point $\\mathrm{C}$ and then select point $\\mathrm{B}$. [Rotate around Point] window appears. Enter $60^\\circ$ in [Angle], select [clockwise], and press [OK] button. Point $\\mathrm{C'}$ was created. In other words, point $\\mathrm{C'}$ is created by rotating point $\\mathrm{C}$ clockwise by $60^\\circ$ around point $\\mathrm{B}$."
],
"metadata": {
"id": "fAZ217hu_fov"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "lA95m07A2nie"
}
},
{
"cell_type": "markdown",
"source": [
"선분 $\\mathrm{CB}$, 선분 $\\mathrm{C'B}$ 를 만든다. 두 선분의 Label이 보이지 않도록 하고, [Color]는 [Blue], [Line Thickness]는 9로 한다. 각 $\\mathrm{C'BC}$ 를 만든다. [Color]는 [Blue], [Caption] 은 \\$60\\degree\\$으로 한다. 점 $\\mathrm{C'}$, 선분 $\\mathrm{CB}$, 각 $\\mathrm{C'BC}$, 선분 $\\mathrm{C'B}$를 Check Box 9와 연동 되도록 만든다."
],
"metadata": {
"id": "mInRLwWs3c6k"
}
},
{
"cell_type": "markdown",
"source": [
"Create line segments $\\mathrm{CB}$ and line segments $\\mathrm{C'B}$. Make sure the labels of the two line segments are not visible, set [Color] to [Blue], and [Line Thickness] to 9. Create angle $\\mathrm{C'BC}$. [Color] is [Blue], and [Caption] is set to \\$60\\degree\\$. Make the point $\\mathrm{C'}$, line segment $\\mathrm{CB}$, angle $\\mathrm{C'BC}$, and line segment $\\mathrm{C'B}$ linked with Check Box 9."
],
"metadata": {
"id": "ZSZ26HDGcyPV"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "mJF-kkdyLNmN"
}
},
{
"cell_type": "markdown",
"source": [
"Check Box 9를 체크 해제하여 점$\\mathrm{C'}$, 선분 $\\mathrm{CB}$, 각 $\\mathrm{C'BC}$, 선분 $\\mathrm{C'B}$가 보이지 않게 한다. 위와 같은 방식으로 점 $\\mathrm{P'}$ 을 점 $\\mathrm{B}$ 를 중심으로 시계 방향으로 $60^\\circ$로 회전된 점 $\\mathrm{P'''}$ 를 만들고 [Name]은 P''', [Caption]은 \\$\\mathrm{P'''} \\$ 으로 한다. 선분 $\\mathrm{P'''B}$ 만들고 [Color] 는 [Blue], [Line Thickness]는 9, [Line Style]은 점선으로 한다. 각 $\\mathrm{P'''BP'}$을 만들고 [Color] 는 [Blue], [Caption]은 \\$60\\degree\\$, [Size]를 40으로 조절한다. 점 $\\mathrm{P'''}$, 선분 $\\mathrm{P'' 'B}$, 각 $\\mathrm{P'''BP'}$를 Check Box 10 와 연동되도록 만든다."
],
"metadata": {
"id": "o-cSYt-ELQht"
}
},
{
"cell_type": "markdown",
"source": [
"Uncheck Check Box 9 to make the point $\\mathrm{C'}$, line segment $\\mathrm{CB}$, angle $\\mathrm{C'BC}$, and line segment $\\mathrm{C'B}$ not visible.\n",
"In the same way as above, create point $\\mathrm{P'''}$ by rotating point $\\mathrm{P'}$ clockwise by $60^\\circ$ around point $\\mathrm{B}$, and set [Name] to P''' and [Caption] to \\$\\ mathrm{P'''}\\$. Create a line segment $\\mathrm{P'''B}$, set [Color] to [Blue], [Line Thickness] to 9, and [Line Style] to dotted line. Create angle $\\mathrm{P'''BP'}$ and adjust [Color] to [Blue], [Caption] to \\$60\\degree\\$, and [Size] to 40. Make the point $\\mathrm{P'''}$, the line segment $\\mathrm{P'''B}$, and angle $\\mathrm{P'''BP'}$ linked with Check Box 10."
],
"metadata": {
"id": "TjzSPS2pdcr_"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "smDRK9cTPNhs"
}
},
{
"cell_type": "markdown",
"source": [
"Check Box 3 을 체크 해제한다. 선분 $\\mathrm{C'P'''}$, 선분 $\\mathrm{P'''P'}$, 선분 $\\mathrm{P'A}$ 를 만들고, Label을 보이지 않도록 하고, [Color]는 [Violet], [Line Thickness]는 9로 한다. 선분 $\\mathrm{C'P'''}$, 선분 $\\mathrm{P'''P'}$, 선분 $\\mathrm{P'A}$ 를 Check Box 11와 연동되도록 만든다."
],
"metadata": {
"id": "cfSDTBfZPPnx"
}
},
{
"cell_type": "markdown",
"source": [
"Uncheck Check Box 3. Create line segments $\\mathrm{C'P'''}$, line segments $\\mathrm{P'''P'}$, and line segments $\\mathrm{P'A}$, make the Label invisible, and set [Color] is set to [Violet], and [Line Thickness] is set to 9. Make the line segment $\\mathrm{C'P'''}$, the line segment $\\mathrm{P'''P'}$, and the line segment $\\mathrm{P'A}$ linked with Check Box 11."
],
"metadata": {
"id": "Y4YRU-EGfSTi"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "ylYC-s9KRli8"
}
},
{
"cell_type": "markdown",
"source": [
"선분 $\\mathrm{AC'}$ 를 만든다. Label이 보이지 않도록 하고, [Color]는 [Dark Green], [Line Thickness]는 9로 한다. 선분 $\\mathrm{AC'}$ 를 Check Box 12과 연동되도록 만든다."
],
"metadata": {
"id": "wVgS-Jd5Rns7"
}
},
{
"cell_type": "markdown",
"source": [
"Create a line segment $\\mathrm{AC'}$. Make sure the label is not visible, set [Color] to [Dark Green], and [Line Thickness] to 9. Make the line segment $\\mathrm{AC'}$ linked to Check Box 12."
],
"metadata": {
"id": "sc5PQvjsfyqt"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "2uGBy9nt7AD7"
}
},
{
"cell_type": "markdown",
"source": [
"[Intersect] 도구를 선택한다. 선분 $\\mathrm{A'C}$, 선분 $\\mathrm{AC'}$ 를 차례로 선택하여 교점을 만든다. 교점의 [Name] 을 P, [Caption] 을 \\$\\mathrm{P}\\$, [Color] 을 [Red], [Size] 을 5 로 한다. 점 $\\mathrm{P}$ 를 Check Box 13과 연동되도록 만든다."
],
"metadata": {
"id": "8yYYy0Eg7B57"
}
},
{
"cell_type": "markdown",
"source": [
"Select the [Intersect] tool. Create an intersection by sequentially selecting line segments $\\mathrm{A'C}$ and $\\mathrm{AC'}$. At the intersection, set [Name] to P, [Caption] to \\$\\mathrm{P}\\$, [Color] to [Red], and [Size] to 5. Make the point $\\mathrm{P}$ linked to Check Box 13."
],
"metadata": {
"id": "h16BAGG3gGyw"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "PKX1BRN9A8ly"
}
},
{
"cell_type": "markdown",
"source": [
"Check Box 8, Check Box 12 를 체크 해제한다. 선분 $\\mathrm{AP}$, 선분 $\\mathrm{BP}$, 선분 $\\mathrm{CP}$ 를 만들고 Label이 보이지 않도록 하고, [Color]는 [Dark Green], [Line Thickness]는 9로 한다. 선분 $\\mathrm{AP}$, 선분 $\\mathrm{BP}$, 선분 $\\mathrm{CP}$ 를 Check Box 14와 연동되도록 만든다."
],
"metadata": {
"id": "YG1ynlQM9NAB"
}
},
{
"cell_type": "markdown",
"source": [
"Uncheck Check Box 8 and Check Box 12. Create line segments $\\mathrm{AP}$, line segments $\\mathrm{BP}$, and line segments $\\mathrm{CP}$ and make the labels invisible, [Color] is [Dark Green], and [Line Thickness] is 9. Make the line segment $\\mathrm{AP}$, the line segment $\\mathrm{BP}$, and the line segment $\\mathrm{CP}$ linked with Check Box 14."
],
"metadata": {
"id": "jPHC824IgZGf"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "5yEm8x9ACby9"
}
},
{
"cell_type": "markdown",
"source": [
"선분 $\\mathrm{AP}$의 Name 은 $\\mathrm{l_1}$, 선분 $\\mathrm{BP}$의 Name 은 $\\mathrm{m_1}$, 선분 $\\mathrm{CP}$의 Name 은 $\\mathrm{n_1}$ 인 것을 확인한다. 만약 다른 이름으로 되어있다면 그 이름으로 활용하면 된다. [Input] 창에 l_1+m_1+n_1 을 입력하고 Enter 키를 누른다. 선분 $\\mathrm{AP}$의 Name 은 $\\mathrm{l_1}$, 선분 $\\mathrm{BP}$의 길이의 합인 수 $\\mathrm{d_1}$ 이 만들어진다."
],
"metadata": {
"id": "qIUN-Gm_CdZu"
}
},
{
"cell_type": "markdown",
"source": [
"The Name of the line segment $\\mathrm{AP}$ is $\\mathrm{l_1}$, the Name of the line segment $\\mathrm{BP}$ is $\\mathrm{m_1}$, and the Name of the line segment\n",
" $\\mathrm{CP}$ is Confirm that it is $\\mathrm{n_1}$. If it has a different name, you can use that name. Enter l_1+m_1+n_1 in the [Input] window and press Enter. The Name of the line segment $\\mathrm{AP}$ is $\\mathrm{l_1}$, and the number $\\mathrm{d_1}$ is created, which is the sum of the lengths of the line segment $\\mathrm{BP}$."
],
"metadata": {
"id": "v4_dYRUSgxvL"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "EaagidF2F6Y2"
}
},
{
"cell_type": "markdown",
"source": [
"[Graphics] 창의 x자 표시에 Text 를 다음과 같이 만든다.\n",
"[Edit] 에 다음을 입력한다."
],
"metadata": {
"id": "XDKBtUmPGOwH"
}
},
{
"cell_type": "markdown",
"source": [
"Create Text in the x-shaped display of the [Graphics] window as follows.\n",
"Enter the following in [Edit]."
],
"metadata": {
"id": "oa0uBzyXih7m"
}
},
{
"cell_type": "markdown",
"source": [
"```\n",
"\\overline{\\mathrm{AP}}+\n",
"\n",
"\\overline{\\mathrm{BP}}+\n",
"\n",
"\\overline{\\mathrm{CP}}=\n",
"```"
],
"metadata": {
"id": "GBL5KmqXiLrB"
}
},
{
"cell_type": "markdown",
"source": [
"[Latex formula] 를 체크 해놓는다. 그리고 = 마지막에는 [Objects]에서 d_1 을 선택한다. [Preview]에 Latex 으로 쓴 수식과 길이의 합이 나타남을 확인할 수 있다. [OK] 버튼을 선택한다. 그리고 이 Text를 Check Box 15와 연동되도록 만든다."
],
"metadata": {
"id": "uqGScInQiPHe"
}
},
{
"cell_type": "markdown",
"source": [
"Check [Latex formula]. And = at the end, select d_1 from [Objects]. You can see that the formula written in Latex and the sum of the length appear in [Preview]. Select the [OK] button. And make this Text linked to Check Box 15."
],
"metadata": {
"id": "mtA9ZtaJiqy-"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "fH9HBXy0HfR3"
}
},
{
"cell_type": "markdown",
"source": [
"작도를 통하여 점 $\\mathrm{A}$, 점 $\\mathrm{B}$, 점 $\\mathrm{C}$의 페르마 점(Fermet Point)을 만들었고, 실험적으로 점 $\\mathrm{P'}$ 을 움직여서 거리의 합이 변하는 것을 확인할 수 있는 자료를 만들었다. 수학공학도구를 활용하여 수학에서 실험이 가능한 자료를 만든 것이다. 또한 이 자료가 만들어지는 과정이 Check Box를 활용하여 모두 표현했다."
],
"metadata": {
"id": "A_vESXL1HhNR"
}
},
{
"cell_type": "markdown",
"source": [
"Through construction, the Fermat points of point $\\mathrm{A}$, point $\\mathrm{B}$, and point $\\mathrm{C}$ were created, and experimentally, point $\\mathrm{P'}$ We created data that allows us to check that the sum of distances changes by moving . Using mathematical engineering tools, data that can be used for experiments in mathematics were created. Additionally, the entire process of creating this data was expressed using check boxes."
],
"metadata": {
"id": "7MQDCtgGi5Vm"
}
},
{
"cell_type": "markdown",
"source": [
"추가적인 설명을 더 하면, 점 $\\mathrm{A}$, 점 $\\mathrm{B}$, 점 $\\mathrm{C}$, 점 $\\mathrm{P'}$ 을 움직이면 이 들의 위치에 따라 자동으로 점 $\\mathrm{P''}$, 점 $\\mathrm{P'''}$, 점 $\\mathrm{P}$ 가 움직여 지는 것을 볼 수 있다. 다만, 점 $\\mathrm{A}$, 점 $\\mathrm{B}$, 점 $\\mathrm{C}$ 의 위치가 시계 방향으로 위치할 경우에 점 $\\mathrm{P}$, 점 $\\mathrm{P''}$, 점 $\\mathrm{P'''}$들이 원하는 수학적 논리에 맞게 나타나도록 만든 자료이다. 그리고 삼각형 $\\mathrm{ABC}$의 내각이 $120^\\circ$ 이상인 한 내각이 있을 때는 실제 최솟값은 내각이 $120^\\circ$ 이상이 되는 점이 거리의 합이 최소가 되는 점이다."
],
"metadata": {
"id": "oQAjjoLL67ep"
}
},
{
"cell_type": "markdown",
"source": [
"To further explain, if you move the point $\\mathrm{A}$, point $\\mathrm{B}$, point $\\mathrm{C}$, or point $\\mathrm{P'}$, the points will automatically move according to their positions. You can see that the point $\\mathrm{P''}$, the point $\\mathrm{P'''}$, and the point $\\mathrm{P}$ are moving. However, when the positions of point $\\mathrm{A}$, point $\\mathrm{B}$, and point $\\mathrm{C}$ are located clockwise, point $\\mathrm{P}$, point $\\mathrm{P''}$, point $\\mathrm{P'''}$, is data created so that the points appear according to the desired mathematical logic. And when the triangle $\\mathrm{ABC}$ has one interior angle greater than $120^\\circ$, the actual minimum value is the point where the interior angle is greater than $120^\\circ$, where the sum of the distances becomes minimum."
],
"metadata": {
"id": "aCa_jVfoQHj0"
}
},
{
"cell_type": "markdown",
"source": [
"# 경사하강법을 활용한 삼각형의 페르마 점에 대한 접근(Approach to the Fermat point of a triangle using gradient descent)"
],
"metadata": {
"id": "7f0DjMnWJDYu"
}
},
{
"cell_type": "markdown",
"source": [
"어떤 함수의 최솟값을 구하는 방식으로 경사하강법이란 방법이 있다. 여기서는 이변수 함수에 대하여 말해보려 한다. 다변수는 이변수 식에서 변수를 증가시켜 생각하면 되므로 이변수 함수에 대한 것을 이해하면 다변수도 이해가 될 것이다.\n",
"\n",
"경사하강법은 $n$번째 점 $(x_n,y_n)$로 부터\n",
"$(x_{n+1},y_{n+1})=(x_n,y_n)-\\alpha(f_x(x_n,y_n),f_y(x_n,y_n))$ 을 계산하는 방식이다. 여기서 $f_x$는 함수 $f$를 $x$에 관해서 $1$차 미분한 함수이고, $f_y$는 함수 $f$를 $y$에 관해서 $1$차 미분한 함수를 뜻 한다. 이때, $\\alpha$를 학습률이라고 한다. 이 방식으로 계산을 계속했을 때, 점차적으로 최소가 되는 점에 점근된다. 사실, 자세히 다루지 않았지만, 지엽적인 최솟값을 찾아서 전체적인 최솟값을 찾았다는 보장은 못한다. 또한 학습률을 크게 하면 반복적인 계산을 적게하면서 최솟값의 오차 범위에 해당하는 점에 접근할 수 있다. 하지만, 너무 크게 하면 영원히 접근 못하는 경우도 생긴다. 그래서 학습률을 어떻게 정해하 하는 것도 고민하는 문제다.\n",
"\n",
"지금까지는 작도방식으로 정확히 최솟점을 찾는 것을 해보았다. 지금부터는 경사하강법의 간단한 설명으로 부터 최솟점에 접근하는 점을 수학공학도구이 Geogebra를 활용하여 만들어 보겠다."
],
"metadata": {
"id": "hlw1RTWJvkE3"
}
},
{
"cell_type": "markdown",
"source": [
"There is a method called gradient descent to find the minimum value of a function. Here, I would like to talk about bivariate functions. Multivariables can be thought of as increasing variables in a bivariate equation, so understanding bivariate functions will help you understand multivariate functions.\n",
"\n",
"Gradient descent starts from the $n$th point $(x_n,y_n)$.\n",
"This method calculates $(x_{n+1},y_{n+1})=(x_n,y_n)-\\alpha(f_x(x_n,y_n),f_y(x_n,y_n))$. Here, $f_x$ is the function obtained by differentiating the function $f$ to the order of $1$ with respect to $x$, and $f_y$ refers to the function obtained by differentiating the function $f$ to the order of $1 with respect to $y$. At this time, $\\alpha$ is called the learning rate. When the calculation is continued in this manner, it gradually asymptotes to a minimum point. In fact, although we did not go into detail, finding a local minimum does not guarantee that you have found the global minimum. Additionally, if you increase the learning rate, you can approach the point corresponding to the error range of the minimum value with fewer repetitive calculations. However, if you make it too large, you may not be able to access it forever. So how to determine the learning rate is also a question of concern.\n",
"\n",
"So far, we have tried to find the exact minimum point using the drawing method. From now on, we will use the mathematical engineering tool Geogebra to create a point approaching the minimum point from a simple explanation of the gradient descent method.\n",
"\n",
"\n",
"\n"
],
"metadata": {
"id": "X3FfPwKz0hUn"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "T6d5ozYvK2dI"
}
},
{
"cell_type": "markdown",
"source": [
"점 $\\mathrm{P'}$에서 점 $\\mathrm{A}$, 점 $\\mathrm{B}$, 점 $\\mathrm{C}$와 각각의 거리의 합을 구하기 위해 LengthP'(x,y) 라는 함수를 만든다. 나중에 점 $\\mathrm{P'}$의 $x$ 좌표와 $y$ 좌표를 이 함수에 넣으면 거리의 합을 구할 수 있다. [Input] 에 다음 내용을 입력시키고 Enter 키를 누른다."
],
"metadata": {
"id": "xZGwVrXkjfkQ"
}
},
{
"cell_type": "markdown",
"source": [
"Create a function LengthP'(x,y) to find the sum of the distances from point $\\mathrm{P'}$ to point $\\mathrm{A}$, point $\\mathrm{B}$, and point $\\mathrm{C}$. Later, if you input the $x$ coordinates and $y$ coordinates of the point $\\mathrm{P'}$ into this function, you can get the sum of the distances. Enter the following in [Input] and press Enter."
],
"metadata": {
"id": "Sv_Ukkn89apx"
}
},
{
"cell_type": "markdown",
"source": [
"```\n",
"LengthP'(x,y)=sqrt((x-x(A))^2+(y-y(A))^2)+sqrt((x-x(B))^2+(y-y(B))^2)+sqrt((x-x(C))^2+(y-y(C))^2)\n",
"```"
],
"metadata": {
"id": "diStNivN80kH"
}
},
{
"cell_type": "markdown",
"source": [
"** 사용된 명령어 설명(Description of commands used) **\n",
"\n",
"```\n",
"+ : 덧셈\n",
" Addition\n",
"- : 뺄셈\n",
" Subtraction\n",
"* : 곱셈\n",
" Multiplication\n",
"^ : 지수\n",
" Exponentiation\n",
"( ) : 괄호\n",
" Parentheses\n",
"x(A) : A의 x 좌표\n",
" x-coordinate of A\n",
"y(A) : A의 y 좌표\n",
" y-coordinate of A\n",
"sqrt( ) : 제곱근\n",
" Square root\n",
"```\n",
"참고 링크(Reference link) [Predefined Functions and Operators](https://wiki.geogebra.org/en/Predefined_Functions_and_Operators)\n"
],
"metadata": {
"id": "k0Z8uEvvxAlG"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "23PNZ1VvM52h"
}
},
{
"cell_type": "markdown",
"source": [
"함수 LengthP'를 변수 $x$에 대한 $1$차 편미분식을 dLengthP'dx로 이름을 붙이겠다. Geogebra의 [Derivative] 명령어를 활용하면 쉽게 구할 수 있다. [Input] 에 다음 내용을 입력시키고 Enter 키를 누른다."
],
"metadata": {
"id": "y6cnxxljKlwR"
}
},
{
"cell_type": "markdown",
"source": [
"We will name the function LengthP' as the $1$ order partial differential equation for the variable $x$ as dLengthP'dx. It can be easily obtained by using Geogebra's [Derivative] command. Enter the following in [Input] and press Enter."
],
"metadata": {
"id": "oQBo1E1r9rKI"
}
},
{
"cell_type": "markdown",
"source": [
"\n",
"\n",
"```\n",
"dLengthP'dx=Derivative(LengthP'(x, y), x, 1)\n",
"```\n",
"\n"
],
"metadata": {
"id": "TfSs9YC59h9E"
}
},
{
"cell_type": "markdown",
"source": [
"** 사용된 명령어 설명(Description of commands used) **\n",
"```\n",
"* Derivative( , , )\n",
" 의 에 대한 차 편미분\n",
" th order partial differentiation for of \n",
"```\n",
"참고 링크(Reference link) [Derivative Command](https://wiki.geogebra.org/en/Derivative_Command)\n"
],
"metadata": {
"id": "22f8yBaq0bF4"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "G9NyxrievnV_"
}
},
{
"cell_type": "markdown",
"source": [
"함수 LengthP'를 변수 $y$에 대한 $1$차 편미분식을 dLengthP'dy로 이름을 붙이겠다. Geogebra의 [Derivative] 명령어를 활용하면 쉽게 구할 수 있다. [Input] 에 다음 내용을 입력시키고 Enter 키를 누른다."
],
"metadata": {
"id": "WNrWoBxh9705"
}
},
{
"cell_type": "markdown",
"source": [
"We will name the function LengthP' as the $1$ order partial differential equation for the variable $y$ as dLengthP'dy. It can be easily obtained by using Geogebra's [Derivative] command. Enter the following in [Input] and press Enter."
],
"metadata": {
"id": "Ba0kyW_j9-ZS"
}
},
{
"cell_type": "markdown",
"source": [
"```\n",
"dLengthP'dy=Derivative(LengthP'(x, y), y, 1)\n",
"```"
],
"metadata": {
"id": "hGr0rVBZ9y3I"
}
},
{
"cell_type": "markdown",
"source": [
"** 사용된 명령어 설명(Description of commands used) **\n",
"```\n",
"* Derivative( , , )\n",
" 의 에 대한 차 편미분\n",
" th order partial differentiation for of \n",
"```\n",
"참고 링크(Reference link) [Derivative Command](https://wiki.geogebra.org/en/Derivative_Command)\n"
],
"metadata": {
"id": "v7dzOU2g2jbS"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "IN6GAXVStwIE"
}
},
{
"cell_type": "markdown",
"source": [
"경사하강법에 필요한 학습률을 LearningRate 라는 이름을 붙이겠다. 기본 값을 $0.2$ 로 정하도록 하겠다. [Input] 에 다음 내용을 입력시키고 Enter 키를 누른다."
],
"metadata": {
"id": "uSAwuwIi-Jjh"
}
},
{
"cell_type": "markdown",
"source": [
"The learning rate required for gradient descent will be named LearningRate. We will set the default value to $0.2$. Enter the following in [Input] and press Enter."
],
"metadata": {
"id": "C_nkPCiU-N7r"
}
},
{
"cell_type": "markdown",
"source": [
"```\n",
"LearningRate=0.2\n",
"```"
],
"metadata": {
"id": "VDULnSALW3hd"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "lqdT6Ykn41tT"
}
},
{
"cell_type": "markdown",
"source": [
"접근하는 점들을 순서대로 저장하는 리스트를 만들고 이 리스트를 List1 이라 하자. 이 리스트의 기본 데이터는 $(0,0)$ 을 가지는 리스트이다. [Input] 에 다음 내용을 입력시키고 Enter 키를 누른다."
],
"metadata": {
"id": "2f7OHBGx-jLe"
}
},
{
"cell_type": "markdown",
"source": [
"Let's create a list that stores the access points in order and call this list List1. The basic data of this list is a list with $(0,0)$. Enter the following in [Input] and press Enter."
],
"metadata": {
"id": "sbcRSzvc-lh6"
}
},
{
"cell_type": "markdown",
"source": [
"```\n",
"List1={(0, 0)}\n",
"```"
],
"metadata": {
"id": "YjcQ6AuQso9l"
}
},
{
"cell_type": "markdown",
"source": [
"** 사용된 명령어 설명(Description of commands used) **\n",
"\n",
"```\n",
"* { } : 리스트(List)\n",
"```\n",
"참고 링크(Reference link) [Lists](https://wiki.geogebra.org/en/Lists)\n"
],
"metadata": {
"id": "MIQHGNjb3I5z"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "Bfgk7VlO5Q-s"
}
},
{
"cell_type": "markdown",
"source": [
"[Input] 에 다음 내용을 입력시키고 Enter 키를 누른다."
],
"metadata": {
"id": "HDC8S14KJIvB"
}
},
{
"cell_type": "markdown",
"source": [
"Enter the following in [Input] and press Enter."
],
"metadata": {
"id": "viv2UQ26JKtQ"
}
},
{
"cell_type": "markdown",
"source": [
"```\n",
"List2={}\n",
"```"
],
"metadata": {
"id": "RrsqKf7et8-1"
}
},
{
"cell_type": "markdown",
"source": [
"** 사용된 명령어 설명(Description of commands used) **\n",
"\n",
"```\n",
"* { } : 리스트(List)\n",
"```\n",
"참고 링크(Reference link) [Lists](https://wiki.geogebra.org/en/Lists)\n"
],
"metadata": {
"id": "8dMO2ox-4Row"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "37T-7ouO5_Iw"
}
},
{
"cell_type": "markdown",
"source": [
"[Input] 에 다음 내용을 입력시키고 Enter 키를 누른다."
],
"metadata": {
"id": "xpGhG8blJpvu"
}
},
{
"cell_type": "markdown",
"source": [
"Enter the following in [Input] and press Enter."
],
"metadata": {
"id": "z2c4jiWiJrBf"
}
},
{
"cell_type": "markdown",
"source": [
"```\n",
"CCount=Length(List1)-1\n",
"```"
],
"metadata": {
"id": "DI59UlZkvEJy"
}
},
{
"cell_type": "markdown",
"source": [
"** 사용된 명령어 설명(Description of commands used) **\n",
"\n",
"```\n",
"* Length( )\n",
" 의 길이, 즉 의 원소의 개수\n",
" (The length of , which is the number of elements in .)\n",
"```\n",
"참고 링크(Reference link) [Length Command](https://wiki.geogebra.org/en/Length_Command)\n",
"\n"
],
"metadata": {
"id": "tFnysKrL5IKx"
}
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {
"id": "QXt0oJJdMaQB"
}
},
{
"cell_type": "markdown",
"source": [
"[Move] 도구를 선택한다. 점 $\\mathrm{P'}$에서 마우스 오른쪽 버튼을 누르면 나타나는 메뉴에서 [Object Properties]를 선택한다. [Preferences] 창이 나타난다. [Scripting] 탭, [On Update] 탭을 차례로 선택한 후 아래 내용을 차례로 입력한다."
],
"metadata": {
"id": "TfiOm5B_xN0z"
}
},
{
"cell_type": "markdown",
"source": [
"Select [Move] tool. Right-click on the point $\\mathrm{P'}$ and select [Object Properties] from the menu that appears. [Preferences] window appears. Select [Scripting] tab, then [On Update] tab, and enter the following information in order."
],
"metadata": {
"id": "RsV9EC_2E-An"
}
},
{
"cell_type": "markdown",
"source": [
"```\n",
"Line 1 : SetValue(List1,{(x(P'),y(P'))})\n",
"\n",
"Line 2 : SetValue(List2,{})\n",
"```"
],
"metadata": {
"id": "IcqrsA9rDxt4"
}
},
{
"cell_type": "markdown",
"source": [
"[Preferences] 창을 닫는다. 점 $\\mathrm{P'}$을 움직이면 List1 의 점의 좌표가 변하는 것을 볼 수 있다."
],
"metadata": {
"id": "GJ1xZ5UQEDQZ"
}
},
{
"cell_type": "markdown",
"source": [
"Close [Preferences] window. If you move the point $\\mathrm{P'}$, you can see that the coordinates of the point in List1 change."
],
"metadata": {
"id": "_4U25WD6FUWy"
}
},
{
"cell_type": "markdown",
"source": [
"** 사용된 명령어 설명(Description of commands used) **\n",
"\n",
"```\n",
"* SetValue(