SUB Tensol(X,Y,AA,AB,BA,BB,XX,YY) DIM A(2,2),B(2,2),C(2,2) LET A(1,1)=X LET A(1,2)=X LET A(2,1)=Y LET A(2,2)=Y LET B(1,1)=AA LET B(1,2)=AB LET B(2,1)=BA LET B(2,2)=BB MAT C=B*A LET XX=C(1,1) LET YY=C(2,1) END SUB PRINT INPUT PROMPT "座標:χ,y → ":X,Y INPUT PROMPT "1:平行移動 2:回転 3:鏡面 4:拡大 → ":Z PRINT IF Z=1 THEN INPUT PROMPT "移動幅:χ,y ":n,m PRINT "( χ’,y’ ) = (";X+n;",";Y+m;")" ELSEIF Z=2 THEN INPUT PROMPT "反時計回り回転角度? ":d CALL Tensol(X,Y,COS(d*PI/180),-SIN(d*PI/180),SIN(d*PI/180),COS(d*PI/180),XX,YY) PRINT "( χ’,y’ ) = (";XX;",";YY;")" ELSEIF Z=3 THEN PRINT "χ軸を対象軸とします。" PRINT "( χ’,y’ ) = (";X;",";-Y;")" ELSEIF Z=4 THEN INPUT PROMPT "何倍に拡大? ":e CALL Tensol(X,Y,e,0,0,e,XX,YY) PRINT "( χ’,y’ ) = (";XX;",";YY;")" END IF PRINT END ##################################################################### DEF F(X)=SQR(1-(X-1)^2)+1 DEF G(X)=1 DEF H(X)=SQR(4-(X-2)^2)+2 DEF W(X)=2 DEF Q(X)=SQR(1-(X+2)^2)-2 DEF R(X)=-2 SET WINDOW -2.5,4.5,-2.5,4.5 DRAW GRID FOR X=1 TO 2 STEP 0.001 PLOT LINES: X,F(X) PLOT LINES: X,G(X) NEXT X PLOT LINES: 1,1;1,2 SET COLOR 4 FOR X=1 TO 2 STEP 0.001 PLOT LINES: X,-1*F(X) PLOT LINES: X,-1*G(X) NEXT X PLOT LINES: 1,-1;1,-2 SET COLOR 2 FOR X=2 TO 4 STEP 0.001 PLOT LINES: X,H(X) PLOT LINES: X,W(X) NEXT X PLOT LINES: 2,2;2,4 SET COLOR 7 FOR X=-2 TO -1 STEP 0.001 PLOT LINES: X,Q(X) PLOT LINES: X,R(X) NEXT X PLOT LINES: -2,-2;-2,-1 END