Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
(연관된 글이 1개 있습니다.)

GeoGebra 기하 (11) - 3대 작도 불능 문제의 하나인 임의 각의 3등분

지오지브라 수학 앱을 이용해,

GeoGebra 기하 - 컴퍼스와 자를 이용한 작도 프로그램
; https://www.sysnet.pe.kr/2/0/11568

컴퍼스와 자를 이용한 작도를 실습할 수 있습니다. 이미 증명된 바에 의해, 임의 각의 3등분은 불가능합니다. 찬찬히 지난 글을 한번 읽어 보면,

GeoGebra 기하 (7) - 각의 이등분
; https://www.sysnet.pe.kr/2/0/11577

GeoGebra 기하 (8) - 호(Arc)의 이등분
; https://www.sysnet.pe.kr/2/0/11578

결국 "각의 3등분"이란, "호의 3등분"을 할 수 있다면 "각의 3등분"도 할 수 있는 것입니다. 그렇다고 모든 각에 대한 3등분을 할 수 없는 것은 아닙니다. 그나마 해당 각이 알려져 있다면 지난 글에서처럼,

GeoGebra 기하 (10) - 직각의 3등분
; https://www.sysnet.pe.kr/2/0/11580

작도 가능한 도형들 중에서 뽑아낼 수 있는 각도를 이용해 3등분 하는 것이 가능합니다. 예를 들어, 정삼각형으로 만든 60도는 절반씩 나누다 보면 30, 15, 7.5, 3.75, 1.875 등의 각도를 작도할 수 있고 따라서 그것들의 3배 각들은 3등분이 가능합니다. 이런 식으로 정사각형의 90도에서 45, 22.5, 11.25, 5.625, 2.8125, 1.40625 등의 각도와 정오각형을 작도한다면 108도에서 54, 27, 13.5, 6.75, 3.375, 1.6875 등의 각도를 3등분 작도에 사용할 수 있습니다. 게다가 정오각형의 54도와 정사각형의 11.25도를 빼면 42.75도를 작도하는 것도 가능하니 이런 식으로 하다 보면 알려진 각에 대해서는 꽤나 많이 3등분 할 수 있는 조합이 나옵니다.

문제는, 그냥 다음과 같이 임의로 주어진 각입니다.

trisector_1.png

이것은 말 그대로 "호의 3등분"을 할 수 있어야만 합니다.




선형 보간법을 한다면, 그나마 다음과 같은 정도로 근삿값을 구할 수 있습니다.

trisector_2.png

혹은 아래의 책에서 소개하고 있는,

수학이란 무엇인가
; http://www.yes24.com/24/goods/274701?scode=032

"자의 다른 기능을 허용한다면 작도 가능한 것은 엄청나게 확장될 수 있다"고 하면서 아르키메데스의 저술에서 발견된 각의 삼등분 작도 방법이 있습니다.

trisector_3.png

위의 그림은, 각 EAC에 대한 3등분을 하는 것으로 선분 DA와 동일한 길이의 점을 선분 AC의 연장선 위에 (F의 위치를 잡아) "찍는" 것입니다. 이게 왜 3등분인지 증명은 다음과 같이 보조 선을 그어 보면 확실히 알 수 있습니다.

trisector_4.png

이를 기반으로 다음과 같은 증명을 할 수 있습니다.

새롭게 "교점을 맞춰 찍은" 점 F를 기반으로 각 DFG를 x로 둡니다. DFG가 x각이므로 DAG도 x각임.

그럼 각 HDA는 2x가 됩니다. (현 HA에 대한 중심각 HDA는 원주각 HFA의 2배이기 때문임)

각 HDA == 각 HEA이므로, 따라서 각 EAD에 대해 다음의 공식이 성립합니다.
각 EAD = 삼각형 내각의 합 180 - (각 HDA + 각 HEA)
각 EAD = 180 - (2x + 2x)
       = 180 - 4x

