plots[display] - プロット構造のリストの表示
使い方
display(L, insequence=true, options)
パラメータ
L - 表示する PLOT データ構造の集合、リスト、または配列
insequence=true - (オプション) plots のリストを順次表示、すなわち、フレームごとのアニメーション表示する。 デフォルトは false。
options - (オプション) PLOT または PLOT3D 構造に付随する標準的なオプション。
|
説明
|
|
•
|
L がリストまたは集合で、insequence が false ならば、display 手続きは与えられたプロット構造の和を生成します。もし、insequence が true ならば、プロットのリストは与えられた順序によりアニメーション表示されます。もし、プロットが集合として与えられている場合には、順序は保証されません。
|
•
|
L が配列ならば、display は配列に対応して表示結果を配置します。個々の方向と投影は保持されます。
|
•
|
一般に、コマンド display は、個々のプロット構造内で指定されたオプション間の衝突を解決することはできません。たとえば、2 つのプロット構造が与えられそれぞれがタイトルを持つ場合、display コマンドは、最終プロットに対してタイトルの 1 つを選択します。デフォルトでは、多くのオプションで、指定した最初の値が選択されます。
|
•
|
display 手続きは、無限プロットと有限プロットの混合したものを扱うことはできません。無限プロットとは何かということについては、plot[infinity] を参照して下さい。
|
•
|
plots[animate] により作成されたアニメーションも表示可能です。insequence が true ならば、アニメーションは順に表示されます。そうでなければ、各アニメーションの対応するフレームをつなぎ合わせて、並べて表示されます。
|
•
|
集合またはリストとして合わせて、insequence を false にすると、アニメーションは背景のプロット上に表示されます。
|
•
|
アニメーションは、GIF アニメ―ションのファイルとして保存できます。詳細については、plot[device] を参照して下さい。
|
•
|
残りの引数は、plot のオプションとして扱われます。これらは、plot,options および plot3d,options のヘルプで指定されるものです。これらの指定は、個々のプロットデータ構造において既に局所的に定義されているもの以外のオプションを指定します。display 手続きを用いて、legend オプションを修正することはできません。
|
|
|
例
|
|
>
|
with(plots):
F:=plot(cos(x),x=-Pi..Pi,y=-Pi..Pi,style=line):
G:=plot(tan(x),x=-Pi..Pi,y=-Pi..Pi,style=point):
display({F,G},axes=boxed,scaling=constrained,title=`Cosine and Tangent`);
F:=plot3d(sin(x*y),x=-Pi..Pi,y=-Pi..Pi):
G:=plot3d(x + y,x=-Pi..Pi,y=-Pi..Pi):
H:=plot3d([2*sin(t)*cos(s),2*cos(t)*cos(s),2*sin(s)],s=0..Pi,t=-Pi..Pi):
display({F,G,H});
P := animate(plot,[sin(x+t),x=-Pi..Pi],t=-Pi..Pi,frames=8):
Q := animate(plot,[cos(x+t),x=-Pi..Pi],t=-Pi..Pi,frames=8):
display([P,Q]);
P := animate(plot3d,[x-k*y+1,x=-10..10,y=-10..10],k=-10..0,frames=4):
Q := animate(plot3d,[x-k*y+1,x=-10..10,y=-10..10],k=0..10,frames=4):
display([P,Q], insequence=true);
P := animate(plot3d,[cos(t*x)*sin(t*y),x=-Pi..Pi,y=-Pi..Pi],t=1..2,frames=4):
Q := animate(plot3d,[x*cos(t*u),x=1..3,t=1..4],u=2..4,coords=spherical,frames=4):
display([P,Q],style=patch);
|
プロットの配列を用いた例
>
|
A := array(1..2):
A[1] := plot(sin(x),x=-Pi..Pi,axes=framed):
A[2] := plot(cos(x),x=-Pi..Pi,axes=boxed,style=point):
display(A);
B := array(1..2, [
plot3d((1.5)^x * sin(y),x=-3..3,y=-3..3),
plot3d((1.3)^x * sin(y),x=-1..2*Pi,y=0..Pi,coords=spherical, style=patch)]):
display(B);
|
アニメーションを背景と重ねて表示
>
|
a := animate(plot3d,[cos(t*x)*sin(t*y),x=-Pi..2*Pi,y=-Pi..2*Pi],t=1..2):
b := plot3d((1.3)^x*sin(y),x=-1..2*Pi,y=0..Pi,coords=spherical,style=patch):
c := plot3d(binomial,0..5,0..5):
display({b,a,c});
|
正弦関数をテイラー近似した場合のアニメーション表示 (9フレーム)
テイラー近似の動画を作成
>
|
A := display(seq(plot(convert(taylor(f(x),x=0, 3*i), polynom),
x=-3*Pi..3*Pi,y=-1..1,style=line,axes=none), i=1..n), insequence=true):
|
もとの関数を作成
>
|
B := animate(plot,[f(x),x=-3*Pi..3*Pi],y=-1..1,frames=n,style=POINT,axes=none):
|
フレーム毎に両者を表示する
>
|
display(A,B,view=[-3*Pi..3*Pi,-1..1]);
|
アニメーションを配列にして表示
|
|