Microsoft MVP성태의 닷넷 이야기
Math: 23. GeoGebra 기하 - 컴퍼스와 자를 이용한 작도 프로그램 [링크 복사], [링크+제목 복사]
조회: 22158
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 25개 있습니다.)

GeoGebra 기하 - 컴퍼스와 자를 이용한 작도 프로그램

지오지브라 수학 앱이란 것이 있습니다.

지오지브라 수학 앱
; https://www.geogebra.org/

이 중에서 "기하" 앱이 있는데 요게 ^^ 은근히 재미있습니다. 대수학과 관련한 책을 읽다 보면 컴퍼스와 자를 이용한 작도가 나오곤 하는데, 그럴 때 위의 링크를 방문해 "기하" 응용 프로그램을 다운로드하면 컴퓨터로 직접 실습해가며 책을 읽을 수 있습니다. ^^

처음 시작하면 "Basic Tools"만 도구 상자에 보이는데, "MORE" 버튼을 눌러 (2번까지) 확장하면 "Edit", "Construct", "Measure", "Points", "Lines", "Circles", "Polygons", "Conics", "Transform", "Media", "Others" 범주의 기능을 선택할 수 있습니다.

geogebra_intro_1.png

도구를 이용해 그리다 보면,

geogebra_intro_2.png

"Steps" 보기로 전환해 따라온 절차를 확인하는 것도 가능합니다.

geogebra_intro_3.png

Point A
Point B
f = Segment A, B
c = Circle through A with center B

그리고, 위의 왼쪽에 있는 동그라미를 눌러 특정 기하 요소를 토글 식으로 화면에 보이거나 사라지게 선택할 수 있습니다.

geogebra_intro_4.png

마지막으로, 수동 애니메이션(?) 기능이 있는데 요것도 좀 재미있습니다. 간단한 실습을 위해 주어진 AB 선분을 2등분 하는 선을 다음과 같이 (미리 도구로 제공하는 "Perpendicular Bisector"를 이용해) 쉽게 작도할 수 있습니다.

geogebra_intro_5.png

그 교점에, 잘 맞춰서 점을 하나 찍어줍니다.

geogebra_intro_6.png

그런데, 점 C의 모양이 점 A, B와는 다소 작고 색상도 다릅니다. 이런 유의 점들은 계산에 의해 정해지는 점으로 사용자가 임의로 이동할 수 없음을 의미하기도 합니다. 실제로 마우스를 이용해 점 C를 클릭하고 누른 채로 이동시킬 수 없지만, 점 A와 점 B는 마우스를 이용해 이동이 가능합니다. 그래서 점 A와 점 B를 자유롭게 이동해도 그에 따라 이등분 선이 유지가 됩니다.

geogebra_intro_7.gif

위의 기하 상태를 "Steps"로 보면 다음과 같습니다.

Point A
Point B
f = Segment A, B
g = Perpendicular Bisector of AB
C = Intersection of g and f

점 A, B는 임의로 정해진 반면, Line인 f, g는 점 A, B에 의해 결정되었고, 점 C는 Line인 g, f에 의해 결정된 것임을 알 수 있습니다. 마지막으로 이렇게 작도한 내용을 ggb 파일로 저장할 수 있는데 "이미지"로써 저장하지 않고 "Steps"를 저장하는 것이기 때문에 다른 사람이 해당 ggb 파일을 열어 "Steps"를 보면서 작도를 쉽게 재현해 볼 수 있습니다.

어떠세요? ^^ 앞으로 수학 책 보면서 나오는 기하 내용은 저렇게 컴퓨터로 작도를 직접 해보면 더 재미있지 않을까요? ^^




GeoGebra 기하 (1) - 수직 이등분선
; https://www.sysnet.pe.kr/2/0/11569

GeoGebra 기하 (2) - 임의의 선분과 특정 점을 지나는 수직선
; https://www.sysnet.pe.kr/2/0/11570

GeoGebra 기하 (3) - 평행선
; https://www.sysnet.pe.kr/2/0/11573

GeoGebra 기하 (4) - 선분을 n 배 늘이는 방법
; https://www.sysnet.pe.kr/2/0/11574

GeoGebra 기하 (5) - 선분을 n 등분하는 방법
; https://www.sysnet.pe.kr/2/0/11575

GeoGebra 기하 (6) - 대수의 4칙 연산
; https://www.sysnet.pe.kr/2/0/11576

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

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

GeoGebra 기하 (9) - 임의의 선분을 한 변으로 갖는 정삼각형
; https://www.sysnet.pe.kr/2/0/11579

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

GeoGebra 기하 (11) - 3대 작도 불능 문제의 하나인 임의 각의 3등분
; https://www.sysnet.pe.kr/2/0/11581

GeoGebra 기하 (12) - 삼각형의 내심과 내접하는 원
; https://www.sysnet.pe.kr/2/0/11584

GeoGebra 기하 (13) - 삼각형의 외심과 외접하는 원
; https://www.sysnet.pe.kr/2/0/11585

GeoGebra 기하 (14) - 삼각형의 무게 중심
; https://www.sysnet.pe.kr/2/0/11586

GeoGebra 기하 (15) - 삼각형의 수심
; https://www.sysnet.pe.kr/2/0/11590

