TokigunStudio obfuscation collection

Fractal Tree

난수를 사용하여 랜덤하게 나무 이미지를 만들어 내는 파이썬 프로그램입니다. 계속 보고 있으면 무지 예쁩니다 :) (대신 느린 컴퓨터에서는 무진장 오래 걸립니다...)

코드

원래는 메일 서명 용으로 사용하려 만든 것이기 때문에 8x72 크기로 포매팅되어 있습니다.

def d(n,x,l,t):y=x[0]+l*math.sin(t),x[1]+l*math.cos(t);draw.aaline(c,(a[
u]+a[u+1]*n,a[u+2]+a[u+3]*n,a[u+4]),x,y);r=random.random;(display.flip()
,event.poll());n and[d(n-1,y,l*(.7+r()/5),t+i*r())for i in(-1,1)];2005.3
from pygame import*;import math,random,time;c=display.set_mode((800,600)
);u=time.localtime()[1]%12/3*5;s='winter','spring','summer','autumn';a=(
30,2.5,30,1,30,20,1.5,30,-.5,10,10,2,30,-.5,10,30,1,30,-.5,10);p=math.pi
while 1:c.fill((0,0,16));display.set_caption("tree: "+s[u/5]);draw.rect(
c,(32,)*3,(0,550,800,50));d(17,(400,550),100,p);u=(u+5)%20;time.sleep(3)
"Created by Kang Seonghoon <tokigun@gmail.com>; License: GNU LGPL ver 2"

실행 화면

아래 화면은 각각의 계절 별로 나오는 출력 결과입니다. 클릭하면 큰 이미지로 볼 수 있습니다. 나무의 모양은 다르게 나올 수 있습니다.

봄에 나오는 화면 여름에 나오는 화면 가을에 나오는 화면 겨울에 나오는 화면

사용법

이 프로그램을 사용하기 위해서는 파이썬 인터프리터(버전 2.3 이상)와 pygame 라이브러리(버전 1.6 이상)가 필요하고, 시스템 색상이 24비트 이상(윈도우즈에서의 트루컬러)으로 설정되어 있어야 합니다. 시스템 색상이 16비트 이하인 곳에서는 위 프로그램을 사용하지 말고 아래에 링크된 프로그램을 사용하시길 바랍니다.

이 프로그램은 아무 입력이나 출력을 받지 않고 조용하게 800x600 크기의 창을 하나 띄워서 그 위에 나무를 보여 줍니다. 처음에 등장하는 나무의 색깔은 현재의 계절을 기준으로 보여지고, 모두 그려지면 3초를 기다렸다가 다음 계절에 해당하는 나무를 출력합니다. 끄는 방법이 없기 때문에(..) 알아서 적당한 방법으로 꺼 주시면 되겠습니다.

나무 하나가 출력될 때 사용되는 선의 갯수는 218-1 = 262,143개입니다. 이 갯수를 고치고 싶으면 8번째 줄의 d(17,(400,500),100,p) 부분을 고치면 됩니다.

관련 파일


지금은 글을 남길 수 없고 이미 남겨진 걸 볼 수만 있습니다.

daybreaker: 근데 pyd 파일이 너무 많이 붙는 것 같다. 하나로 패키징된 pyd 파일이 있었음 좋겠군. --토끼군 2005/03/19 16:20:01

윈도우즈 실행파일을 올려주는 센스~ 좋다-_- / daybreaker 2005/03/19 16:17:19

Copyright © 2004-2005, Kang Seonghoon (Tokigun). All Rights Reserved.
Permanent Link: http://page.tokigun.net/obfuscation/_/fractaltree.php
Last updated on March 18, 2005. Valid XHTML 1.1 Valid CSS 2