BASIC�ŕ`�����ȑ����}�`


���ȑ����}�`�Ƃ́H

�@�����k���ϊ� f1 , f2 �ɑ΂��āC

�@�@�@�@�@f 1(D)��f 2(D) = D

�ƂȂ�}�`D�����ȑ����}�`�Ƃ����B

�@D���L�E�ł�����̂Ɖ��肷��΁CD��`���葱�������̂悤�ɍ쐬���邱�ƂŁCD��`�����Ƃ��ł���B

    D��`���葱��
�@�@  �@�@f1(D)��`��
�@�@�@  �@f2(D)��`��
    �葱���̏I���

�@f1�Cf2���k���ʑ��ł��邱�Ƃ���C���̍ċA�葱�����J��Ԃ��ƁC�`���ׂ��}�`�̒��a�̓f�B�X�v���[�̉𑜓x�ɔ�ׂď\���ɏ������Ȃ�B���̂Ƃ��C���̐}�`���P�_�ő�ւ��ĕ`�����Ƃ��ł���B


�h���S���W��

f1�����_�𒆐S�Ƃ���45���̉�]�� 1/��2�{�̏k���̍����ʑ��C f2���_�i1,0�j�𒆐S�Ƃ���45���̉�]��1/��2�{�̏k���̍����ʑ��ł���ꍇ�C f1 , f2 �ɑ΂��鎩�ȑ����}�`�́C ���̂悤�ɋ��߂���B

���_�𒆐S�Ƃ���p���̉�]�� rotate(��)�C

���_�𒆐S�Ƃ��� r�{�̊g��� scale(r),

x��������a�Cy��������b�̕��s�ړ��� shift(a, b)�ŕ\���C

�ϊ�T1 ,T2�̍�����T1*T2�ŕ\���ƁC

f1�Cf2�́C

�@ f1 = rotate(��/4)*scale(1/��2)�C

�@ f2 = shift(1,0)*rotate(��/4)*scale(1/��2)*shift(1,0)

�ƕ\�����Ƃ��ł���B

D��`���葱���̂Ȃ���f 1(D)��f 2(D)��`���̂ɁCJIS Full BASIC�̐}�`�̕ϊ��̋@�\��p����B

100  PICTURE D(n)   
110    IF n=18 THEN  
120      PLOT POINTS: 0,0  
130    ELSE 
140      DRAW D(n+1) WITH ROTATE(PI/4)*SCALE(1/sqr(2))
150      DRAW D(n+1) WITH SHIFT(-1,0)*ROTATE(PI/4)*SCALE(1/sqr(2))*SHIFT(1,0)
160    END IF
170  END PICTURE
180  SET WINDOW -1/2 , 3/2 , -1 , 1  
190  SET POINT STYLE 1           
210  DRAW D(0)
220  END

100�s����170�s�܂ł́C�}�`D��`�����߂̎葱��D���`���镔���ł���B�����āC�v���O�����̎��s��180�s����J�n�����B

180�s�ł́C�`��̈��x���W�͈̔͂�-1/2����3/2�Cy���W�͈̔͂�-1����1�܂łƂȂ���W�n��ݒ肵�Ă���B�`��̈�̌`��͐����`�ł���̂ŁCx���W�̕���y���W�̕��Ƃ��������Ȃ�悤�ɂ��Ă����B

190�s�́C120�s��plot points���ŕ`�����}�[�N�̌`����E�ɕύX����B

210�s�́C����n��0��������100�s����n�܂�G��`�ipicture�jD���Ăяo�����ł���B100�s����n�܂�G��`D�ŁC����n�͍ċA�̐[���𐧌䂷�邽�߂̂��̂ł���B140�s��150�s�ōċA�I��D���Ăяo���Ƃ���n��1���Z���Ă���Bn�̒l��110�s��if���Ŏw�肵�Ă��鐔�l18�ɂȂ�ƍċA�Ăяo�����I�����C�ϊ����ꂽ���W�n�̌��_�Ƀ}�[�N��`���B

140�s��150�s���C�ċA�Ăяo���𗘗p����D��f1�Cf2�ŕϊ����ĕ`�����Ƃɂ��f1(D)��f 2(D)��`�������ł���B

110�s�Ŏw�肷��萔�́Cf1�Cf2�̏k����s�ƕ`��̈�̏c�������̃s�N�Z����p�Ƃ��猈��ł���B�`���ׂ��}�`D�̒��a���`��̈�̕���菬�������̂Ɖ��肷��΁Csn��1/p�ƂȂ�悤��n��I�Ԃ��Ƃ��ꉞ�̖ڈ��ɂȂ�B