GeoGebra 기하 (16) - 삼각형의 방심과 방접원
; https://www.sysnet.pe.kr/2/0/11591

GeoGebra 기하 (17) - 각의 복사
; https://www.sysnet.pe.kr/2/0/11593

GeoGebra 기하 (18) - 원의 중심 및 접선
; https://www.sysnet.pe.kr/2/0/11594

GeoGebra 기하 (19) - 두 원의 안과 밖으로 접하는 직선
; https://www.sysnet.pe.kr/2/0/11599

GeoGebra 기하 (20) - 세 점을 지나는 원
; https://www.sysnet.pe.kr/2/0/11600

GeoGebra 기하 (21) - 반전기하학의 직선 및 원에 관한 반사변환
; https://www.sysnet.pe.kr/2/0/11601

GeoGebra 기하 (22) - 반전기하학의 원에 관한 반사변환
; https://www.sysnet.pe.kr/2/0/11602

GeoGebra 기하 (23) - sqrt(n) 제곱근
; https://www.sysnet.pe.kr/2/0/11603

GeoGebra 기하 (24) - 정다각형
; https://www.sysnet.pe.kr/2/0/11604




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

[연관 글]






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

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

비밀번호

댓글 작성자
 



2019-02-20 01시06분
Staff Picks: Math Examples
; https://www.desmos.com/math
정성태

... 16  17  18  19  20  21  22  23  24  [25]  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
13004정성태3/16/20226202디버깅 기술: 182. windbg - 닷넷 메모리 덤프에서 AppDomain에 걸친 정적(static) 필드 값을 조사하는 방법
13003정성태3/15/20226352.NET Framework: 1179. C# - (.NET Framework를 위한) Oracle.ManagedDataAccess 패키지의 성능 카운터 설정 방법
13002정성태3/14/20227124.NET Framework: 1178. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 http_multiclient.c 예제 포팅
13001정성태3/13/20227488.NET Framework: 1177. C# - 닷넷에서 허용하는 메서드의 매개변수와 호출 인자의 최대 수
13000정성태3/12/20227071.NET Framework: 1176. C# - Oracle.ManagedDataAccess.Core의 성능 카운터 설정 방법
12999정성태3/10/20226590.NET Framework: 1175. Visual Studio - 프로젝트 또는 솔루션의 Clean 작업 시 응용 프로그램에서 생성한 파일을 함께 삭제파일 다운로드1
12998정성태3/10/20226167.NET Framework: 1174. C# - ELEMENT_TYPE_FNPTR 유형의 사용 예
12997정성태3/10/202210589오류 유형: 799. Oracle.ManagedDataAccess - "ORA-01882: timezone region not found" 오류가 발생하는 이유
12996정성태3/9/202215711VS.NET IDE: 175. Visual Studio - 인텔리센스에서 오버로드 메서드를 키보드로 선택하는 방법
12995정성태3/8/20228017.NET Framework: 1173. .NET에서 Producer/Consumer를 구현한 BlockingCollection<T>
12994정성태3/8/20227292오류 유형: 798. WinDbg - Failed to load data access module, 0x80004002
12993정성태3/4/20227123.NET Framework: 1172. .NET에서 Producer/Consumer를 구현하는 기초 인터페이스 - IProducerConsumerCollection<T>
12992정성태3/3/20228550.NET Framework: 1171. C# - BouncyCastle을 사용한 암호화/복호화 예제파일 다운로드1
12991정성태3/2/20227715.NET Framework: 1170. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 transcode_aac.c 예제 포팅
12990정성태3/2/20227314오류 유형: 797. msbuild - The BaseOutputPath/OutputPath property is not set for project '[...].vcxproj'
12989정성태3/2/20226844오류 유형: 796. mstest.exe - System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.QualityTools.Tips.WebLoadTest.Tip
12988정성태3/2/20225805오류 유형: 795. CI 환경에서 Docker build 시 csproj의 Link 파일에 대한 빌드 오류
12987정성태3/1/20227298.NET Framework: 1169. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 demuxing_decoding.c 예제 포팅
12986정성태2/28/20228143.NET Framework: 1168. C# -IIncrementalGenerator를 적용한 Version 2 Source Generator 실습 [1]
12985정성태2/28/20228066.NET Framework: 1167. C# -Version 1 Source Generator 실습
12984정성태2/24/20227144.NET Framework: 1166. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 filtering_video.c 예제 포팅
12983정성태2/24/20227233.NET Framework: 1165. .NET Core/5+ 빌드 시 runtimeconfig.json에 설정을 반영하는 방법
12982정성태2/24/20227156.NET Framework: 1164. HTTP Error 500.31 - ANCM Failed to Find Native Dependencies
12981정성태2/23/20226749VC++: 154. C/C++ 언어의 문자열 Literal에 인덱스 적용하는 구문 [1]
12980정성태2/23/20227523.NET Framework: 1163. C# - 윈도우 환경에서 usleep을 호출하는 방법 [2]
12979정성태2/22/202210115.NET Framework: 1162. C# - 인텔 CPU의 P-Core와 E-Core를 구분하는 방법 [1]파일 다운로드2
... 16  17  18  19  20  21  22  23  24  [25]  26  27  28  29  30  ...