마지막 변경일 018년 5월 7일 ** 뷔퐁의 바늘 문제 ** Geogebra와 수학의 시각화 책의 3.5소절 내용임. http://min7014.iptime.org/math/01706300.htm 가장 최근 파일은 링크를 누르면 받아 보실 수 있습니다. https://goo.gl/fsu59r http://min7014.iptime.org/math/018011301.pdf 자료의 수정이 필요한 부분이 있으면 언제든지 민은기 E-mail : min7014@nate.com 이경수 E-mail : ksteach81@gmail.com 으로 연락주시면 감사하겠습니다. 강의록을 보기전에 프로그램 설치를 반드시 읽어보시고 꼭 지오지브라 클래 식 5를 설치하시기 바랍니다. https://goo.gl/wqwj6v http://min7014.iptime.org/math/018011001.pdf * 주요변경내역 * 017.06.4 Geogebra와 수학의 시각화 책에 엮어 출간. 1
차례 차례 i 제1장 Geogebra를 활용한 통계 1 1.1 뷔퐁의 바늘 문제.......................... 1.1.1 문제해결과정......................... 1.1. 바늘을 떨어뜨릴 판 제작하기................ 4 1.1.3 랜덤으로 바늘의 중점 위치 정하기............. 6 1.1.4 랜덤으로 바늘의 기울기 정하기............... 7 1.1.5 바늘 그리기......................... 8 1.1.6 평행선과 만나는 바늘의 수 세기.............. 10 1.1.7 바늘 던지기 버튼 만들기.................. 11 1.1.8 스프레드시트를 이용하여 표 구성하기........... 1 찾아보기 15 i
제 1 장 Geogebra 를활용한통계 1
제 1 장 Geogebra를 활용한 통계 1.1 뷔퐁의 바늘 문제 뷔퐁의 바늘문제는 18세기 프랑스의 수학자 조르주루이 르크레르 드 뷔퐁(GeorgesLouis Leclerc, Comte de Buffon)이 제시한 문제로 바닥에 일정한 간격의 평행 선이 있고, 여기에 바늘을 떨어뜨렸을 때 평행선과 바늘이 만날 확률을 묻는 문제입니다. 이번 장에서는 먼저 뷔퐁의 바늘 문제를 수학적으로 해결할 수 있 는 방법을 생각해 보겠습니다. 그리고 Geogebra를 사용하여 수천 개의 바늘을 임의로 바닥에 떨어뜨리는 상황을 자료로 만들어 보고, 그것을 통한 실험적 결 과와 수학적으로 해결한 결과를 서로 비교해 보도록 하겠습니다. 1.1.1 문제해결과정 평행선의 간격을 d, 바늘의 길이를 l이라 하고, d > l이라 가정하겠습니다. 바 늘을 떨어뜨렸을 때, 바늘의 중심이 파란색 영역에 떨어질 때만 생각해도 일반 성을 잃지 않습니다. 그림에서 x는 평행선에서 바늘의 중심까지의 거리, θ는 바늘이 평행선의 오른 쪽 방향과 이루는 각도입니다. 바늘이 평행선과 만나는 상황을 생각해 보았을 때, 바늘의 중심이 평행선과 아무리 가까이 있더라도 θ가 매우 작으면 바늘은
뷔퐁의 바늘 문제 π 에 가까운 값을 가져서 거의 수 직으로 세워진 형태라고 하더라도 중심이 평행선에서 멀리 떨어져 있으면 역시 평행선과 만날 수 없을 것입니다. 반대로 θ가 바늘과 평행선은 만날 수 없을 것입니다. 즉, 바늘이 평행선과 만나기 위해서 는 x와 θ가 모두 적절한 값을 가져야 한다고 볼 수 있습니다. 그러면 평행선과 바늘이 만날 수 있는 조건을 조금 더 구체적으로 생각해 보겠습니다. 평행선과 바늘의 중심 사이의 거리 x의 범위는 [0, d/]이고, 바늘과 평행선이 이루는 각 θ의 범위는 [0, π]입니다. 바늘이 평행선과 만나기 위해서는 위의 그림에서 알 l 수 있듯이 부등식 x sin θ을 만족해야 합니다. θ와 x를 각각 가로축, 세로축 으로 하는 좌표평면에 위 부등식의 영역을 나타내 보면 다음 그림과 같습니다. 따라서 바늘과 평행선이 만날 확률은 기하학적 확률의 정의에 따라 다음과 같 음을 알 수 있습니다. 3
제 1 장 Geogebra를 활용한 통계 P = l Z 특히, l = d이면 P = sin θdθ 0 dπ l = dπ = π Z π sin θdθ 0 l dπ d 1 이고, l = 이면 P = 입니다. π π 1.1. 바늘을 떨어뜨릴 판 제작하기 바늘을 떨어뜨릴 평행선이 그려진 판을 만들어 보겠습니다. 우선 좌표축을 보 이지 않게 설정하고, 입력창에 A=( 1, 1)과 같은 형식으로 네 점 A( 1, 1), B(16, 1), C(16, 1), D( 1, 1)를 생성합니다. 그리고 아래와 같이 입력하여 네 점을 꼭짓점으로 하는 다각형을 만들어 줍니다. 다각형[A,B,C,D] 그리고 기하창의 설정사항에서 x축, y축의 최댓값과 최솟값을 다음과 같이 설 정합니다. 4 최솟값 최댓값 x축 x(a) 1.8*x(C) y축 y(a) y(c)
뷔퐁의 바늘 문제 위의 설정에 의해서 앞으로 기하창의 크기가 변경되더라도 기하창에 나타나는 x축, y축의 최댓값과 최솟값은 변하지 않게 됩니다. 그러나 x축과 y축의 눈금 비율이 1:1이 되도록 하기 위해 기하창의 가로와 세로의 비율을 1.8 : 1 로 맞 추어 주는 것이 좋겠습니다. 이때, 정확한 비율로 맞출 수는 없으므로 격자의 모양이 정사각형으로 보이게 해주면 됩니다. 다시 본론으로 돌아가서 다각형 의 꼭짓점 A, B, C, D와 선분 a, b, c, d를 보이지 않게 합니다. 이제 판 위에 간격이 1인 평행선 들을 그리겠습니다. 이를 위해 먼저 입력창에 다음과 같이 입력합니다. 선분[(0, 1), (15, 1)] 선분[<점>, <점>] 그러면 그림과 같이 선분이 하나 그려집니다. 이러한 선분을 y = 0부터 y = 11 까지 그리려고 합니다. 어떤 규칙에 의한 반복적인 작업이 필요한 경우 수열 이란 명령어를 이용하면 효율적으로 해결할 수 있습니다. 바로 전에 그렸던 선 분을 더블 클릭하여 재정의 창을 띄운 다음 아래와 같이 수정합니다. 수열[선분[(0, t), (15, t)],t,0,11] 5
제 1 장 Geogebra를 활용한 통계 수열[<표현식>, <변수>,<시작값>,<끝값>] 이 명령에 의해 1개의 선분이 한 번에 그려졌습니다. 수열이란 명령어에 의해 선분의 양 끝점의 y좌표에 0부터 11까지의 정수가 차례로 입력되었기 때문입 니다. 그러면 그려진 선분의 두께와 색상을 조절하여 눈에 잘 띄도록 설정하 고, 리스트의 이름을 Line 으로 수정하겠습니다. 1.1.3 랜덤으로 바늘의 중점 위치 정하기 이 절에서는 바늘을 임의로 떨어뜨리는 상황을 표현해 보도록 하겠습니다. 먼 저 Geogebra의 입력창에 다음과 같이 입력하여 바늘중점의 위치가 가로 [0,15], 세로 [-0.5,11.5] 범위에서 임의로 정해지도록 합니다. (랜덤균등분포[0,15], 랜덤균등분포[-0.5,11.5]) 랜덤균등분포[<최솟값>,<최댓값>] : 주어진 범위의 균등분포(연속확률분 포)에서 임의로 확률변수 추출 키보드에서 [Ctrl]+[R]을 누를 때마다 한 점이 설정한 범위 내에서 불규칙하 게 이동합니다 그런데 많은 수의 바늘을 떨어뜨리려면 그 만큼의 바늘중점이 필요합니다. 따라서 수열 명령어를 이용하여 이를 표현해 보도록 하겠습니다. 6
뷔퐁의 바늘 문제 위에서 생성한 점을 더블 클릭하여 재정의 창을 띄우고, 다음 내용을 입력하여 3000개의 바늘중점의 위치를 임의로 지정합니다. 수열[(랜덤균등분포[0,15], 랜덤균등분포[-0.5,11.5]),t,1,3000] 수열[<표현식>, <변수>,<시작값>,<끝값>] 가독성을 높이기 위해 리스트의 이름은 Mpoint 로 수정합니다. 그리고 점은 좌표만 필요한 것이므로 대수창에서 Mpoint의 파란색 원을 클릭하여 점들이 보이지 않도록 합니다. 1.1.4 랜덤으로 바늘의 기울기 정하기 바늘의 떨어진 모양을 결정하기 위해서는 중점의 위치와 기울어진 각도가 필 요합니다. 앞서 바늘중점의 위치를 정했으니 이번에는 3000개 바늘의 기울어 진 각도를 임의로 지정하겠습니다. 입력창에 다음과 같이 입력합니다. 수열[랜덤균등분포[0,π],t,1,3000] 7
제 1 장 Geogebra를 활용한 통계 그리고 생성된 리스트의 이름을 Angle 로 바꾸어 줍니다. 1.1.5 바늘 그리기 그러면 앞 절에서 만든 두 리스트를 바탕으로 바늘을 그려보도록 하겠습니다. 우선 바늘의 길이는 평행선 간격의 k배로 합니다. 즉, 바늘의 길이를 l, 평행 선의 간격을 d라 할 때, l=kd입니다. 기하창에 k라는 이름의 슬라이더를 생성 하고 범위는 [0., ] 범위의 수로 설정합니다. 이제 바늘의 양 끝점의 좌표를 결정하겠습니다. 평행선의 간격이 1이므로 바늘 절반의 길이는 k/입니다. 따 k k 라서 바늘의 양 쪽 점의 좌표는 중점에서 ± cos θ, ± sin θ 인 위치에 있습 니다. 이것을 바탕으로 입력창에 다음 내용을 입력합니다. ((x(원소[mpoint, 1]) - k/*cos(원소[angle, 1]), y(원소[mpoint, 1]) k/*sin(원소[angle, 1])) ((x(원소[mpoint, 1]) + k/*cos(원소[angle, 1]), y(원소[mpoint, 1]) + k/*sin(원소[angle, 1])) 원소[<리스트>,<원소의 위치>] 8
뷔퐁의 바늘 문제 위 그림과 같이 판 위에 두 점이 생성되었습니다. [Ctrl]+[R]을 누를 때마다 두 점이 같은 간격을 유지하면서 불규칙적으로 이동하는 것을 볼 수 있습니다. 이 두 점은 리스트 Mpoint와 Angle에서 각 첫 번째 원소로 만들어진 바늘의 양 끝점입니다. 이제 두 점을 삭제하고, 입력창에 다음 내용을 입력합니다. 선분[(x(원소[Mpoint, 1]) - k/*cos(원소[angle, 1]), y(원소[mpoint, 1]) - k/ *sin(원소[angle, 1])), (x(원소[mpoint, 1]) + k/ *cos(원소[angle, 1]), y(원소[mpoint, 1]) + k/ *sin(원소[angle, 1]))] 이 명령어는 길어서 복잡하게 보일 수 있지만 앞에서 찾은 두 점을 선분으로 이어주는 명령어가 추가되었을 뿐입니다. 위 그림과 같이 그림과 같이 선분이 만들어 집니다. 슬라이더에서 k값을 늘려 보면 선분의 길이가 길어지는 것을 확인할 수 있습니다. 역시 리스트 Mpoint 와 Angle의 각 첫 번째 원소로 만들어진 선분입니다. 리스트 Mpoint와 Angle 의 각 원소로 이루어진 3000개의 선분을 모두 나타내기 위해서 수열 명령어 를 활용하여 위의 내용을 다음과 같이 수정합니다. 9
제 1 장 Geogebra를 활용한 통계 수열[선분[(x(원소[Mpoint, t]) - k/*cos(원소[angle, t]), y(원소[mpoint, t]) - k/*sin(원소[angle, t])), (x(원소[mpoint, t]) + k/*cos(원소[angle, t]), y(원소[mpoint, t]) + k/*sin(원소[angle, t]))],t,1,3000] 아래 그림과 같이 판 위에 많은 수의 바늘이 생성됨을 볼 수 있습니다. 마지 막으로 생성된 바늘 리스트의 이름을 Needle 로 수정합니다. 1.1.6 평행선과 만나는 바늘의 수 세기 평행선과 만나는 바늘의 수를 세기에 앞서 다음 명령어를 살펴보겠습니다. 입 력창에 다음과 같이 입력합니다. G1=floor[1.4] G=floor[.7] G3=floor[-1.4] 10
뷔퐁의 바늘 문제 G1의 결과는 1, G의 결과는, G3의 결과는 로 나타납니다. 즉, 명령어 floor 는 입력한 수를 넘지 않는 최대의 정수를 나타냄을 알 수 있습니다. 이 제 대수창에서 G1, G, G3를 삭제하고, 본격적으로 floor 명령어를 활용하여 평행선과 만나는 바늘의 수를 세어 보겠습니다. 판 위에 그려진 평행선의 y좌 표는 0부터 11까지의 정수입니다. 만약 바늘 양 끝점의 y좌표에서 정수 부분 의 값이 서로 다르다면 그 바늘은 평행선을 가로 지르는 것입니다. 반대로 y 좌표의 정수부분이 서로 같다면 양 끝점이 평행선 사이에 놓이는 것이므로 이 경우 바늘은 평행선과 만나지 않는 것입니다. 이 때, 바늘 양 끝점의 y좌표는 연속확률변수이므로 정확히 정수가 될 확률은 이론적으로 0입니다. 따라서 바 늘 끝 점의 y좌표가 정수가 되어 평행선과 만나는 상황은 고려하지 않도록 하 겠습니다. 이제 입력창에 다음과 같이 입력합니다. 수열[조건[floor(y(원소[Mpoint, t]) - k/ *sin(원소[angle, t])) == floor(y(원소[mpoint, t]) + k/*sin(원소[angle, t])), 0, 1], t, 1, 3000] 조건[<조건>,<조건이 성립될 때 생성할 대상>,<조건이 성립되지 않을 때 생성할 대상>] 조금 복잡하게 보일 수 있지만 차근차근 살펴보도록 하겠습니다. 우선 조건 명령어의 첫 번째 인수 자리에 floor 명령어가 있습니다. floor를 사용해 바늘 양 끝점의 y좌표의 정수부분을 구하였고, 조건 명령어를 통해 앞서 구한 두 정수의 값이 같으면 0을 출력하고, 다르면 1을 출력하도록 하고 있습니다. 가장 바깥쪽에는 수열 명령어가 있어 3000개 바늘 모두에 대해서 검사를 해 줍니다. 마지막으로 만들어진 리스트의 이름을 Cross 으로 수정합니다. 1.1.7 바늘 던지기 버튼 만들기 바늘을 던지는 버튼을 만들어 보겠습니다. 버튼 도구를 사용하여 캡션에 Drop 을 입력하고, 스크립트에는 구성새로고침[] 을 입력합니다. 11
제 1 장 Geogebra를 활용한 통계 생성된 버튼을 클릭하면 바늘이 새로 던져지는 것을 확인할 수 있습니다 1.1.8 스프레드시트를 이용하여 표 구성하기 마지막 절에서는 3000개의 선분 중에 평행선과 만나는 선분의 개수와 상대도 수를 보여주는 표를 구성해 보겠습니다. 입력창에 다음 내용을 입력합니다. Count=세기조건[x == 1, Cross] Total=세기조건[x==0 x==1, Cross] Ratio=Count / Total Ratio의 설정사항에서 기호연산을 해제하여 소수의 형식으로 만들어 줍니다. 그리고 스프레드시트 창을 열고 그림과 같이 빈 공간에 다음 내용을 입력합니 다. 1 바늘의 총 수(T) =Total 평행선과 만나는 바늘의 수(C) =Count 상대도수(C/T) =Count/Total
뷔퐁의 바늘 문제 스프레드시트의 내용을 표로 만들어 기하창의 여백에 위치시킵니다. 그리고 상 대도수가 더 구체적으로 표시되도록 소수점 아래 넷째 자리까지 숫자가 나타 나도록 설정해 줍니다. 마지막으로 격자를 보이지 않게 처리하고 버튼과 슬라이더 그리고 표를 적당한 위치에 배치해 줍니다. 그러면 뷔퐁의 바늘문제를 실험해 볼 수 있는 자료가 모두 완성됩니다. 이론적 계산결과의 의하면 l=d일 때, P = 한 값이 나오는 것을 볼 수 있습니다. 0.6366인데 이 값에 거의 근접 π 13
찾아보기 floor, 11 구성새로고침, 11 랜덤균등분포, 6 선분, 5 수열, 6 원소, 8 조건, 11 15
찾아보기 그동안 했던 강의 자료 중 일부를 책으로 엮음. http://min7014.iptime.org/math/01706300.htm https://ggbm.at/gsarcqs5 책자료실(지오지브라 튜브) 16
[ 참고 ] [ 민은기선생님의수학자료실 ] Homepage : http://min7014.iptime.org Facebook Page : https://www.facebook.com/mineungimath YouTube Channel : https://goo.gl/jpzu5i [ 이경수선생님블로그 ] http://blog.naver.com/evening07 [GeoGebra 5.0.363.0-3D (03 June 017) 설치파일 ] Installer : https://goo.gl/yvjscv (From Home Page) Installer : https://goo.gl/n69yel (From Google Drive) [GeoGebra 5.0.46.0-d (0 May 018) 설치파일 ] Installer : https://goo.gl/ssdfbd (From Home Page) Portable : https://goo.gl/fxjxes(from Home Page) Installer : https://goo.gl/dqtbfk (From Google Drive) Portable : https://goo.gl/zwundc(from Google Drive) 17