GraphicsComplex y transformaciones geométricas
en tres dimensiones
GraphicsComplex
ü El comando GraphicsComplex[{coordenadas},{figuras}] permite especificar una o varias figuras que
comparten las coordenas como puntos, vértices, etc.
A continuación se especifica una lista de coordenadas{ {1, 0.5, 0}, {2, 1, 0}, {1, 1.5, 0}, {1.5, 1, 1} } y dos
polígonos, el primero tiene vértices en las primeras tres coordenadas {1,2,3}, y el segundo tiene
vértices en la segunda, tercera y cuarta coordenadas {2,3,4}:
Graphics3D@GraphicsComplex@8 81, 0.5, 0<, 82, 1, 0<, 81, 1.5, 0<, 81.5, 1, 1< <,8 Polygon@ 81, 2, 3< D ,Polygon@ 82, 3, 4< D < D,
Axes → TrueD
1.0
1.5
2.0
0.5
1.0
1.5
0.0
0.5
1.0
2 LAD03.nb
ü La misma lista de puntos, pero ahora se añade un tercer polígono que utiliza la primera, tercera y
cuarta coordenadas como vértices {1,3,4}:
Graphics3D@GraphicsComplex@8 81, 0.5, 0<, 82, 1, 0<, 81, 1.5, 0<, 81.5, 1, 1< <,8 Polygon@ 81, 2, 3< D ,Polygon@ 82, 3, 4< D,Polygon@81, 3, 4<D < D,
Axes → TrueD
1.0
1.5
2.0
0.5
1.0
1.5
0.0
0.5
1.0
LAD03.nb 3
ü Podemos obtener los mismos tres polígonos escribiendo una sola vez la palabra Polygon, y agrupando
en sublistas a las coordenadas de cada polígono, como se muestra a continuación:
Graphics3D@GraphicsComplex@8 81, 0.5, 0<, 82, 1, 0<, 81, 1.5, 0<, 81.5, 1, 1< <,8 Polygon@ 881, 2, 3<, 82, 3, 4<, 81, 3, 4<< D <D ,
Axes → TrueD
1.0
1.5
2.0
0.5
1.0
1.5
0.0
0.5
1.0
4 LAD03.nb
ü La misma lista de puntos, pero ahora se especifica una línea gruesa (Thick) que une a las cuatro
coordenadas:
Graphics3D@GraphicsComplex@8 81, 0.5, 0<, 82, 1, 0<, 81, 1.5, 0<, 81.5, 1, 1< <,8Thick, Line@81, 2, 3, 4<D < D,
Axes → TrueD
1.0
1.5
2.0
0.5
1.0
1.5
0.0
0.5
1.0
LAD03.nb 5
ü La misma lista de puntos, pero ahora la línea recorre varias veces cada vértice para formar un
tetraedro irregular
Graphics3D@GraphicsComplex@8 81, 0.5, 0<, 82, 1, 0<, 81, 1.5, 0<, 81.5, 1, 1< <,8Thick, Line@81, 2, 3, 4, 1, 3, 4, 2<D < D,
Axes → TrueD
1.0
1.5
2.0
0.5
1.0
1.5
0.0
0.5
1.0
6 LAD03.nb
ü Podemos especificar varias líneas, con un color distinto para cada una:
Graphics3D@GraphicsComplex@8 81, 0.5, 0<, 82, 1, 0<, 81, 1.5, 0<, 81.5, 1, 1< <,8Thick, Red, Line@81, 2<D,Thick, Green, Line@82, 3<D,Thick, Blue, Line@83, 4<D,Thick, Darker@GreenD, Line@84, 1<D,Thick, Magenta, Line@81, 3<D,Thick, Lighter@BrownD, Line@84, 2<D<D,
Axes → True D
1.0
1.5
2.0
0.5
1.0
1.5
0.0
0.5
1.0
LAD03.nb 7
ü Añadimos un punto de tamaño 0.07 veces el tamaño del dibujo total y de color naranja en la tercera
coordenada:
Graphics3D@GraphicsComplex@8 81, 0.5, 0<, 82, 1, 0<, 81, 1.5, 0<, 81.5, 1, 1< <,[email protected], Orange, Point@83<D ,Thick, Red, Line@81, 2<D,Thick, Green, Line@82, 3<D,Thick, Blue, Line@83, 4<D,Thick, Darker@GreenD, Line@84, 1<D,Thick, Magenta, Line@81, 3<D,Thick, Lighter@BrownD, Line@84, 2<D<D ,
Axes → True D
1.0
1.5
2.0
0.5
1.0
1.5
0.0
0.5
1.0
8 LAD03.nb
ü Ahora trabajaremos con otra lista de coordenadas {{-0.7, 0, 0}, {0, 0.7, 0}, {0, 0, -0.7}, {0, 0, 0.7}, {0, -0.7,
0}, {0.7, 0, 0}}, y comenzamos haciendo varios polígonos usando esas coordenadas como vértices:
Graphics3D@GraphicsComplex@88−0.7, 0, 0<, 80, 0.7, 0<,80, 0, −0.7<, 80, 0, 0.7<, 80, −0.7, 0<, 80.7, 0, 0<<,
8Polygon@884, 5, 6<, 84, 6, 2<, 84, 2, 1<, 84, 1, 5<,85, 1, 3<, 85, 3, 6<, 83, 1, 2<, 86, 3, 2<<D< D,
Axes → True
D
-0.5
0.0
0.5
-0.5
0.0
0.5
-0.5
0.0
0.5
LAD03.nb 9
ü El mismo poliedro, con cada polígono de un color distinto:
Graphics3D@GraphicsComplex@88−0.7, 0, 0<, 80, 0.7, 0<,80, 0, −0.7<, 80, 0, 0.7<, 80, −0.7, 0<, 80.7, 0, 0<<,
8Red, Polygon@84, 5, 6<D,Blue, Polygon@84, 6, 2<D,Green, Polygon@84, 2, 1<D,Yellow, Polygon@84, 1, 5<D,Cyan, Polygon@85, 1, 3<D,Brown, Polygon@85, 3, 6<D,Magenta, Polygon@83, 1, 2<D,Gray, Polygon@86, 3, 2<D< D,
Axes → True
D
-0.5
0.0
0.5
-0.5
0.0
0.5
-0.5
0.0
0.5
10 LAD03.nb
ü El mismo poliedro con todos los polígonos con 40% de opacidad (es decir, con 60% de transparencia):
Graphics3D@GraphicsComplex@88−0.7, 0, 0<, 80, 0.7, 0<,80, 0, −0.7<, 80, 0, 0.7<, 80, −0.7, 0<, 80.7, 0, 0<<,
[email protected], Red, Polygon@84, 5, 6<D,Blue, Polygon@84, 6, 2<D,Green, Polygon@84, 2, 1<D,Yellow, Polygon@84, 1, 5<D,Cyan, Polygon@85, 1, 3<D,Brown, Polygon@85, 3, 6<D,Magenta, Polygon@83, 1, 2<D,Gray, Polygon@86, 3, 2<D< D,
Axes → True
D
LAD03.nb 11
ü El mismo poliedro con dos polígonos con 40% de opacidad (es decir, con 60% de transparencia) y los
demás polígonos completamente opacos:
Graphics3D@GraphicsComplex@88−0.7, 0, 0<, 80, 0.7, 0<,80, 0, −0.7<, 80, 0, 0.7<, 80, −0.7, 0<, 80.7, 0, 0<<,
[email protected], Red, Polygon@84, 5, 6<D,Blue, Polygon@84, 6, 2<D,[email protected], Green, Polygon@84, 2, 1<D,Yellow, Polygon@84, 1, 5<D,Cyan, Polygon@85, 1, 3<D,Brown, Polygon@85, 3, 6<D,Magenta, Polygon@83, 1, 2<D,Gray, Polygon@86, 3, 2<D< D,
Axes → True
D
12 LAD03.nb
ü Puntos en las coordenadas. Observa que se puede hacer escribiendo la palabra Point una sola vez:
Graphics3D@GraphicsComplex@88−0.7, 0, 0<, 80, 0.7, 0<,80, 0, −0.7<, 80, 0, 0.7<, 80, −0.7, 0<, 80.7, 0, 0<<,
8Red, [email protected], Point@81, 2, 3, 4, 5, 6<D< D,
Axes → True
D
-0.5
0.0
0.5
-0.5
0.0
0.5
-0.5
0.0
0.5
LAD03.nb 13
ü Esferas de radio 0.1 en las coordenadas. Observa que se puede hacer escribiendo la palabra Point una
sola vez:
Graphics3D@GraphicsComplex@88−0.7, 0, 0<, 80, 0.7, 0<,80, 0, −0.7<, 80, 0, 0.7<, 80, −0.7, 0<, 80.7, 0, 0<<,
8Red, Sphere@81, 2, 3, 4, 5, 6<, 0.1D< D,
Axes → True
D
14 LAD03.nb
ü Esferas de radio 0.1 y cilindros de radio 0.03 en las coordenadas. Observa que se puede hacer
escribiendo la palabra Cylinder una sola vez:
Graphics3D@GraphicsComplex@88−0.7, 0, 0<, 80, 0.7, 0<,80, 0, −0.7<, 80, 0, 0.7<, 80, −0.7, 0<, 80.7, 0, 0<<,
8Red, Sphere@81, 2, 3, 4, 5, 6<, 0.1D,Blue, Cylinder@881, 2<, 81, 3<, 81, 4<, 81, 5<<, 0.03D
< D,Axes → True
D
LAD03.nb 15
ü Esferas, cilindros y polígonos que usan la misma lista de puntos:
Graphics3D@GraphicsComplex@88−0.7, 0, 0<, 80, 0.7, 0<,80, 0, −0.7<, 80, 0, 0.7<, 80, −0.7, 0<, 80.7, 0, 0<<,
8Red, Sphere@81, 2, 3, 4, 5, 6<, 0.1D,Blue, Cylinder@881, 2<, 81, 3<, 81, 4<, 81, 5<<, 0.03D,[email protected], Green, Polygon@884, 5, 6<, 82, 3, 6<<D
< D,Axes → True
D
16 LAD03.nb
ü EJERCICIO 1: Usa GraphicsComplex para generar la siguiente figura:
ü EJERCICIO 2: Usa GraphicsComplex para generar la siguiente figura:
LAD03.nb 17
Transformaciones Lineales
ü El cubo unitario, junto con una pequeña esfera en el origen:
Graphics3D@GraphicsComplex@8 80, 0, 0<,80, 0, 1<,80, 1, 0<,80, 1, 1<,81, 0, 0<,81, 0, 1<,81, 1, 0<,81, 1, 1< <,
8Yellow, Sphere@81<, 0.15D,Darker@RedD, Cylinder@ 881, 2<, 81, 3<, 81, 5<<, 0.03D,Darker@BlueD, Cylinder@888, 7<, 88, 6<, 88, 4<<, 0.03D,Darker@GreenD,Cylinder@882, 6<, 83, 7<, 83, 4<, 82, 4<, 85, 6<, 87, 5<<, 0.03D
< D,Axes → TrueD
18 LAD03.nb
LAD03.nb 19
ü El cubo unitario con una esfera en el origen, y gráficados de -2 a 2 en las primeras dos coordenadas y
de -1.5 a 1.5 en la tercera:
Graphics3D@GraphicsComplex@8 80, 0, 0<,80, 0, 1<,80, 1, 0<,80, 1, 1<,81, 0, 0<,81, 0, 1<,81, 1, 0<,81, 1, 1< <,
8 Yellow, Sphere@81<, 0.15D,Darker@RedD, Cylinder@ 881, 2<, 81, 3<, 81, 5<<, 0.03D,Darker@BlueD, Cylinder@888, 7<, 88, 6<, 88, 4<<, 0.03D,Darker@GreenD,Cylinder@882, 6<, 83, 7<, 83, 4<, 82, 4<, 85, 6<, 87, 5<<, 0.03D
< D,PlotRange → 88−2, 2<, 8−2, 2<, 8−1.5, 1.5<<,Axes → TrueD
20 LAD03.nb
Transformación lineal de reflexión en la primera coordenada
−1 0 0
0 1 0
0 0 1
aplicada al cubo unitaro:
Graphics3DBGeometricTransformationBGraphicsComplex@8 80, 0, 0<,80, 0, 1<,80, 1, 0<,80, 1, 1<,81, 0, 0<,81, 0, 1<,81, 1, 0<,81, 1, 1< <,
8 Yellow, Sphere@81<, 0.15D,Darker@RedD, Cylinder@ 881, 2<, 81, 3<, 81, 5<<, 0.03D,Darker@BlueD, Cylinder@888, 7<, 88, 6<, 88, 4<<, 0.03D,Darker@GreenD,Cylinder@882, 6<, 83, 7<, 83, 4<, 82, 4<, 85, 6<, 87, 5<<, 0.03D
< D,−1 0 0
0 1 0
0 0 1
F,
PlotRange → 88−2, 2<, 8−2, 2<, 8−1.5, 1.5<<,Axes → TrueF
LAD03.nb 21
22 LAD03.nb
ü Transformación lineal de rotación (30°) alrededor de la primera coordenada 1 0 0
0 Cos@30 °D −Sin@30 °D0 Sin@30 °D Cos@30 °D
Graphics3DBGeometricTransformationBGraphicsComplex@8 80, 0, 0<,80, 0, 1<,80, 1, 0<,80, 1, 1<,81, 0, 0<,81, 0, 1<,81, 1, 0<,81, 1, 1< <,
8 Yellow, Sphere@81<, 0.15D,Darker@RedD, Cylinder@ 881, 2<, 81, 3<, 81, 5<<, 0.03D,Darker@BlueD, Cylinder@888, 7<, 88, 6<, 88, 4<<, 0.03D,Darker@GreenD,Cylinder@882, 6<, 83, 7<, 83, 4<, 82, 4<, 85, 6<, 87, 5<<, 0.03D
< D,1 0 0
0 CosA30 °E −SinA30 °E0 SinA30 °E CosA30 °E
F,
PlotRange → 88−2, 2<, 8−2, 2<, 8−1.5, 1.5<<,Axes → TrueF
LAD03.nb 23
24 LAD03.nb
ü Transformación lineal de rotación (30°) alrededor de la segunda coordenada Cos@30 °D 0 −Sin@30 °D
0 1 0
Sin@30 °D 0 Cos@30 °D
Graphics3DBGeometricTransformationBGraphicsComplex@8 80, 0, 0<,80, 0, 1<,80, 1, 0<,80, 1, 1<,81, 0, 0<,81, 0, 1<,81, 1, 0<,81, 1, 1< <,
8 Yellow, Sphere@81<, 0.15D,Darker@RedD, Cylinder@ 881, 2<, 81, 3<, 81, 5<<, 0.03D,Darker@BlueD, Cylinder@888, 7<, 88, 6<, 88, 4<<, 0.03D,Darker@GreenD,Cylinder@882, 6<, 83, 7<, 83, 4<, 82, 4<, 85, 6<, 87, 5<<, 0.03D
< D,CosA30 °E 0 −SinA30 °E
0 1 0
SinA30 °E 0 CosA30 °EF,
PlotRange → 88−2, 2<, 8−2, 2<, 8−1.5, 1.5<<,Axes → TrueF
LAD03.nb 25
26 LAD03.nb
ü Transformación lineal de corte
1 0.4 0
0 1 0
0 0 1
aplicada al cubo unitaro:
Graphics3DBGeometricTransformationBGraphicsComplex@8 80, 0, 0<,80, 0, 1<,80, 1, 0<,80, 1, 1<,81, 0, 0<,81, 0, 1<,81, 1, 0<,81, 1, 1< <,
8 Yellow, Sphere@81<, 0.15D,Darker@RedD, Cylinder@ 881, 2<, 81, 3<, 81, 5<<, 0.03D,Darker@BlueD, Cylinder@888, 7<, 88, 6<, 88, 4<<, 0.03D,Darker@GreenD,Cylinder@882, 6<, 83, 7<, 83, 4<, 82, 4<, 85, 6<, 87, 5<<, 0.03D
< D,1 0.4 0
0 1 0
0 0 1
F,
PlotRange → 88−2, 2<, 8−2, 2<, 8−1.5, 1.5<<,Axes → TrueF
LAD03.nb 27
28 LAD03.nb
ü Transformación lineal de rotación (30°) alrededor de la segunda coordenada y después un corte.
IMPORTANTE: Debes escribir un punto . entre las dos matrices para que Mathematica las multiplique
Graphics3DBGeometricTransformationBGraphicsComplex@8 80, 0, 0<,80, 0, 1<,80, 1, 0<,80, 1, 1<,81, 0, 0<,81, 0, 1<,81, 1, 0<,81, 1, 1< <,
8 Yellow, Sphere@81<, 0.15D,Darker@RedD, Cylinder@ 881, 2<, 81, 3<, 81, 5<<, 0.03D,Darker@BlueD, Cylinder@888, 7<, 88, 6<, 88, 4<<, 0.03D,Darker@GreenD,Cylinder@882, 6<, 83, 7<, 83, 4<, 82, 4<, 85, 6<, 87, 5<<, 0.03D
< D,1 0 0
0 1 0.5
0 0 1
.
CosA30 °E 0 −SinA30 °E0 1 0
SinA30 °E 0 CosA30 °EF,
PlotRange → 88−2, 2<, 8−2, 2<, 8−1.5, 1.5<<,Axes → TrueF
LAD03.nb 29
ü Ejercicio 3
Aplícale al cubo unitario la transformación necesaria para generar las siguiente figura:
30 LAD03.nb
ü Ejercicio 4
Aplícale al cubo unitario la transformación necesaria para generar las siguiente figura:
ü Ejercicio 5
Aplícale al cubo unitario la transformación necesaria para generar las siguiente figura:
LAD03.nb 31
Top Related