반응형
python 그래픽 라이브러리 캔버스 / 거품정렬 표현
그래픽 라이브러리에서 캔버스를 이용해서 선(line), 직사각형(rectangle), 타원형(oval) ...
다양한 표현이 가능하다.
( 캔버스는 tk.Canvas( self )로 객체 생성이 가능하며 x, y 좌표를 이용해서 선이나 도형의 크기를
조절할수 있다 )
* 지원하는 속성들이 다 조금씩 다르지만 fill은 안쪽의 색을 지정할때 사용되는 속성이고
outline은 바깥선 색을 지정할때 사용이 된다.
※ 캔버스를 이용한 거품정렬 애니메이션 표현
리스트에 0~499까지의 숫자를 생성한다음 random.shuffle로 섞어주어 난수를 만든걸
프레임에 oval을 이용해서 점들로 표현해준다.
그리고나서 프레임에 있는 점들을 모두 지웠다가 거품정렬을 1회전 실행해주고
다시 그려주는 방식을 재귀함수로 계속 반복하면 애니메이션 효과가 나타나면서
점들이 하나의 선으로 모이는것처럼 보인다.
아래는 거품정렬을 oval형태와 rectangle을 이용해서 그래프 형태로 표현해본 소스이다.
bubble_sort_rectangle_canvas.py
거품정렬이 완성 되는 모습을 캔버스를 이용해 표현한 것이다.
반응형
'프로그래밍 > PYTHON' 카테고리의 다른 글
[20일차] python 그래픽 라이브러리 캔버스 / 선택정렬 표현 (0) | 2017.03.08 |
---|---|
[18일차] python 그래픽 라이브러리를 이용한 단위 변환 프로그램 (1) | 2017.03.06 |
[17일차] python 클래스 / 그래픽 라이브러리 (0) | 2017.03.03 |
[16일차] python 클래스 상속(inherit) (0) | 2017.03.02 |
[15일차] python 클래스(Class)의 구성요소 / 캡슐화 / @property / @staticmethod (0) | 2017.02.28 |
댓글