InfoMC 8. labor

3D Grafikus objektumok

Gömb, téglatest.

Graphics3D[{Sphere[{0,0,0},1], Sphere[{1.5,0,0},0.5], Opacity[0.5],Cuboid[{-1,-1,-1},{2,1,1}]}]

Vonal

Graphics3D[{Thick,Line[{{0,0,0},{1,0,0},{1,1,0},{1,1,1},{1,0,1},{0,0,1},{0,1,1},{0,1,0}}]}]

Sokszög

Graphics3D[{EdgeForm[Thick],Polygon[{{-1,-1,0},{-1,1,0},{1,1,0},{1,-1,0}}], Polygon[{{0,1,0},{1,0,0},{0,0,1}}]}]

Henger

Graphics3D[{Polygon[{{-1,-1,0},{-1,1,0},{1,1,0},{1,-1,0}}],Red,Cylinder[{{0,0,0},{0,0,1}},0.5]}]

Transzformációk

2D-ben is.

Eltolás

Graphics3D[{Sphere[{0,0,0},1],Translate[Sphere[{0,0,0},1],{2,0,0}]}]

Manipulate[
Graphics3D[{Sphere[{0,0,0},1],Translate[Sphere[{0,0,0},1],{t,0,0}]}]
,{t,0,2}
]

Elforgatás

Adott szöggel, adott tengely körül (2D-ben adott pont körül).

Graphics3D[{Cuboid[{0,0,0},{1,1,1}], Rotate[Cuboid[{0,0,0},{1,1,1}],30Degree, {0,0,1},{1,1,1}]}]

Manipulate[
Graphics3D[{
Cuboid[{0,0,0},{1,1,1}], Rotate[Cuboid[{0,0,0},{1,1,1}],s, {0,0,1},{1,1,1}], Rotate[Cuboid[{0,0,0},{1,1,1}],-s, {0,0,1},{0,0,0}]
}, PlotRange->2]
,{s,0,90Degree}]

Feladatok

Ajtó

Készítsünk egy 3D grafikát, amin egy ajtó van, kilinccsel és ki lehet nyitni (forduljon el az ajtó a zsanér körül egy Manipulate hatására).

Kishajó

a)

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

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).