본문 바로가기
Programming/LOGO

LOGO : 변수(Variables) - 016 - 정오각형(Pentagon) 연습 - 1

by The Programmer 2024. 7. 28.

1. Introduction

 

오각형(Pentagon)을 응용한 예제입니다. 오각형은 별과 같은 유형의 도형을 그릴 때 중요하게 사용됩니다. 여러 다각형들의 내각의 합의 크기를 알고 있으면 도움이 됩니다.

 

 

2. Code

2-1. 기본 정5각형 ++

 

가장 기본적인 정5각형 도형에 가운데 중심점을 향한 선들을 추가한 예제입니다. 이 선들의 길이는 임의로 결정되었습니다만 외접원이나 다각형의 중심점을 지날 정도로 충분히 길어야 합니다. 중심점을 찾아내는 방법은 이 예제에서는 생략되었습니다. 이후 예제에서 그 필요성에 대해서 좀 더 생각해보겠습니다.

 

변수와 반복문을 활용하는 방법에 대해 충분한 연습이 되면 좋겠습니다.

 

더보기

[예제 16-1] 기본 정5각형 ++

 

to draw
    rt 90
    pentagon1 :side
    fiveLinesToCenter
    HT
end

to fiveLinesToCenter
    repeat 5 [ 
        lt :ang fd :side 
        pu back :side rt :ang fd :side lt 72 pd
    ]
end

to main
    setup
    draw
end

to pentagon1 :side
    repeat 5 [ fd :side lt 72 ]
end

to setup
    Window Home CS PPT PD ST
    pu lt 90 fd 100 rt 90 back 150 pd
    make "side 200
    make "ang 54
end

 

2-2. 기본 정5각형 ++ 결과

 

결과 화면 오른족에 보이는 상태(Status)창은 Help 메뉴에 있으니 필요에 따라 사용하세요.

[ 예제 16-1 Pentagon ++ Result ]

 

 

2-3. 정5각형 응용 연습 - 1

 

죽은 아몬드는 다이아몬드?

 

다이아몬드 만들기 연습 - 1 예제입니다. 수동으로 중심점을 거의(?) 맞춰서 내부에 정오각형을 더 그린 것입니다. 그린 방법이 조금 바보같다고 생각하고 있습니다만, 일정 수준 이상 수학 사용 금지 규칙(!)이 있어서 일단은 변수와 반복문 연습에만 초점을 맞추었습니다.

 

더보기

[예제 16-2] 정5각형 응용 연습 - 1

 

to diaLine
    lt 90 fd :side2 pu back :side2 pd
    back :side2 pu fd :side2 pd rt 90
end

to draw
    rt 90
    pentagon1 :side
    fiveLinesToCenter
    ; HT
end

to fiveLinesToCenter
    repeat 5 [ 
        lt :ang fd :side+40
        diaLine
        pu back :side+40 rt :ang fd :side lt 72 pd
    ]
end

to main
    setup
    draw
end

to pentagon1 :side
    repeat 5 [ fd :side lt 72 ]
end

to setup
    Window Home CS PPT PD ST
    pu lt 90 fd 100 rt 90 back 150 pd
    make "side 200
    make "ang 54
    make "side2 52
end

 

2-4. 정5각형 응용 연습 - 1 결과

 

[ 예제 16-2 정오각형 응용 연습 - 1 ]

 

 

2-5. 정5각형 응용 연습 - 2

 

더보기

[예제 16-3] 정5각형 응용 연습 - 2

 

to diaLine
    lt 90 fd :side2 pu back :side2 pd
    back :side2 pu fd :side2 pd rt 90
end

to draw
    rt 90
    pentagon1 :side
    ; fiveLinesToCenter
    move1
    pentagon1 :side4
    ; HT
end

to fiveLinesToCenter
    repeat 5 [ 
        lt :ang fd :side+40
         ; diaLine
        pu back :side+40 rt :ang fd :side lt 72 pd
    ]
end

to main
    setup
    draw
end

to move1
    pu lt :ang fd :side3 rt :ang pd
end

to pentagon1 :side
    repeat 5 [ fd :side lt 72 ]
end

to setup
    Window Home CS PPT PD ST
    pu lt 90 fd 100 rt 90 back 150 pd
    make "side 200
    make "ang 54
    make "side2 52
    make "side3 85
    make "side4 100
end 

 

2-6. 정5각형 응용 연습 - 2 결과(Result)

[ 예제 16-3 정오각형 응용 연습 - 2 결과 ]

 

 

2-7. 정5각형 응용 연습 - 3

 

더보기

[예제 16-4] 정5각형 응용 연습 - 3

 

to diaLine
    lt 90 fd :side2 pu back :side2 pd
    back :side2 pu fd :side2 pd rt 90
end

to draw
    rt 90
    pentagon1 :side
    fiveLinesToCenter
    move1
    pentagon1 :side4
    HT
end

to fiveLinesToCenter
    repeat 5 [ 
        lt :ang fd :side5
        diaLine
        pu back :side5 rt :ang fd :side lt 72 pd
     ]
end

to main
    setup
    draw
end

to move1
    pu lt :ang fd :side3 rt :ang pd
end

to pentagon1 :side
    repeat 5 [ fd :side lt 72 ]
end

to setup
    Window Home CS PPT PD ST
    pu lt 90 fd 100 rt 90 back 150 pd
    make "side 200
    make "ang 54
    make "side2 52
    make "side3 42
    make "side4 150
    make "side5 240
end


 

2-8. [예제 16-4] 정5각형 응용 연습 - 3 결과(Result)

 

[ 예제 16-4 정5각형 응용 연습 - 3 결과 Result ]

 

 

 

( 중심점 찾기는 다음 예제나 이 예제의 수정 업데이트판에서 다루기로... )

 

 

3. Notes

 

Not yet! ^.^;

 

■ 응용 연습 과제

1) 다이아몬드

2) 다이아몬드 컬러링

3) 중심점에서 출발하여 그리기.

 

 

4. Files

 

Pro_Ex_001_Pentagon_001_.lgo
0.00MB
Pro_Ex_001_Pentagon_002_.lgo
0.00MB
Pro_Ex_001_Pentagon_003_.lgo
0.00MB
Pro_Ex_001_Pentagon_004_.lgo
0.00MB

 

 

 

5. Ref.

1) FMSLogo 공식 도움말

 

 

Happy Programming!

 

^.^;