선분 CAG는 일직선으로 180도이므로 이제 알려진 각들을 이용해 정리하면,
180 = 각 DAG + 각 EAD + 각 EAC
    = x + (180 - 4x) + 각 EAC
    = x + 180 - 4x + 각 EAC
    = -3x + 180 + 각 EAC

0   = -3x + 각 EAC
3x = 각 EAC
x = 각 EAC / 3

그런데, 왜 이것이 자의 다른 용도를 활용한 것인지는 실제로 작도를 해보면 압니다. 아래에서 보는 바와 같이, 교점 F를 잡는 것이 정확한 작도에 의한 것이 아닌, 선분 DA의 동일한 길이를 얻기 위해 다음과 같이 "찍어야"하기 때문입니다.

trisector_5.gif

다시 말해, 위의 경우는 "자"가 "주어진 두 점을 지나는 직선"을 긋는 도구로써 사용된 것이 아니라는 것입니다.

혹시 그래도 3등분 할 수 있는 일반적인 방법이 있지 않을까 하고 고민하시는 분들은 "수학이란 무엇인가"의 책에서 위의 3등분이 불가능함을 대수 방정식을 이용해 풀어 놓은 것을 참고하시면 ... 포기하게 되실 겁니다. ^^




재미있는 것은, 이것이 가능하다고 국내에서 책까지 판매된 적이 있습니다.

각의 3등분의 정리 - 2425년만에 밝혀진 수학의 신비 (양장)
; http://www.yes24.com/24/goods/26904007

게다가 이 책을 ^^; 소개하고 있기까지 한 글도 있습니다.

각의 3등분의 정리
; http://egloos.zum.com/igenbin/v/2693745

저 글의 덧글에 보면, 해당 책의 저자가 남긴 글이 있고 그 안의 링크를 타고 들어가면 3등분에 대한 내용을 알 수 있습니다.

새로 발견한 임의각의 3등분법
; https://blog.naver.com/mgeo67/40018980301

저 글의 "그림 1"을 보자마자 알 수 있는 것은 도대체 원호 AY의 3등분 지점인 점 S를 어떻게 찍었냐는 것입니다. 그러니까, 저 그림에서는 미리부터 그 위치를 알고 찍은 걸 이용해 증명을 하고 있는 것입니다. 사실, 원호 AY의 3등분 지점인 점 S를 찍을 수 있는 "실력"이면 어렵게 거기를 찍을 것이 아니라 원호 XY의 3등분인 점 B나 점 C를 찍으면 됩니다.

좀 더 읽어보면, 글쓴이가 주장하는 것은 원의 중심 O와 점 S, 점 B가 정삼각형을 이룬다는 나름의 발견으로 그걸 이용하면 S와 B를 찍을 수 있을 것처럼 생각하는 것 같기도 합니다. 실제로 다음과 같이 쓰여 있습니다.

"
그리고 위의 그림1에서 △ BOS가 정삼각형(Regular triangle)이라는 것은 유클리드 도구로 무수히 많은 각을 3등분 할 수 있게 하는 관건이 된다.
"


그런데 이것을 GeoGebra로 실제로 재현해 볼까요? 아래와 같이 정삼각형을 그릴 수는 있지만,

trisector_6.gif

보는 바와 같이 도대체 어느 지점에서 멈춰야 원호를 3등분 할 수 있는지 알 수가 없습니다. 그냥 봐도, 말 그대로 찍기 수준일 뿐 오히려 이런 정도가 3등분에 대한 정리라면 이전에 살펴본 아르키메데스의 방법이 더 정답에 가깝습니다.

(첨부 파일은 이 글에서 소개한 3개의 ggb 작도 파일을 담고 있습니다.)




Basic Tools
    Move
    Point
    Segment
    Circle with Center through Point

Edit
    Show / Hide Label
    Show / Hide Object

Construct
    Midpoint or Center
    Perpendicular Line
    Perpendicular Bisector
    Parallel Line
    Angle Bisector

