13,20,1
15,1
,
,#ベクトルの１次変換（例題2）
,define x1=2
,define y1=3
,define a=1
,define b=-1
,define c=2
,define d=1
,axis
,range -10<\c>10
,connect (0<\c>0)-(x1<\c>y1)<\c>&Hff<\c>4
,define t=time
,define x2=a*x1+b*y1
,define y2=c*x1+d*y1
,connect (0<\c>0)-(x2<\c>y2)<\c>&Hff0000<\c>4
,print(0<\c>-8.5)<\c>"ベクトルの１次変換"<\c>&H8000<\c>18
15,1
,
,#ベクトルの１次変換（回転）
,define x1=13^0.5*cos(time)
,define y1=13^0.5*sin(time)
,define a=1
,define b=-1
,define c=2
,define d=1
,axis
,range -10<\c>10
,connect (0<\c>0)-(x1<\c>y1)<\c>&Hff<\c>4
,define t=time
,define x2=a*x1+b*y1
,define y2=c*x1+d*y1
,connect (0<\c>0)-(x2<\c>y2)<\c>&Hff0000<\c>4
,print(0<\c>-8.5)<\c>"元のベクトルを回転させてみた。"<\c>&H8000<\c>18
14,1
,
,#直線 y=p*x+q の一次変換（例題４）
,define p=2
,define q=-1
,define a=1
,define b=-2
,define c=3
,define d=1
,axis
,range -10<\c>10
,define x1=(d*x-b*y)/(a*d-b*c)
,define y1=(-c*x+a*y)/(a*d-b*c)
,impfunc y-p*x-q<\c>&Hff
,impfunc y1-p*x1-q<\c>&Hff0000
,print (0<\c>-8.5)<\c>"y=(<p>)*x+(<q>)の1次変換"<\c>&H8000<\c>18
14,1
,
,#直線 y=p*x+q の一次変換（きれいになる例）
,define p=1
,define q=-2
,define a=2
,define b=2
,define c=4
,define d=6
,axis
,range -10<\c>10
,define x1=(d*x-b*y)/(a*d-b*c)
,define y1=(-c*x+a*y)/(a*d-b*c)
,impfunc y-p*x-q<\c>&Hff
,impfunc y1-p*x1-q<\c>&Hff0000
,print (0<\c>-8.5)<\c>"y=(<p>)*x+(<q>)の1次変換"<\c>&H8000<\c>18
14,1
,
,#直線 y=p*x+q の一次変換（変動）
,define p=4*cos(time)
,define q=-2*cos(0.8*time)
,define a=1
,define b=-2
,define c=5
,define d=1
,axis
,range -10<\c>10
,define x1=(d*x-b*y)/(a*d-b*c)
,define y1=(-c*x+a*y)/(a*d-b*c)
,impfunc y-p*x-q<\c>&Hff
,impfunc y1-p*x1-q<\c>&Hff0000
,print (0<\c>-8.5)<\c>"元の直線の傾きと切片を変化させてみた。"<\c>&H8000<\c>18
14,1
,
,#円 x^2/p^2+y^2/q^2-1=0 の一次変換（変動）
,define p=2
,define q=2
,define a=1
,define b=-1.5
,define c=2.5
,define d=1
,axis
,range -10<\c>10
,define x1=(d*x-b*y)/(a*d-b*c)
,define y1=(-c*x+a*y)/(a*d-b*c)
,impfunc x^2/p^2+y^2/q^2-1<\c>&Hff
,impfunc x1^2/p^2+y1^2/q^2-1<\c>&Hff0000
,print (0<\c>-8.5)<\c>"円の１次変換はどうなるか。"<\c>&H8000<\c>18
14,1
,
,#楕円 x^2/p^2+y^2/q^2-1=0 の一次変換（変動）
,define p=2+cos(time)
,define q=2+sin(time)
,define a=1
,define b=-1.5
,define c=2.5
,define d=1
,axis
,range -10<\c>10
,define x1=(d*x-b*y)/(a*d-b*c)
,define y1=(-c*x+a*y)/(a*d-b*c)
,impfunc x^2/p^2+y^2/q^2-1<\c>&Hff
,impfunc x1^2/p^2+y1^2/q^2-1<\c>&Hff0000
,print (0<\c>-8.5)<\c>"円を楕円に変化させてみた。"<\c>&H8000<\c>18
14,1
,
,#双曲線 x^2/p^2-y^2/q^2-1=0 の一次変換（変動）
,define p=2+cos(time)
,define q=2+sin(time)
,define a=1
,define b=-1.5
,define c=2.5
,define d=1
,axis
,range -10<\c>10
,define x1=(d*x-b*y)/(a*d-b*c)
,define y1=(-c*x+a*y)/(a*d-b*c)
,impfunc x^2/p^2-y^2/q^2-1<\c>&Hff
,impfunc x1^2/p^2-y1^2/q^2-1<\c>&Hff0000
,print (0<\c>-8.5)<\c>"ついでに双曲線を変化させてみた"<\c>&H8000<\c>18
13,1
,
,#放物線 y-p*x^2=0 の一次変換（変動）
,define p=cos(time)
,define a=1
,define b=-1.5
,define c=2.5
,define d=1
,axis
,range -10<\c>10
,define x1=(d*x-b*y)/(a*d-b*c)
,define y1=(-c*x+a*y)/(a*d-b*c)
,impfunc y-p*x^2<\c>&Hff
,impfunc y1-p*x1^2<\c>&Hff0000
,print (0<\c>-8.5)<\c>"放物線もこんな感じ。"<\c>&H8000<\c>18
5,1
,
,range -10<\c>10
,print (0<\c>-10+time)<\c>"１次変換では"<\c>&Hff<\c>18
,print (0<\c>-12+time)<\c>"直線は直線に"<\c>&Hff<\c>18
,print (0<\c>-14+time)<\c>"２次曲線は２次曲線に変換される。"<\c>&Hff<\c>18
,print (0<\c>-16+time)<\c>"次は変換行列を回転行列としてみよう。"<\c>&H8000<\c>18
14,1
,
,#ベクトルの回転
,define x1=6
,define y1=0
,define a=cos(time)
,define b=-sin(time)
,define c=sin(time)
,define d=cos(time)
,axis
,range -10<\c>10
,connect (0<\c>0)-(x1<\c>y1)<\c>&Hff<\c>4
,define x2=a*x1+b*y1
,define y2=c*x1+d*y1
,connect (0<\c>0)-(x2<\c>y2)<\c>&Hff0000<\c>4
,print (0<\c>-8.5)<\c>"回転行列を時間変化させてみた。"<\c>&H8000<\c>18
20,1
,
,#直線 y=0.5*x+3 の回転（変動）
,define p=0.5
,define q=3
,define a=cos(time)
,define b=-sin(time)
,define c=sin(time)
,define d=cos(time)
,define x2=2
,define y2=4
,axis
,range -10<\c>10
,define x1=(d*x-b*y)/(a*d-b*c)
,define y1=(-c*x+a*y)/(a*d-b*c)
,impfunc y-p*x-q<\c>&Hff
,impfunc y1-p*x1-q<\c>&Hff0000
,define x3=a*x2+b*y2
,define y3=+c*x2+d*y2
,connect (0<\c>0)-(x2<\c>y2)<\c>&Hff00<\c>3
,connect (0<\c>0)-(x3<\c>y3)<\c>&Hff00<\c>3
,print (0<\c>-8.5)<\c>"直線を原点の周りに回転させてみた。"<\c>&H8000<\c>18
5,1
,
,range -10<\c>10
,print (0<\c>-10+time)<\c>"ベクトルの変換と関数の変換では"<\c>&Hff<\c>18
,print (0<\c>-12+time)<\c>"一見逆の変換をしているように見える。"<\c>&Hff<\c>18
,print (0<\c>-14+time)<\c>"f(x<\c>y)=0 に逆変換した座標を入れることを"<\c>&Hff0000<\c>18
,print (0<\c>-16+time)<\c>"決して忘れないように。"<\c>&Hff0000<\c>18


