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

비밀번호

댓글 작성자
 




1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13843정성태12/13/20244391오류 유형: 938. Docker container 내에서 빌드 시 error MSB3021: Unable to copy file "..." to "...". Access to the path '...' is denied.
13842정성태12/12/20244534디버깅 기술: 205. Windbg - KPCR, KPRCB
13841정성태12/11/20244866오류 유형: 937. error MSB4044: The "ValidateValidArchitecture" task was not given a value for the required parameter "RemoteTarget"
13840정성태12/11/20244439오류 유형: 936. msbuild - Your project file doesn't list 'win' as a "RuntimeIdentifier"
13839정성태12/11/20244878오류 유형: 936. msbuild - error CS1617: Invalid option '12.0' for /langversion. Use '/langversion:?' to list supported values.
13838정성태12/4/20244606오류 유형: 935. Windbg - Breakpoint 0's offset expression evaluation failed.
13837정성태12/3/20245073디버깅 기술: 204. Windbg - 윈도우 핸들 테이블 (3) - Windows 10 이상인 경우
13836정성태12/3/20244628디버깅 기술: 203. Windbg - x64 가상 주소를 물리 주소로 변환 (페이지 크기가 2MB인 경우)
13835정성태12/2/20245071오류 유형: 934. Azure - rm: cannot remove '...': Directory not empty
13834정성태11/29/20245305Windows: 275. C# - CUI 애플리케이션과 Console 윈도우 (Windows 10 미만의 Classic Console 모드인 경우) [1]파일 다운로드1
13833정성태11/29/20244979개발 환경 구성: 737. Azure Web App에서 Scale-out으로 늘어난 리눅스 인스턴스에 SSH 접속하는 방법
13832정성태11/27/20244915Windows: 274. Windows 7부터 도입한 conhost.exe
13831정성태11/27/20244382Linux: 111. eBPF - BPF_MAP_TYPE_PERF_EVENT_ARRAY, BPF_MAP_TYPE_RINGBUF에 대한 다양한 용어들
13830정성태11/25/20245202개발 환경 구성: 736. 파이썬 웹 앱을 Azure App Service에 배포하기
13829정성태11/25/20245174스크립트: 67. 파이썬 - Windows 버전에서 함께 설치되는 py.exe
13828정성태11/25/20244450개발 환경 구성: 735. Azure - 압축 파일을 이용한 web app 배포 시 디렉터리 구분이 안 되는 문제파일 다운로드1
13827정성태11/25/20245105Windows: 273. Windows 환경의 파일 압축 방법 (tar, Compress-Archive)
13826정성태11/21/20245338닷넷: 2313. C# - (비밀번호 등의) Console로부터 입력받을 때 문자열 출력 숨기기(echo 끄기)파일 다운로드1
13825정성태11/21/20245672Linux: 110. eBPF / bpf2go - BPF_RINGBUF_OUTPUT / BPF_MAP_TYPE_RINGBUF 사용법
13824정성태11/20/20244751Linux: 109. eBPF / bpf2go - BPF_PERF_OUTPUT / BPF_MAP_TYPE_PERF_EVENT_ARRAY 사용법
13823정성태11/20/20245304개발 환경 구성: 734. Ubuntu에 docker, kubernetes (k3s) 설치
13822정성태11/20/20245173개발 환경 구성: 733. Windbg - VirtualBox VM의 커널 디버거 연결 시 COM 포트가 없는 경우
13821정성태11/18/20245096Linux: 108. Linux와 Windows의 프로세스/스레드 ID 관리 방식
13820정성태11/18/20245252VS.NET IDE: 195. Visual C++ - C# 프로젝트처럼 CopyToOutputDirectory 항목을 추가하는 방법
13819정성태11/15/20244490Linux: 107. eBPF - libbpf CO-RE의 CONFIG_DEBUG_INFO_BTF 빌드 여부에 대한 의존성
13818정성태11/15/20245303Windows: 272. Windows 11 24H2 - sudo 추가
1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...