top of page

紫陽花

“がくあじさい ”を描くプログラム を描くプログラム
<ソースリト >
10 SET WINDOW -250,250,-250,250
20 SET AREA COLOR 25
30 PLOT AREA:-250,250;-250,-250;250,-250;250,250
40 DRAW ajisai
50 DRAW ajisai WITH ROTATE(130)*SHIFT(150,-150)
60 DRAW ajisai WITH ROTATE(45)*SHIFT(-150,160)
70 DRAW ajisai WITH ROTATE(120)*SHIFT(150,160)
80 DRAW ajisai WITH ROTATE(60)*SHIFT(-150,-160)
90 END
100 EXTERNAL PICTURE ajisai
110 OPTION ANGLE DEGREES
120 OPTION BASE 0
130 !葉っぱ上部分
140 PICTURE happa0
150 SET AREA COLOR 10
160 DIM x(32),y(32),s(32)
170 LET qx=170
180 LET qy=60*4
190 FOR i=0 TO 32
200 LET s(i)=i/32
210 LET x(i)=qx*s(i)
220 LET y(i)=qy*s(i)*(1-s(i))^1.15
230 IF MOD(i,2)=1 THEN LET y(i)=y(i)+3
240 MAT PLOT AREA:x,y
250 NEXT i
260 !葉脈
270 SET LINE COLOR 23
280 PLOT LINES:0,0;170,0
290 PLOT LINES:20,0;40,40
300 PLOT LINES:40,0;70,50
310 PLOT LINES:60,0;90,50
320 PLOT LINES:80,0;104,44
330 PLOT LINES:100,0;120,38
340 PLOT LINES:120,0;135,27
350 PLOT LINES:140,0;150,12
360 END PICTURE
370 !葉っぱ下部分
380 PICTURE happa1
390 DRAW happa0 WITH SCALE(1,-1)
400 END PICTURE
410 !葉っぱ上部分と下部分をくっつける
420 PICTURE happa
430 DRAW happa0
440 DRAW happa1
450 END PICTURE
460 DRAW happa WITH SCALE(0.65)
470 DRAW happa WITH SCALE(0.65)*ROTATE(150)
480 !白の装飾花(1つ)
490 PICTURE sousyokuka
500 DIM fa(360),fb(360)
510 FOR t=0 TO 360
520 LET fa(t)=COS(t)*ABS(7.7*SIN(2*t)+SIN(6*t)+.5*SIN(10*t))
530 LET fb(t)=SIN(t)*ABS(7.7*SIN(2*t)+SIN(6*t)+.5*SIN(10*t))
540 NEXT t
550 SET AREA COLOR 0
560 MAT PLOT AREA:fa,fb
570 SET AREA COLOR 14
580 DRAW disk
590 END PICTURE
600 !白の装飾花を円形に並べる
610 DRAW sousyokuka WITH SCALE(3.2)*ROTATE(-30)*SHIFT(0,58)
620 DRAW sousyokuka WITH SCALE(3.2)*ROTATE(35)*SHIFT(42,42)
630 DRAW sousyokuka WITH SCALE(3.2)*ROTATE(-10)*SHIFT(58,0)
640 DRAW sousyokuka WITH SCALE(3.2)*ROTATE(15)*SHIFT(42,-42)
650 DRAW sousyokuka WITH SCALE(3.2)*ROTATE(-20)*SHIFT(0,-58)
660 DRAW sousyokuka WITH SCALE(3.2)*SHIFT(-42,-42)
670 DRAW sousyokuka WITH SCALE(3.2)*ROTATE(-15)*SHIFT(-58,0)
680 DRAW sousyokuka WITH SCALE(3.2)*ROTATE(25)*SHIFT(-42,42)
690 SET AREA COLOR 18
700 !両性花(1つ)
710 PICTURE ryouseika1
720 DRAW disk WITH SCALE(1.5)*SHIFT(5,0)
730 DRAW disk WITH SCALE(1.5)*SHIFT(-5,0)
740 DRAW disk WITH SCALE(1.5)*SHIFT(0,5)
750 DRAW disk WITH SCALE(1.5)*SHIFT(-2.5,-5)
760 DRAW disk WITH SCALE(1.5)*SHIFT(2.5,-5)
770 END PICTURE
780 !両性花を円形に並べる
790 PICTURE ajisai1
800 DRAW ryouseika1
810 FOR j=-20 TO 20 STEP 40
820 DRAW ryouseika1 WITH SHIFT(0,j)
830 NEXT j
840 FOR i=-10 TO 10 STEP 20
850 FOR j=-30 TO 30 STEP 20
860 DRAW ryouseika1 WITH SHIFT(i,j)
870 NEXT j
880 NEXT i
890 FOR i=-20 TO 20 STEP 40
900 FOR j=-20 TO 20 STEP 20
910 DRAW ryouseika1 WITH SHIFT(i,j)
920 NEXT j
930 NEXT i
940 DRAW ryouseika1 WITH SHIFT(30,0)
950 DRAW ryouseika1 WITH SHIFT(-30,0)
960 END PICTURE
970 !紫の両性花(1つ)
980 PICTURE ryouseika2
990 DIM fc(360),fd(360)
1000 FOR t=0 TO 360
1010 LET fc(t)=COS(t)*ABS(7*SIN(2*t)+SIN(6*t)+.5*SIN(10*t))
1020 LET fd(t)=SIN(t)*ABS(7*SIN(2*t)+SIN(6*t)+.5*SIN(10*t))
1030 NEXT t
1040 SET AREA COLOR 14
1050 MAT PLOT AREA :fc,fd
1060 !めしべ
1070 SET AREA COLOR 26
1080 DRAW disk
1090 END PICTURE
1100 !紫の両性花を円形に並べる
1110 PICTURE ajisai2
1120 FOR j=-30 TO 30 STEP 10
1130 DRAW ryouseika2 WITH SCALE(0.8)*SHIFT(0,j)
1140 NEXT j
1150 FOR i=-30 TO -10 STEP 10
1160 FOR j=0 TO i+40 STEP 10
1170 DRAW ryouseika2 WITH SCALE(0.8)*SHIFT(i,j)
1180 NEXT j
1190 NEXT i
1200 FOR i=10 TO 30 STEP 10
1210 FOR j=0 TO 40-i STEP 10
1220 DRAW ryouseika2 WITH SCALE(0.8)*SHIFT(i,j)
1230 NEXT j
1240 NEXT i
1250 FOR i=-30 TO -10 STEP 10
1260 FOR j=0 TO -(i+40) STEP -10
1270 DRAW ryouseika2 WITH SCALE(0.8)*SHIFT(i,j)
1280 NEXT j
1290 NEXT i
1300 FOR i=10 TO 30 STEP 10
1310 FOR j=0 TO -(40-i) STEP -10
1320 DRAW ryouseika2 WITH SCALE(0.8)*SHIFT(i,j)
1330 NEXT j
1340 NEXT i
1350 END PICTURE
1360 !あじさい
1370 PICTURE ajisai0
1380 DRAW ajisai1
1390 DRAW ajisai2
1400 END PICTURE
1410 DRAW ajisai0 WITH SCALE(1.2)
1420 END PICTURE

ソースリスト

担当 2年 ちはるちゃん
bottom of page