Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일

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@outlook.com

비밀번호

댓글 쓴 사람
 




... 16  17  18  19  20  21  22  23  24  25  [26]  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
11803정성태1/10/20192144디버깅 기술: 121. windbg - 닷넷 Finalizer 스레드가 멈춰있는 현상
11802정성태1/7/20192301.NET Framework: 805. 두 개의 윈도우를 각각 실행하는 방법(Windows Forms, WPF)파일 다운로드1
11801정성태1/1/20192550개발 환경 구성: 427. Netsh의 네트워크 모니터링 기능 [3]
11800정성태12/28/20183270오류 유형: 509. WCF 호출 오류 메시지 - System.ServiceModel.CommunicationException: Internal Server Error
11799정성태12/19/20183266.NET Framework: 804. WPF(또는 WinForm)에서 UWP UI 구성 요소 사용하는 방법 [3]파일 다운로드1
11798정성태12/19/20183021개발 환경 구성: 426. vcpkg - "Building vcpkg.exe failed. Please ensure you have installed Visual Studio with the Desktop C++ workload and the Windows SDK for Desktop C++"
11797정성태3/7/20202044개발 환경 구성: 425. vcpkg - CMake Error: Problem with archive_write_header(): Can't create '' 빌드 오류
11796정성태12/19/20181811개발 환경 구성: 424. vcpkg - "File does not have expected hash" 오류를 무시하는 방법
11795정성태12/19/20183271Windows: 154. PowerShell - Zone 별로 DNS 레코드 유형 정보 조회 [1]
11794정성태12/17/20181730오류 유형: 508. Get-AzureWebsite : Request to a downlevel service failed.
11793정성태12/16/20182012개발 환경 구성: 423. NuGet 패키지 제작 - Native와 Managed DLL을 분리하는 방법
11792정성태12/11/20182414Graphics: 34. .NET으로 구현하는 OpenGL (11) - Per-Pixel Lighting파일 다운로드1
11791정성태6/23/20202486VS.NET IDE: 130. C/C++ 프로젝트의 시작 프로그램으로 .NET Core EXE를 지정하는 경우 닷넷 디버깅이 안 되는 문제 [1]
11790정성태12/11/20182178오류 유형: 507. Could not save daemon configuration to C:\ProgramData\Docker\config\daemon.json: Access to the path 'C:\ProgramData\Docker\config' is denied.
11789정성태12/10/20184973Windows: 153. C# - USB 장치의 연결 및 해제 알림을 위한 WM_DEVICECHANGE 메시지 처리파일 다운로드1
11788정성태12/4/20181762오류 유형: 506. SqlClient - Value was either too large or too small for an Int32.Couldn't store <2151292191> in ... Column
11787정성태11/29/20183229Graphics: 33. .NET으로 구현하는 OpenGL (9), (10) - OBJ File Format, Loading 3D Models파일 다운로드1
11786정성태11/29/20181871오류 유형: 505. OpenGL.NET 예제 실행 시 "Managed Debugging Assistant 'CallbackOnCollectedDelegate'" 예외 발생
11785정성태12/23/20192805디버깅 기술: 120. windbg 분석 사례 - ODP.NET 사용 시 Finalizer에서 System.AccessViolationException 예외 발생으로 인한 비정상 종료
11784정성태11/18/20182483Graphics: 32. .NET으로 구현하는 OpenGL (7), (8) - Matrices and Uniform Variables, Model, View & Projection Matrices파일 다운로드1
11783정성태11/18/20182356오류 유형: 504. 윈도우 환경에서 docker가 설치된 컴퓨터 간의 ping IP 주소 풀이 오류
11782정성태2/20/20192335Windows: 152. 윈도우 10에서 사라진 "Adapters and Bindings" 네트워크 우선순위 조정 기능 - 두 번째 이야기
11781정성태11/17/20183252개발 환경 구성: 422. SFML.NET 라이브러리 설정 방법파일 다운로드1
11780정성태11/17/20183302오류 유형: 503. vcpkg install bzip2 빌드 에러 - "Error: Building package bzip2:x86-windows failed with: BUILD_FAILED"
11779정성태11/17/20183801개발 환경 구성: 421. vcpkg 업데이트 [1]
11778정성태11/14/20182378.NET Framework: 803. UWP 앱에서 한 컴퓨터(localhost, 127.0.0.1) 내에서의 소켓 연결
... 16  17  18  19  20  21  22  23  24  25  [26]  27  28  29  30  ...