본문 바로가기
Programming/LOGO

LOGO : 변수(Variables) - 017 - 정오각형(Pentagon) 연습 - 2

by The Programmer 2024. 8. 18.

 

1. Introduction

 
오각형 연습을 계속해서 이어갑니다. 결과 화면에서 보이는 바와 같이 점 D를 찾아보겠습니다. 점 D는 선분 BC의 가운데 점입니다.
 
 

2. Code

오각형을 그리고 테스트1, 2 함수를 추가로 실행합니다.

 

더보기

; 예제 17-1-1. 점 D 찾기

 

to draw
    star1
    test1
    test2
 ; ht
end

to main
    setup
    draw
end

to pentagon1
    repeat 5 [ fd 2*:d rt 72 ]
end

to setup
    Window Home CS PPT PD ST
    PU lt 90 fd 480 rt 180
    PD
    make "side1 300
end

to star1
    repeat 5 [ fd :side1 lt 72 fd :side1 rt 144 ]
end

to test1
    PU fd :side1 lt 72 fd :side1 rt 162
    PD
    Circle :side1
    ;
    ; show sin 72
    ; The result of <sin 72> is the value, 0.951056516295154
    make "a 0.951056516295154
    make "h 0.951056516295154 * :side1
    ; sin 72 = h / :side1
    ; 0.951056516295154 = h / :side1
    ;
    ;show cos 72
    ; The result of <cos 72> is the value, 0.309016994374947
    make "c 0.309016994374947
    make "d 0.309016994374947 * :side1
    ; cos 72 = d / :side1
    ; 0.309016994374947 = d / :side1
    ;
    fd :h rt 90 fd :d
    PU back ((2 * :d) + :side1)
    PD 
end

to test2
    PU fd :side1 lt 108 
    PD
    pentagon1
    rt 108 pu fd :d rt 90 back 17
end

 

3. Result

 
; 상단 원 모양은 그냥 확인용. 중요하지는 않습니다.

[ 예제 017 - 001 : 점 D 찾기 ]

 
 

4. Notes

코드내에 점 D를 찾기 위한 과정에 대해 약간의 설명문들이 포함되어 있습니다. 삼각비를 알면 많은 도움을 받을 수 있습니다.
선분 AD와 선분 BD를 각각 h, d로 이름붙이고 삼각비를 이용해서 그 길이를 알아냅니다.
 
FMSLogo에서 어떤 수식의 결과값을 곧바로 알고 싶을 때 명령어 입력창에 다음 명령어를 입력해보세요. <ENTER> 부분은 엔터키를 치라는 뜻입니다.
^.^;
 
show 3 + 3 <ENTER>
show 72 / 8<ENTER>
show sin 72 <ENTER>
 
변수값도 확인할 수 있습니다.
 
show :side1 <ENTER>
 
주의 : 변수값을 알아내기 위해서는 변수가 미리 어떤 값을 가지고 있어야 합니다.  main 함수를 호출해서 프로그램이 반드시 한 번은 실행된 상태라면 그 프로그램에서 사용된 변수들은 아마도 특정 값을 가지고 있을 것입니다.

위 이전 예제를 기준으로, 특히 setup 함수가 실행된 상태이어야 합니다. 각종 변수들의 초깃값은 보통 setup 함수에서 설정합니다. 위 예제에서 side1 변수의 값은 setup 함수에서 결정됩니다.

 
■ 응용 연습 과제
1) 그래도 중심점 찾기 ...
2) ^.^; 
 
 

5. Files

 
 

Logo_Pro_005_Pentagon_Ex_005_pentagon_and_Star_001_.lgo
0.00MB

 
 

6. Ref.

1) FMSLogo 공식 도움말
2) 중학교 3학년 2학기 삼각비 부분
... 을 참고하였습니다.
 
Happy Programming!
^.^;