InfoMC 6. labor

Manipulate

Manipulate[
Expand[(((x+y))^n)]
,{n,1,10,1}]

Manipulate[(x^n),{n,0,10}]

Manipulate[Plot[(x^n),{x,-2,2}, PlotRange->{-2,2}],{n,0,10,1}]

Csúszka kezdeti értékkel

Manipulate[
Plot[(x^n),{x,-2,2}, PlotRange->{-2,2}]
,{{n,2},0,10,1}]

Ha a változót berakjuk még egy zárójelbe, akkor a mellette lévő érték lesz a kezdeti érték.
Ez nem változtat a csúszka egyéb paraméterein (mettől, meddig, lépésköz).

Manipulate[
Expand[(((x+y))^n)]
,{{n,2},0,10,1}]

Több csúszka

A Manipulate végén halmozhatjuk az állítható változókat.

Manipulate[
Plot[Sin[a x+b],{x,-2Pi,2Pi}]
,{a,0,10},{b,-5,5}]

Egyenként lehet kezdeti értékük

Manipulate[
Plot[Sin[a x+b],{x,-2Pi,2Pi}]
,{{a,1},0,10},{{b,0},-5,5}]

Két dimenziós csúszka

Manipulate[Plot[Sin[p[[1]] x+p[[2]]],{x,-2Pi,2Pi}],{p,{-5,-5},{5,5}}]

Figyeljük meg az utolsó változót!

{p,{-5,-5},{5,5}}

A csúszka “alsó határa” egy pont és a “felső határa” is egy pont. A változó egy kettő hosszú lista lesz.

Ennek is lehet kezdeti értéket megadni, csak az egy pont.

Manipulate[Plot[Sin[p[[1]] x+p[[2]]],{x,-2Pi,2Pi}],{{p, {1,0}},{-5,-5},{5,5}}]

Manipulate[ParametricPlot[{Sin[p[[1]]x],Cos[p[[2]]x]},{x,0,10Pi}],{{p, {1,1}},{-5,-5},{5,5}}]

Grafikus objektumok

A Graphics parancsnak egy lista az argumentuma, amiben grafikus objektumok vannak.

Graphics[{Circle[{0,0},1]}]

Graphics[{Circle[{0,0},1], Line[{{-1,-1},{1,1}}]}]

Graphics[{Circle[{0,0},1], Line[{{-1,-1},{1,1}}],Triangle[{{-1,-1},{1,-1},{0,1}}]}]

Közbevethetünk színezési utasításokat. Ezek csak azokra vonatkoznak, amik utána állnak.

Graphics[{Dashed,Red, Circle[{0,0},1], Line[{{-1,-1},{1,1}}],EdgeForm[Dashed],White,Triangle[{{-1,-1},{1,-1},{0,1}}]}]

Az objektumoknak sorrendje van, a listában hátrébb léfő kitakarja a többit. De lehet átlátszó kitöltés is.

Graphics[{Dashed,Red, Circle[{0,0},1], AbsoluteDashing[{}],Line[{{-1,-1},{1,1}}],EdgeForm[Thick],Opacity[0],Triangle[{{-1,-1},{1,-1},{0,1}}]}]

Feladatok

Rajzoljunk le egy közlekedési táblát, vagy a kedvenc együttesünk logóját!

Tegyük Manipulate-tel érdekesebbé, például változtatható legyen a színe, vagy a mérete/méretaránya.

Manipulate[Graphics[{color,RegularPolygon[n]}],{n,3,100,1},{color,Red}]