Measure
    Angle
    Distance or Length

Lines
    Segment
    Segment with Given Length
    Ray

Circles
    Circle with Center through Point
    Compass
    Circumcircular Arc

Polygons
    Regular Polygon




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 7/5/2018]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  22  23  24  [25]  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
12996정성태3/9/202215602VS.NET IDE: 175. Visual Studio - 인텔리센스에서 오버로드 메서드를 키보드로 선택하는 방법
12995정성태3/8/20227897.NET Framework: 1173. .NET에서 Producer/Consumer를 구현한 BlockingCollection<T>
12994정성태3/8/20227213오류 유형: 798. WinDbg - Failed to load data access module, 0x80004002
12993정성태3/4/20226984.NET Framework: 1172. .NET에서 Producer/Consumer를 구현하는 기초 인터페이스 - IProducerConsumerCollection<T>
12992정성태3/3/20228365.NET Framework: 1171. C# - BouncyCastle을 사용한 암호화/복호화 예제파일 다운로드1
12991정성태3/2/20227599.NET Framework: 1170. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 transcode_aac.c 예제 포팅
12990정성태3/2/20227192오류 유형: 797. msbuild - The BaseOutputPath/OutputPath property is not set for project '[...].vcxproj'
12989정성태3/2/20226764오류 유형: 796. mstest.exe - System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.QualityTools.Tips.WebLoadTest.Tip
12988정성태3/2/20225710오류 유형: 795. CI 환경에서 Docker build 시 csproj의 Link 파일에 대한 빌드 오류
12987정성태3/1/20227150.NET Framework: 1169. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 demuxing_decoding.c 예제 포팅
12986정성태2/28/20228003.NET Framework: 1168. C# -IIncrementalGenerator를 적용한 Version 2 Source Generator 실습 [1]
12985정성태2/28/20227892.NET Framework: 1167. C# -Version 1 Source Generator 실습
12984정성태2/24/20226991.NET Framework: 1166. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 filtering_video.c 예제 포팅
12983정성태2/24/20227089.NET Framework: 1165. .NET Core/5+ 빌드 시 runtimeconfig.json에 설정을 반영하는 방법
12982정성태2/24/20227025.NET Framework: 1164. HTTP Error 500.31 - ANCM Failed to Find Native Dependencies
12981정성태2/23/20226664VC++: 154. C/C++ 언어의 문자열 Literal에 인덱스 적용하는 구문 [1]
12980정성태2/23/20227373.NET Framework: 1163. C# - 윈도우 환경에서 usleep을 호출하는 방법 [2]
12979정성태2/22/20229951.NET Framework: 1162. C# - 인텔 CPU의 P-Core와 E-Core를 구분하는 방법 [1]파일 다운로드2
12978정성태2/21/20227267.NET Framework: 1161. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 resampling_audio.c 예제 포팅
12977정성태2/21/202210999.NET Framework: 1160. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 qsv 디코딩
12976정성태2/21/20226644VS.NET IDE: 174. Visual C++ - "External Dependencies" 노드 비활성화하는 방법
12975정성태2/20/20228398.NET Framework: 1159. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 qsvdec.c 예제 포팅파일 다운로드1
12974정성태2/20/20226538.NET Framework: 1158. C# - SqlConnection의 최소 Pooling 수를 초과한 DB 연결은 언제 해제될까요?
12973정성태2/16/20228762개발 환경 구성: 639. ffmpeg.exe - Intel Quick Sync Video(qsv)를 이용한 인코딩 [3]
12972정성태2/16/20228028Windows: 200. Intel CPU의 내장 그래픽 GPU가 작업 관리자에 없다면? [4]
12971정성태2/15/20229681.NET Framework: 1157. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 muxing.c 예제 포팅 [7]파일 다운로드2
... 16  17  18  19  20  21  22  23  24  [25]  26  27  28  29  30  ...