�����������ϊ��̗�

scale(1,-1)�́Cx���Ɋւ���Ώ̈ړ��ł���B

��̗�ŁCf1 ���C

f1 =scale(1,-1)*rotate(��/4)*scale(1/��2)�C

�ɑւ���ƁC���}��������B����́CLevy�Ȑ��ƌĂ΂��B

����C�������鏇����ύX���āCf1 ���C

f1 =rotate(��/4)*scale(1/��2)*scale(1,-1)�C

�ɑւ���ƁC���}��������B


�R�b�z�Ȑ�

Levy�Ȑ��̒�`�ŁCf2 �������������ϊ��ɑւ��āC

f1 =scale(1,-1)*rotate(��/4)*scale(1/��2)�C

f2 =shift(-1,0)*rotate(��/4)*scale(1,-1)*scale(1/��2)*shift(1,0)

�Ƃ���ƁC���̐}��������B

�ꌩ�C���̕ϓN���Ȃ����p�Q���ӂR�p�`�Ɍ����邪�C����,�y�A�m�Ȑ��ł���B

�����ŁC�萔�������ς��āC

f1 =scale(1,-1)*rotate(��/6)*scale(1/��3)�C

f2 =shift(-1,0)*rotate(��/6)*scale(1,-1)*scale(1/��3)*shift(1,0)

�Ƃ���ƁC���̐}��������B

����́C�R�b�z�Ȑ��ł���B


