InfoMC 8. labor

Feladatok

Ajtó

Készítsünk egy 3D grafikát, amin egy ajtó van, kilinccsel és ki lehet nyitni (Manipulate).

ajto={Thick, Line[{{0.9,0,1},{0.9,-0.1,1},{0.7,-0.1,1}}],EdgeForm[Directive[Thick,Black]],Green,Polygon[{{0,0,0},{1,0,0},{1,0,2},{0,0,2}}]};
Manipulate[
Graphics3D[{
Rotate[ajto, s, {0,0,1},{0,0,0}]
}, PlotRange->{{0,1},{-0.1,1},{0,2}}],{s,0,90Degree}]

Kishajó

a)

Készítsünk egy 2D grafikát, amin egy kis (csákó) hajó van.

hajo={Thick,Line[{{0,0},{1,0},{2,1},{1,1},{0.5,2},{0,1},{-1,1},{0,0}}],Line[{{1,1},{0,1}}]};
Graphics[{hajo}]

b)

Most szelje a hajó a hullámokat egy szinusz függvény hátán!

Manipulate[Plot[Sin[x+t],{x,0,2Pi}],{t,0,2Pi}]

Helyezzük rá a hajót a függvény grafikonjára a (π/2) abszcisszájú pontban, ahogy mozog a függvény, menjen vele a hajó (az x koordinátája maradjon változatlan).

Hajo1[t_]:=Graphics[{
Thick,Translate[hajo, {Pi/2-0.5,Sin[Pi/2+t]}]
}]
Hajo2[t_]:=Graphics[{
Thick,Translate[Rotate[hajo,ArcTan[Cos[Pi/2+t]]], {Pi/2-0.5,Sin[Pi/2+t]}]
}]

Manipulate[
Show[
Plot[Sin[x+t],{x,0,2Pi}],
Hajo1[t],
PlotRange->{{0,2Pi},{-1,3}}
],{t,0,2Pi}]

Manipulate[
Show[
Plot[Sin[x+t],{x,0,2Pi}],
Hajo2[t],
PlotRange->{{0,2Pi},{-1,3}}
],{t,0,2Pi}]