Grafika v Mathematici

Andrej Bauer

Graphics in Graphics3D

V Mathematici lahko predstavimo 2D in 3D grafične objekte z ukazoma Graphics in Graphics3D. Grafične objekte naštejemo v seznamu.

p=Polygon[{{0,-3},{2,3},{5,6},{-3,4}}]
Graphics[p]

Area[p]

Area[Disk[{0,0},1]]

Graphics[{Circle[{1,1},2], Point[{1,0}],Line[{{0,0}, {3,4}, {4,3}}]}]

Graphics3D[{Cylinder[{{0,0,0},{1,2,1}},1/3], Sphere[{0,0,3},1/2], Polygon[{{0,0,1},{1,0,0},{1,1,1}}]}]

Poleg objektov lahko določamo tudi barve in ostale lastnosti. Objekti so lahko hierarhično gnezdeni v sezname in podsezname.

Graphics[
{
{Red,Polygon[{{-5,5},{5,5},{0,7}}]},
Disk[{0,2},1/3], {Black,Thickness[0.01], Line[{{-4,0},{4,0},{4,5},{-4,5}, {-4,0}}]}
}]

Manipulate

Manipulate[
Graphics[
{
{Hue[b],Polygon[{{-5,5},{5,5},{0,7}}]},
Disk[{x,y},1/3], {Black,Thickness[0.01], Line[{{-4,0},{4,0},{4,5},{-4,5}, {-4,0}}]}
}],
{x,-2,2},{y,-2,2},{b,0,1}
]

Z ukazom Manipulate lahko prikažemo grafični objekt, ki je odvisen od parametrov.

ClearAll[tangenta]
tangenta::usage="tangenta[f[x],x,(Subscript[x, 0])] je enačba tangente na f[x] v točki x = (Subscript[x, 0])";
tangenta[f_,x0_,x_]:=Function[t,f'[x0]*(t-x0)+f[x0]][x]

tangenta[Sin,Pi/4,t]//Simplify

a=3
Function[a,(a^2)+(b^2)]

ClearAll[a]

tangenta[Function[x,(x^2)+2*x],3,u]

p1=Plot[Sin[x],{x,-2,2}]
p2=Graphics[{Point[{1,2}]}]

Show[{p2,p1}]

ClearAll[f]
f[t_]:=Cos[t]*t
Manipulate[Show[
Plot[{f[x],tangenta[f,x0,x]},{x,-5,5},PlotRange->{{-5,5},{-5,5}},AspectRatio->Automatic],
Graphics[{Red,PointSize[0.02],Point[{x0,f[x0]}]}]
],{x0,-5,5}]

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

Animate

Animacije delamo z ukazom Animate, ki sicer deluje podobno kot Manipulate, le da samodejno spreminja vrednost parametra.

ClearAll[f]
f[t_]:=Cos[t]*t
movie=Animate[Plot[{f[x],tangenta[f,x0,x]},{x,-5,5},PlotRange->{{-5,5},{-5,5}},AspectRatio->Automatic],{x0,-5,5}]

Export["~/Desktop/movie.gif",movie]

Animate[Graphics[{Hue[r],Disk[{0,0},1/2+Sin[π*5*r]/3]},PlotRange->{{-1,1},{-1,1}}],{r,0,1,0.001}]