�V���s���X�L�[�̃K�X�P�b�g

���O�p�`ABC�̊e���_�𒆐S�Ƃ���1/2�{�̏k���ʑ������ꂼ��Cf1,f2,f3�Ƃ���B

���̂Ƃ��Cf1(D)��f2(D)��f3(D)=D �ƂȂ鎩�ȑ����}�`���V���s���X�L�[�̃K�X�P�b�g�Ƃ����B

�����ŁC3���_�̍��W��A(0,0)�CB(2,0)�CC(1,��3) �Ƃ���ƁC���̃v���O������������B

100 PICTURE D(n)
110    IF n=10 THEN 
120       PLOT POINTS: 0,0
130    ELSE
140       DRAW D(n+1) WITH SCALE(1/2) 
150       DRAW D(n+1) WITH SHIFT(-2,0)*SCALE(1/2)*SHIFT(2,0)
160       DRAW D(n+1) WITH SHIFT(-1,-SQR(3))*SCALE(1/2)*SHIFT(1,SQR(3))
170    END IF
180 END PICTURE
190 SET WINDOW 0,2,0,2
200 SET POINT STYLE 1
210 DRAW D(0)
220 END
�@�����ŁCf1,f2,f3 ���e���_�𒆐S�Ƃ���1/��3�{�̏k���ʑ���30���̉�]�̍����ɑւ���ƁC���̐}�`��������B

���̐}�`�����ʂ�~���l�߂邱�ƂŗL���B

���̐}�`�ɐF��t���Ă݂悤�B

�@BASIC�ł́C

SET COLOR MIX(1) red,green,blue

�ŁC�F�w�W1�̎��ۂ̐F�� red,green,blue�Ŏw�肳���F�ɕς��邱�Ƃ��ł���B

�������Cred,green,blue��0�ȏ�1�ȉ��̐��l�B

�Ȃ��CJIS�́Cset color mix�����s�����Ƃ��C���̐F�w�W�ɑ΂���F���ߋ��ɂ����̂ڂ��ĕω����邩���Ȃ����͏����n��`�Ƃ��Ă���B�����ł́C�F�w�W�ɑ΂�����ۂ̐F�̊��蓖�Ă�ύX���Ă��C���łɕ`���ꂽ���̂ɂ͉e�����Ȃ������n��p������̂Ƃ���B

100 PICTURE tragon(n,red,green,blue)
110 !  print n,red,green,blue 
120    IF n=10 THEN
130       SET COLOR MIX (1) red,green,blue
140       set point color 1
150       PLOT POINTS: 0,0
160    ELSE
170       DRAW tragon(n+1,red+2^(-n),green,blue) WITH SCALE(1/SQR(3))*ROTATE(PI/6) 
180       DRAW tragon(n+1,red,green+2^(-n),blue) WITH SHIFT(-2,0)*SCALE(1/SQR(3))*ROTATE(PI/6)*SHIFT(2,0)
190       DRAW tragon(n+1,red,green,blue+2^(-n)) WITH SHIFT(-1,-SQR(3))*SCALE(1/SQR(3))*ROTATE(PI/6)*SHIFT(1,SQR(3))
200    END IF
210 END PICTURE
220 SET WINDOW -2,3,-2,3
230 SET POINT STYLE 1
240 DRAW tragon(1,0,0,0)
250 END

�k�����̈قȂ鑊���ʑ��Ɋւ��鎩�ȑ����}�`

���̐}�`�́C

f1=SCALE(1,-1)*SCALE(1/��3)*ROTATE(��/8)

f2=SHIFT(-1,0)*SCALE(1,-1)*SCALE(2/3)*SHIFT(1,0)

�Ɋւ��鎩�ȑ����}�`�ł���B

�@���̂悤�ɁCf1�Cf2�̏k�����ɍ�������ꍇ�ɂ́C���̃v���O�����̂悤�ɁC�����̏k������\���ϐ�s��p�ӂ��āC�ċA�Ăяo�����s�����Ƃɂ���ɏk�������悶�Ă����悤�ɂ���Ƃ悢�B

100 PICTURE D(s)
110    IF s<0.001 THEN
120       PLOT POINTS: 0,0
130    ELSE
140       DRAW D(s*r) WITH SCALE(1,-1)*SCALE(r)*ROTATE(alfa)
150       DRAW D(s*2/3) WITH SHIFT(-1,0)*SCALE(1,-1)*SCALE(2/3)*SHIFT(1,0)
160    END IF
170 END PICTURE
180 LET alfa=pi/8
190 LET r=1/SQR(3)
200 SET WINDOW -0.5,1.5,-1,1
210 SET POINT STYLE 1
220 DRAW D(1)
230 END


References

���u�t���N�^���̐����v�C�R�����Ɓ@�����`�@�؉��~�C��g�u���@���p���w

���u�J�I�X�ƃt���N�^������v�C�R�����ƁC������w�������

�� Fractals for the Classroom, Heinz-Otto Peitgen & Hartmut Jurgens & Dietmar Saupe, Springer Verlag

�� Intrduction to Fractals and Chaos, Richard M. Crownover, Joens and Bartlett Publishers

�� Twin Dragon Applet , Jelena Ovacevic, http://cm.bell-labs.com/math/people/jelena/Applets/Dragon.html


PDF�Łu(����)�\�iBASIC�ŕ`�����ȑ����}�`�vSelfSim.pdf

���ʕt�^�@JAVA�ŕ`�����ȑ����}�`


�\�iBASIC�̃z�[���y�[�W ��

���w������l����@��

inserted by FC2 system