complexmap.bas |
1 REM 関数 w=z^3 で三角形がどういう図形に写像されるか 2 OPTION ARITHMETIC complex 3 DECLARE EXTERNAL SUB segment 4 LET w=3 5 SET WINDOW -w,w,-w,w 6 DRAW grid(0.5,0.5) 7 PRINT "複素平面上の三角形を関数 w=z^3 で写す" 8 PRINT "3点の座標を入力してください。" 9 CALL cinput(z1) 10 CALL cinput(z2) 11 CALL cinput(z3) 12 CALL segment(z1,z2,2) 13 CALL segment(z2,z3,3) 14 CALL segment(z3,z1,4) 15 END 16 17 REM 線分と線分の像 18 EXTERNAL SUB segment(z1,z2,col) 19 OPTION ARITHMETIC complex 20 LET i=SQR(-1) 21 SET LINE COLOR col 22 REM 線分を描く 23 SET LINE width 3 24 PLOT LINES 25 PLOT LINES : re(z1),im(z1);re(z2),im(z2) 26 REM 線分上の点の写像による像を描く 27 SET LINE width 2 28 FOR t=0 TO 1 STEP 1/128 29 LET z=(1-t)*z1+t*z2 30 CALL MAPPLOT(z) 31 NEXT t 32 END SUB 33 34 REM 写像 w=f(z) で写した点をPLOTする 35 EXTERNAL SUB mapplot(z) 36 OPTION ARITHMETIC COMPLEX 37 DEF f(z)=z^3 38 LET w=f(z) 39 PLOT LINES: re(w),im(w); 40 END SUB 41 42 REM 複素数の入力 43 EXTERNAL SUB cinput(z) 44 OPTION ARITHMETIC COMPLEX 45 INPUT PROMPT "実部虚部を入力: ": x, y 46 LET I=SQR(-1) 47 LET z=x+I*y 48 END SUB |
このプログラムについては、前回口頭で説明しましたが、 繰り返しておきます。