Uploaded by cristhian.castro.veliz1

Geometria Diferencial

advertisement
Z
W
Z
Y
O
Y
Z
W
X
O
O
X
X
Y
O
X
Z
Y
Geometrı́a Diferencial de objetos inmersos en
En con Mathematica ®
Josel Antonio Mechato Durand1
jmechatod1@upao.edu.pe
Ricardo Velezmoro León2
rvelezmorol@unp.edu.pe
Robert Ipanaqué Chero3
ripanaquec@unp.edu.pe
www.unp.edu.pe/pers/ripanaque
11 de abril de 2020
1 Dpto.
de Ciencias, Universidad Privada Antenor Orrego, Piura, PERÚ
de Matemática, Universidad Nacional de Piura, Piura, PERÚ
3 Dpto. de Matemática, Universidad Nacional de Piura, Piura, PERÚ
2 Dpto.
Introducción
El desarrollo de los sistemas de cálculo simbólico (Mathematica, Maple,
Maxima, etc.) con respecto a las técnicas para trazar objetos gráficos y realizar cálculos engorrosos hace indispensable incluir estos en el desarrollo de
los cursos que lo permitan. De hecho, las interpretaciones geométricas y la
velocidad para realizar cálculos resultan grandes aliados para desarrollar investigaciones productivas en diversos temas matemáticos.
Este libro nace con la finalidad de contar con bibliografı́a propia y acorde con el desarrollo de las investigaciones que los autores vienen realizando
en la lı́nea de investigación denominada Geometrı́a y Cálculo Simbólico. Se
pretende que sirva como libro texto para los cursos de Geometrı́a Diferencial
que se imparten en la Escuela Profesional de Matemática de la Facultad de
Ciencias de la Universidad Nacional de Piura.
Para estudiar este libro se necesitan algunos conocimientos de cálculo,
álgebra lineal y lenguaje Wolfram elementales. Estos conocimientos se imparten en cursos previos en la escuela antes mencionada.
El sistema de cálculo simbólico que se ha elegido para elaborar este libro
es el Mathematica. Esto, gracias a su versatilidad en la manipulación de
las salidas gráficas, a su potente programación funcional, a su simplificada
programación basada en reglas, a la bien nutrida red de colaboradores a nivel
mundial y a que se cuenta con una licencia de la versión 11.0.2 solventada
por las autoridades de la Universidad Nacional de Piura en el año 2019.
El Notebook del Mathematica en el que figuran todos los códigos incluidos
en este libro se puede descargar desde:
https://sites.google.com/site/ripanaque/docencia
El contenido de este libro se divide en x capı́tulos. En el capı́tulo uno
se establece la técnica, basada en el teorema de Pohlke, para graficar proyecciones de objetos gráficos inmersos en En sobre la pantalla plana de una
ii
INTRODUCCIÓN
computadora. El contenido de este libro se divide en x capı́tulos. El contenido
de este libro se divide en x capı́tulos. El contenido de este libro se divide en
x capı́tulos. El contenido de este libro se divide en x capı́tulos. El contenido
de este libro se divide en x capı́tulos. El contenido de este libro se divide en
x capı́tulos. El contenido de este libro se divide en xx capı́tulos. El contenido
de este libro se divide en x capı́tulos. El contenido de este libro se divide en
x capı́tulos. El contenido de este libro se divide en x capı́tulos.
Índice general
Introducción
1. Trazado de objetos gráficos inmersos en En
1.1. El espacio euclidiano En . . . . . . . . . . . . . .
1.2. Las primitivas y el trazado de los objetos gráficos
1.3. Segmento rectilı́neo dirigido . . . . . . . . . . . .
1.4. Sistema coordenado lineal . . . . . . . . . . . . .
1.5. Trazado de objetos gráficos inmersos en E . . . .
1.6. Trazado de funciones de E en E . . . . . . . . . .
1.7. Sistema coordenado rectangular bidimensional . .
1.8. Trazado de objetos gráficos inmersos en E2 . . . .
1.9. Trazado de funciones de E en E2 . . . . . . . . .
1.10. Trazado de funciones de E2 en E . . . . . . . . .
1.11. Sistema coordenado rectangular tridimensional . .
1.12. El teorema de Pohlke y las proyecciones . . . . .
1.13. Proyecciones de E3 en E2 . . . . . . . . . . . . . .
1.14. Trazado de objetos gráficos inmersos en E3 . . . .
1.15. Trazado de funciones de E en E3 . . . . . . . . .
1.16. Trazado de funciones de E2 en E2 . . . . . . . . .
1.17. Trazado de funciones de E3 en E . . . . . . . . .
1.18. Proyecciones de E4 en E3 . . . . . . . . . . . . . .
1.19. Trazado de objetos gráficos inmersos en E4 . . . .
1.20. Trazado de gráficos inmersos en En . . . . . . . .
1.21. Ejercicios . . . . . . . . . . . . . . . . . . . . . .
I
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
4
17
18
19
20
23
24
29
34
40
42
45
53
62
66
73
81
89
99
105
iv
ÍNDICE GENERAL
1
Trazado de objetos gráficos inmersos en En
En este capı́tulo se sientan las bases para realizar el trazado de objetos gráficos en diversos espacios euclidianos, claro está, teniendo en cuenta
nuestras limitaciones perceptivas: esto es el hecho que nuestra visión es bidimensional [5]. La teorı́a incluida en las secciones 1.3, 1.4, 1.7 y 1.11 se ha
tomado del libro de Charles Lehmann [13], algunas definiciones provienen del
libro de Barret O’Neill [19] (ampliadas a En ) y las visualizaciones se realizan
en el sistema de cálculo simbólico Mathematica v. 11.0.2 [9, 28].
1.1 El espacio euclidiano En
Definición 1.
El espacio euclidiano de n-dimensiones En es el conjunto de todas las
n-adas ordenadas de números reales Una n-ada ası́ p = (p1 , . . . , pn ) se
llama punto de En .
En el álgebra lineal se demuestra que En es, de manera natural, un espacio vectorial sobre los números reales. De hecho, si p = (p1 , . . . , pn ) y
q = (q1 , . . . , qn ) son puntos de En , su suma será el punto
p + q = (p1 + q1 , . . . , pn + qn ) .
El producto escalar de un punto p = (p1 , . . . , pn ) por el número a es el
punto
ap = (a p1 , . . . , a pn ) .
Se verifica con facilidad que estas dos operaciones satisfacen los axiomas
de un espacio vectorial.
2
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Definición 2.
Si a cada punto p en Em le corresponde un solo punto q en En , entonces
este será función de p y simbólicamente se escribe
q = F (p) = (f1 (p), . . . , fn (p)) .
Definición 3.
Dada la función F : Em → En , el conjunto al cual pertenecen todos los
puntos p en Em para los cuales se determinan puntos q en En , en virtud
de F , se llama dominio (D) de la función. Y el conjunto al cual pertencen
todos los puntos q obtenidos, rango (R).
Definición 4.
Dada la función F : D ⊆ Em → R ⊆ En , el gráfico de F es el conjunto
G(F ) = {(p, F (p)) | p ∈ D} ,
que es un subconjunto de Em+n .
Definición 5.
Sean x1 , . . . , xn las funciones de valores reales en En tales que para cada
punto p = (p1 , . . . , pn )
x1 (p) = p1 , . . . , xn (p) = pn .
Estas funciones x1 , . . . , xn se llaman funciones coordenadas naturales de
En .
Definición 6.
Se dice que una función en D ⊆ En de valores reales f es diferenciable (o
infinitamente diferenciable, o clase C ∞ ) siempre que existan (en D) todas
las derivadas parciales de f , de todos los órdenes, y que son continuas.
EL ESPACIO EUCLIDIANO En
3
En las próximas secciones se hará referencia constante al trazado de la
gráfica de funciones, por tal motivo analizaremos algunos ejemplos.
1. Sea f : E → E la función f = (x2 ). La gráfica de esta función es el
conjunto
G(f ) = { p1 , p21 | p1 ∈ E}
que es subconjunto de E2 .
2. Sea α : h0, πi ⊂ E → E2 la función α = (cos(10t), sin(10t)). La gráfica
de esta función es el conjunto
G(α) = {(p1 , cos (10p1 ) , sin (10p1 )) | p1 ∈ h0, πi}
que es subconjunto de E3 .
3. Sea f : E2 → E la función f = (x2 + y 2 ). La gráfica de esta función es
el conjunto
G(f ) = { p1 , p2 , p21 + p22 | (p1 , p2 ) ∈ E2 }
que es subconjunto de E3 .
4. Sea F : E2 → E2 la función F = (u2 − v 2 , u2 + v 2 ). La gráfica de esta
función es el conjunto
G(F ) = { p1 , p2 , p21 − p22 , p21 + p22 | (p1 , p2 ) ∈ E2 }
que es subconjunto de E4 .
5. Sea F : C → C la función F = (z 2 ). Poniendo z = x + i y se obtiene
z 2 = (x + i y)2 = x2 − y 2 + i (2xy) .
Además, desde que C es isomorfo a E2 , gracias al isomorfismo que
asocia el número complejo a + i b con el par ordenado (a, b), es posible
afirmar que la gráfica de esta función es el conjunto
G(F ) = { p1 , p2 , p21 − p22 , 2p1 p2 | (p1 , p2 ) ∈ E2 }
que es subconjunto de E4 .
4
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
1.2 Las primitivas del Mathematica y el trazado de
los objetos gráficos
El Mathematica posee su propio lenguaje de programación; este es el lenguaje Wolfram y fue desarrollado por la compañı́a Wolfram Research (fundada por Stephen Wolfram, matemático autor del sistema de cálculo simbólico
Mathematica).
Para el trazado de objetos gráficos el lenguaje Wolfram cuenta con las
llamadas primitivas: Point, Line y Polygon. Estas primitivas, en realidad,
son unos identificadores ya que al ejecutar el código que las incluye se obtiene como salida la misma entrada. Para trazar estas primitivas el lenguaje
Wolfram incorpora las funciones Graphics y Graphics3D.
Mathematica
Fijado de los valores de algunas opciones de las funciones Graphics y Graphics3D. Esto
se hace con la finalidad de no repetir tales asignaciones cada vez que se utilice alguna de
estas funciones.
In[1]:=
SetOptions[Graphics3D, Axes → True];
SetOptions[Graphics, Frame → True, Axes → True];
SetOptions[Plot, Frame → True];
Mathematica
La primitiva Point como identificador del punto pt.
In[2]:=
Out[2]=
pt = Point[{0.5, 0.5}]
Point[{0.5, 0.5}]
Mathematica
Trazado del punto pt con la función Graphics.
In[3]:=
Out[3]=
Graphics[{PointSize[Large], RGBColor[0.4, 0.5, 0.7], pt}]
Ver figura 1.1 (izquierda)
Mathematica
La primitiva Point como identificador de los puntos pts.
In[4]:=
Out[4]=
pts = Point[{{−1, −2}, {0, 1}, {2, 3}}]
Point[{{−1, −2}, {0, 1}, {2, 3}}]
LAS PRIMITIVAS Y EL TRAZADO DE LOS OBJETOS GRÁFICOS
3
0.7
2
0.6
1
0.5
0
0.4
-1
0.3
0.3
0.4
0.5
0.6
0.7
-2
-1.0-0.5 0.0 0.5 1.0 1.5 2.0
Figura 1.1
Mathematica
Trazado de los puntos pts con la función Graphics.
In[5]:=
Out[5]=
Graphics[{PointSize[Large], RGBColor[0.4, 0.5, 0.7], pts}]
Ver figura 1.1 (derecha)
Mathematica
La primitiva Point como identificador del punto pt3d.
In[6]:=
Out[6]=
pt3d = Point[{−1, 3, 1}]
Point[{−1, 3, 1}]
Mathematica
Trazado del punto pt con la función Graphics.
In[7]:=
Out[7]=
Graphics3D[{PointSize[Large], RGBColor[0.4, 0.5, 0.7], pt3d}]
Ver figura 1.2 (izquierda)
Mathematica
La primitiva Point como identificador de los puntos pts3d.
In[8]:=
Out[8]=
pts3d = Point[{{−1, 3, 1}, {1, −1, 0.5}, {1.5, 1, 2.5}}]
Point[{{−1, 3, 1}, {1, −1, 0.5}, {1.5, 1, 2.5}}]
Mathematica
Trazado de los puntos pts3d con la función Graphics3D.
In[9]:=
Out[9]=
Graphics3D[{PointSize[Large], RGBColor[0.4, 0.5, 0.7], pts3d}]
Ver figura 1.2 (derecha)
5
6
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.2
2.0
1.5
2.0
1.0
1.5
1.0
0.5
0.5
0.0
0.0
-0.5
-1.0
-1.0
-0.5
-0.5
0.0
0.5
-1.0
-1.0 -0.5
1.0
0.0
Figura 1.3
Mathematica
La primitiva Line como identificador de la lı́nea li.
In[10]:=
Out[10]=
li = Line[{{−1, −1}, {1, 2}}]
Line[{{−1, −1}, {1, 2}}]
Mathematica
Trazado de la lı́nea li con la función Graphics.
In[11]:=
Out[11]=
Graphics[{Thick, RGBColor[0.4, 0.5, 0.7], li}]
Ver figura 1.3 (izquierda)
0.5
1.0
1.5
2.0
LAS PRIMITIVAS Y EL TRAZADO DE LOS OBJETOS GRÁFICOS
Figura 1.4
Mathematica
La primitiva Line como identificador de la lı́nea quebrada liq.
In[12]:=
Out[12]=
liq = Line[{{−1, −1}, {1, 2}, {1.5, −0.5}, {2, 1}}]
Line[{{−1, −1}, {1, 2}, {1.5, −0.5}, {2, 1}}]
Mathematica
Trazado de la lı́nea quebrada liq con la función Graphics.
In[13]:=
Out[13]=
Graphics[{Thick, RGBColor[0.4, 0.5, 0.7], liq}]
Ver figura 1.3 (derecha)
Mathematica
La primitiva Line como identificador de la lı́nea li3d.
In[14]:=
Out[14]=
li3d = Line[{{−1, −1, −1}, {1, 2, −0.5}}]
Line[{{−1, −1, −1}, {1, 2, −0.5}}]
Mathematica
Trazado de la lı́nea li con la función Graphics.
In[15]:=
Out[15]=
Graphics3D[{Thick, RGBColor[0.4, 0.5, 0.7], li3d}]
Ver figura 1.4 (izquierda)
Mathematica
La primitiva Line como identificador de la lı́nea quebrada liq3d.
In[16]:=
Out[16]=
liq3d =
Line[{{−1, −1, −1}, {1, 2, −0.5}, {1.5, −0.5, 0}, {2, 1, 0.5}}]
Line[{{−1, −1, −1}, {1, 2, −0.5}, {1.5, −0.5, 0}, {2, 1, 0.5}}]
7
8
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
2.0
1.5
1.0
0.5
0.0
-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.5
Mathematica
Trazado de la lı́nea quebrada liq3d con la función Graphics3D.
In[17]:=
Out[17]=
Graphics3D[{Thick, RGBColor[0.4, 0.5, 0.7], liq3d}]
Ver figura 1.4 (derecha)
Mathematica
La primitiva Polygon como identificador del polı́gono pol.
In[18]:=
Out[18]=
pol = Polygon[{{−1, −1}, {0, 2}, {1, 0}}]
Polygon[{{−1, −1, −1}, {1, 2, −0.5}{−1, −1}, {0, 2}, {1, 0}}]
Mathematica
Trazado del polı́gono pol con la función Graphics.
In[19]:=
Out[19]=
Graphics3D[{Red, EdgeForm[Blue], pol}]
Ver figura 1.5 (izquierda)
Mathematica
La primitiva Polygon como identificador del polı́gono pol3d.
In[20]:=
Out[20]=
pol3d = Polygon[{{−1, −1, 0}, {0, 2, 2}, {1, 0, 1}}]
Polygon[{{−1, −1, 0}, {0, 2, 2}, {1, 0, 1}}]
Mathematica
Trazado del polı́gono pol3d con la función Graphics3D.
In[21]:=
Graphics3D[pol3d]
LAS PRIMITIVAS Y EL TRAZADO DE LOS OBJETOS GRÁFICOS
1.0
1.0
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.0
-1.0
-0.5
0.0
0.5
1.0
0.0
-1.0
-0.5
0.0
0.5
9
1.0
Figura 1.6
Out[21]=
Ver figura 1.5 (derecha)
Para implementar las diversas funciones que trazan objetos gráficos el
lenguaje Wolfram utiliza las primitivas. Por ejemplo, de acuerdo con la definición 4, la gráfica de f = (x2 ) (Ej. 1, Sec. 1.1) es el conjunto G(f ) =
{(p1 , f (p1 )) | p1 ∈ E} que es subconjunto de E2 . Para generar algunos puntos de la gráfica de esta función es posible utilizar la función incorporada
Table y luego afectar los mismos con alguno de los identificadores para finalmente realizar el trazado con la función incorporada Graphics.
Mathematica
Definición de la función f = x2 .
In[22]:=
f [x ]:=x2
Mathematica
Generando algunos puntos de la gráfica de f con la función incorporada Table. Estos
puntos son almacenados en la variable pts.
In[23]:=
pts = Table [{p1 , f [p1 ]} , {p1 , −1, 1, 0.01}] ;
Mathematica
Trazado de la gráfica de los puntos pts.
In[24]:=
Out[24]=
Graphics[Point[pts]]
Ver figura 1.6 (izquierda)
Mathematica
Trazado de la gráfica de los puntos pts unidos mediante una lı́nea.
In[25]:=
Out[25]=
Graphics[Line[pts]]
Ver figura 1.6 (derecha)
10
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Incluso, es posible definir la nueva función Graf para trazar la gráfica de
funciones de E en E.
Mathematica
Definición de la nueva función Graf.
In[26]:=
Graf[fx , {x , xmin , xmax }]:=
Module[{f, pts},
f = Function[x, fx];
pts = Table[{x, f [x]}, {x, xmin, xmax, 0.01}];
Graphics[Line[pts]]
]
Mathematica
Trazado de la gráfica de la función f = x2 con la nueva función Graf.
In[27]:=
Out[27]=
Graf [x2 , {x, −1, 1}]
Ver figura 1.6 (derecha)
La nueva función, Graph, devuelve resultados satisfactorios, no obstante,
el código es elemental. No se ha realizado ningún análisis con respecto a las
concavidades, puntos de inflexión, etc. de las gráficas a trazar. Una función
con código optimizado y que ha sido implementada después de analizar exhaustivamente las gráficas de las funciones a trazar es la función incorporada
Plot.
Mathematica
Trazado de la gráfica de la función f = x2 con la función incorporada Plot.
In[28]:=
Out[28]=
Plot [x2 , {x, −1, 1}]
Ver figura 1.7
Mathematica
InputForm muestra cómo el lenguaje Wolfram construye esta gráfica. La salida deja ver
que usa el identificador Line y la función Graphics.
In[29]:=
Out[29]=
Plot [x2 , {x, −1, 1}] //InputForm
Graphics [{. . . , Line [{{−1., 1.}, {−0.999387, 0.998774},
{−0.998773, 0.997548}, . . . , {0.998627, 0.997256},
{0.999314, 0.998628}, {1., 1.}}]}, Charting`Private`Tag$37611#1]}},
{DisplayFunction → Identity, . . . ,
Ticks → {Automatic, Automatic}}]
LAS PRIMITIVAS Y EL TRAZADO DE LOS OBJETOS GRÁFICOS
11
1.0
0.8
0.6
0.4
0.2
0.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.7
Según Out[29] , en realidad, la función incorporada Plot genera una tabla
de puntos de la gráfica de f , los afecta con el indentificador Line y luego
realiza el trazado con la función incorporada Graphics.
Supóngase ahora, a modo de otro ejemplo, que se desea trazar la gráfica
de la función f = (x2 + y 2) (Ej. 3, Sec. 1.1).
Mathematica
Definición de la función f = (x2 + y 2 ).
In[30]:=
f [x , y ]:=x2 + y 2
Mathematica
Aquı́ se generan algunos puntos de la gráfica de f y se almacenan en la variable pts3d.
In[31]:=
pts3d =
Table [{p1 , p2 , f [p1 , p2 ]} , {p1 , −1, 1, 0.1} , {p2 , −1, 1, 0.1}] ;
Mathematica
Trazado de la gráfica de los puntos pts3d
In[32]:=
Out[32]=
Graphics3[Point/@pts3d]
Ver figura 1.8, (izquierda)
Mathematica
Trazado de la gráfica de los puntos pts3d
In[33]:=
Out[33]=
Graphics3 [{Line/@pts3d, Line/@Transpose[pts3d]}]
Ver figura 1.8 (derecha)
12
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.8
Figura 1.9
Mathematica
Código para generar polı́gonos a partir de pts3d.
In[34]:=
pol = Map[Partition[#, 2, 1]&,
Transpose[Partition[#, 2, 1]&/@pts3d]/.
{{a : { , , }, b : { , , }}, {c : { , , }, d : { , , }}} :>
Polygon[{a, b, d, c}];
Mathematica
Trazado los polı́gonos generados a partir de pts3d.
In[35]:=
Out[35]=
Graphics3D[{Directive[Yellow, EdgeForm[Black]], pol}]
Ver figura 1.9
LAS PRIMITIVAS Y EL TRAZADO DE LOS OBJETOS GRÁFICOS
13
Mathematica
Ampliación de definición de la nueva función Graf.
In[36]:=
Graf[fxy , {x , xmin , xmax }, {y , ymin , ymax }]:=
Module[{f, pts, pol},
f = Function[{x, y}, fxy];
pts =
Table[{x, y, f [x, y]}, {x, xmin, xmax, 0.1}, {y, ymin, ymax, 0.1}];
pol = Map[Partition[#, 2, 1]&,
Transpose[Partition[#, 2, 1]&/@pts]]/.
{{a : { , , }, b : { , , }}, {c : { , , }, d : { , , }}}
Polygon[{a, b, d, c}];
Graphics3D[{Directive[Yellow, EdgeForm[Black]], pol}]
]
Mathematica
Trazado de la gráfica de la función f = x2 + y 2 con la nueva función Graf.
In[37]:=
Out[37]=
Graf [x2 + y 2 , {x, −1, 1}, {y, −1, 1}]
Ver figura 1.9
Mathematica
Trazado de la gráfica de la función f = x2 + y 2 con la función incorporada Plot3D.
In[38]:=
Out[38]=
Plot3D [x2 + y 2, {x, −1, 1} , {y, −1, 1} , BoxRatios → Automatic]
Ver figura 1.10
Mathematica
InputForm muestra cómo el lenguaje Wolfram construye esta gráfica. La salida deja ver
que usa el identificador Polygon y la función Graphics3D.
In[39]:=
Out[39]=
Plot3D [x2 + y 2, {x, −1, 1} , {y, −1, 1}] //InputForm
Graphics3D [GraphicsComplex[
{{−1., −1., 2.}, {−0.857143, −1., 1.73469}, . . . ,
{0.125, −8.326672684688674 ∗ ∧ − 17, 0.015625}},
{{{EdgeForm[], Specularity[GrayLevel[1], 3], . . .
GraphicsGroup[Annotation[{ Polygon [{{1001, 850, 124},
{319, 539, 49}, {1072, 1268, 536}, {1073, 1269, 537}, . . . ,
}], {DisplayFunction → Identity, . . .]
14
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.10
Queda claro que, según Out[39] , la función incorporada Plot3D genera una
tabla de puntos de la gráfica de f (con la ayuda de potentes algoritmos), los
afecta con el indentificador Polygon y luego realiza el trazado con la función
incorporada Graphics3D.
En el siguiente ejemplo se apreciará de modo enfático lo relativo a los
algoritmos que están detrás de los resultados gráficos que muestra el lenguaje
Wolfram. Se va a definir una nueva función, ImplicitPlot, para trazar la
gráfica de objetos gráficos en E2 definidos por ecuaciones. La definición de
esta nueva función está basada en el método de bisección ampliado para ser
aplicado a funciones de dos variables [8].
Mathematica
Definición del método de bisección en el lenguaje Wolfram [1].
In[40]:=
Bisection[fun , var , a , b , TOL ]:=
Module[{f = Function[var, fun], A = a, B = b, FA, q, FQ},
FA = f [a];
While[0.5(B − A) ≥ TOL, q = 0.5(A + B);
FQ = f (q);
If[FQ = 0 ∨ |FQ| < TOL, Return[q]; Break];
If[FAFQ > 0, A = q; FA = FQ, B = q]; ];
q]
LAS PRIMITIVAS Y EL TRAZADO DE LOS OBJETOS GRÁFICOS
15
Mathematica
Definición de un intervalo bidimensional [1].
In[41]:=
Interval2D[{a , b }, {c , d }]:=Polygon[{{a, c}, {b, c}, {b, d}, {a, d}}]
Mathematica
Definición de un mallado bidimensional [1].
In[42]:=
Mesh2D[a , b , n , c , d , m ]:=Flatten[Outer[Interval2D,
Partition[Subdivide[a, b, n], 2, 1],
Partition[Subdivide[c, d, m], 2, 1], 1]]
Mathematica
Definición de la nueva función ImplicitPlot [1].
In[43]:=
ImplicitPlot[ Equal[left , right ], {x , xmin , xmax },
{y , ymin , ymax }]:=
Module[{f, cc, v1, v2, v3, v4, vv, l, r, psi, fv, t, p},
f = Function[{x, y}, left − right];
cc = Line[DeleteDuplicates[({v1, v2, v3, v4} = First[#];
vv = Partition[{v1, v2, v3, v4, v1}, 2, 1];
({l, r} = #; psi[t ]:=l(1 − t) + rt; fv[t ]:=f @@psi[t];
Which[
fv[0] = 0, psi[0], fv[1] = 0, psi[1],
fv[0]fv[1] < 0, p = Bisection(fv[t], t, 0, 1, 0.001); psi[p],
True, Nothing]
)&/@vv)]]&/@Mesh2D[xmin, xmax, 20, ymin, ymax, 20]/.
Line[{{a , b }}]:>Nothing/.Line[{}]:>Nothing;
Graphics[cc] ]
Mathematica
Trazado de la circunferencia x2 + y 2 = 1.
In[44]:=
Out[44]=
ImplicitPlot [x2 + y 2 = 1, {x, −1, 1}, {y, −1, 1}]
Ver figura 1.11 (izquierda)
Mathematica
Trazado del folio de Descartes x3 + y 3 − 3xy = 0.
In[45]:=
Out[45]=
ImplicitPlot [x3 + y 3 − 3xy = 0, {x, −2, 2}, {y, −2, 2}]
Ver figura 1.11 (derecha)
16
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
1.0
1.5
1.0
0.5
0.5
0.0
0.0
-0.5
-1.0
-0.5
-1.5
-1.0
-1.0
-0.5
0.0
0.5
-2.0
-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
1.0
Figura 1.11
2
1
0
-1
-2
-2
-1
0
1
2
Figura 1.12
Mathematica
Trazado del folio de Descartes con la función incorporada ContourPlot.
In[46]:=
Out[46]=
ContourPlot [x3 − 3xy + y 3 = 0, {x, −2, 2}, {y, −2, 2}, Axes → True]
Ver figura 1.12
Mathematica
InputForm muestra cómo el lenguaje Wolfram construye esta gráfica. La salida deja ver
que usa el identificador Line y la función Graphics.
In[47]:=
ContourPlot [x3 − 3xy + y 3 = 0, {x, −2, 2}, {y, −2, 2},
Axes → True] //InputForm
SEGMENTO RECTILÍNEO DIRIGIDO
17
Figura 1.13
Out[47]=
Graphics [GraphicsComplex[
{{−2., 1.10671}, {−1.95916, 1.07143}, . . . ,
{1.07143, −1.95916}, {1.10671, −2.}},
{{{}{}, Tooltip[{Directive[RGBColor[0.368417, 0.506779, 0.709798], . . .
Line [{1, 2, 3, 4, 5, 6, 7, 8, 9, . . . ,
448, 449, 450}]}, . . .]
Desde luego, que los algoritmos en los que se basa el lenguaje Wolfram
son más complejos pero se ha querido explicar al lector cómo es que el lenguaje Wolfram traza las gráficas. Todas las otras funciones incorporadas
(NumberLinePlot, ParametricPlot, ParametricPlot3D, ContourPlot3D, etc.)
usan las primitivas para cumplir este objetivo. El lector puede constatar esto
utilizando, según se ha explicado, la función incorporada InputForm.
1.3 Segmento rectilı́neo dirigido
La porción de una lı́nea recta comprendida entre dos de sus puntos se
llama segmento rectilı́neo o simplemente segmento. Los dos puntos se llaman
extremos del segmento. Ası́, en la figura 1.13, para la recta l, AB es un segmento cuyos extremos son A y B. La longitud del segmento AB se representa
por AB.
El segmento AB es generado por un punto que se mueve a lo largo de la
recta l de A hacia B. Se dice entonces que el segmento AB está dirigido de
A a B, e indicamos esto por medio de una flecha como en la figura 1.13. En
este caso, el punto A se llama origen o punto inicial y el punto B extremo
o punto final. Es posible también obtener el mismo segmento dirigiéndolo de
B a A, entonces B es el origen y A el extremo, y el segmento se designa BA.
El sentido de un segmento dirigido se indica siempre escribiendo primero el
origen o punto inicial.
Desde el punto de vista de la Geometrı́a elemental, las longitudes de los
segmentos dirigidos, AB y BA, son las mismas. En este curso (como en
Geometrı́a analı́tica), sin embargo, se hace una distinción entre los signos
de estas longitudes. Ası́, especificamos, arbitrariamente, que un segmento
dirigido en un sentido será considerado de longitud positiva, mientras que
otro, dirigido en sentido opuesto, será considerado como un segmento de
18
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.14
longitud negativa. De acuerdo con esto, si especificamos que el segmento
dirigido AB tiene una longitud positiva, entonces el segmento dirigido BA
tiene una longitud negativa, y escribimos
AB = −BA .
1.4 Sistema coordenado lineal
Consideremos (Fig. 1.14) una recta X ′ X cuya dirección positiva es de
izquierda a derecha, y sea O un punto fijo sobre esta lı́nea. Tomemos una
longitud conveniente como unidad de medida; si A es un punto de X ′ X
distinto de O y situado a su derecha, la longitud OA puede considerarse
como unidad de longitud. Si p es un punto cualquiera de X ′ X situado a
la derecha de O y tal que el segmento dirigido Op, de longitud positiva,
contiene p1 veces a la unidad adoptada de longitud, entonces diremos que
el punto p corresponde al número positivo p1 . Análogamente, si p′ es un
punto cualquiera de X ′ X situado a la izquierda de O y tal que el segmento
dirigido Op′ tenga una longitud negativa de p′1 unidades, entonces diremos
que el punto p′ corresponde al número negativo p′1 . De esta manera, cualquier
número real p1 puede representarse por un punto p situado sobre la recta
X ′ X. Y recı́procamente, cualquier punto dado p situado sobre la recta X ′ X
representa un número real, cuyo valor numérico es igual a la longitud del
segmento Op y cuyo signo es positivo o negativo según que p esté a la
derecha o a la izquierda de O.
De acuerdo con esto, se ha construido un esquema por medio del cual
se establece una correspondencia biunı́voca entre puntos de una recta y los
números reales. Tal esquema se llama sistema coordenado. En este caso, como todos los puntos están sobre la misma recta, el sistema se llama sistema
unidimensional o sistema coordenado lineal. Con referencia a la figura 1.14,
la recta X ′ X se llama eje y el punto O es el origen del sistema coordenado
lineal. El número real p1 correspondiente al punto p se llama coordenada del
punto p y se representa por (p1 ). Evidentemente, de acuerdo con las convenciones adoptadas, el origen O tiene por coordenada (0) y el punto A tiene
por coordenada (1). El punto p con su coordenada (p1 ) es la representación
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E
19
goemétrica o gráfica del número real p1 , y la coordenada (p1 ) es la representación analı́tica del punto p. Ordinariamente escribiremos el punto p y su
coordenada, tal como sigue: p = (p1 ).
Es importante hacer notar que la correspondencia establecida por el sistema coordenado lineal es única. Es decir, a cada número corresponde uno
y solamente un punto sobre el eje, y a cada punto del eje corresponde uno y
solamente un número real.
1.5 Trazado de objetos gráficos inmersos en E
En E es posible encontrar objetos gráficos de dimensión 0: puntos y dimensión 1: segmentos (comúnmente llamadas intervalos). En el caso de los
intervalos, Mathematica sólo contempla intervalos cerrados [23].
Mathematica
Fijado de valores para las opciones Spacings y PlotStyle de la función NumberLinePlot
y para la opción Frame de la función Graphics.
In[48]:=
SetOptions [NumberLinePlot, Spacings → 0,
PlotStyle → {Directive[PointSize[Large]]}] ;
SetOptions [Graphics, Frame → False] ;
A continuación se trazan puntos, puntos solución de ecuaciones en una
variable (puntos dados en forma implı́cita), intervalos y regiones de la recta.
Mathematica
√ √ Trazado de los puntos − 5 , (1),
2 y (π).
In[50]:=
Out[50]=
√
√
NumberLinePlot − 5, 1, 2, π
Figura 1.15 (arriba)
Mathematica
Trazado de los puntos solución de x2 + x − 1 = 0.
In[51]:=
Out[51]=
NumberLinePlot [x2 + x − 1 = 0, {x, −4, 4}]
Figura 1.15 (abajo)
Mathematica
√ Trazado de los segmentos −3, − 2 y [0, 5].
In[52]:=
Out[52]=
√ NumberLinePlot Interval −3, − 2 , Interval[{0, 5}]
Figura 1.16 (arriba)
20
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
-2
-1
0
-2
-4
1
2
3
2
0
4
Figura 1.15
-4
-6
-
0
4
6
-2
0
2
4
6
-4
-
0
4
Figura 1.16
Mathematica
Trazado de la región I : −2 < x ≤ 3 ∨ 4 < x < 5.
In[53]:=
Out[53]=
NumberLinePlot [−2 < x ≤ 3 ∨ 4 < x < 5, {x, −3, 6}]
Figura 1.16 (centro)
Mathematica
Trazado de la región I :
In[54]:=
Out[54]=
(x+1)(x2 +1)
(x−1)2 (x+2)
NumberLinePlot
≥ 0.
(x+1)(x2 +1)
(x−1)2 (x+2)
≥ 0, {x, −5, 4}
Figura 1.16 (abajo)
1.6 Trazado de funciones de E en E
Empezaremos esta sección asumiendo que sólo se cuenta con el sistema
coordenado lineal; de ser ası́, el trazado de una función f : E → E se limitarı́a
a trazar la transformación de un punto o una región de E después de aplicar
f , ya que la gráfica de f es un subconjunto de E2 (Def. 4).
21
TRAZADO DE FUNCIONES DE E EN E
f

0
1
2
3
4
,
,
0
4
6

8
f

-1
0
1
2
3
,
,
0
2
4
6
8
10

Figura 1.17
Mathematica
Fijado de valores para la opción Frame de la función Graphics y de valores para las
opciones Spacings y PlotStyle de la función NumberLinePlot.
In[55]:=
SetOptions[Graphics, Frame → False];
SetOptions[NumberLinePlot, Spacings → 0, PlotStyle →
{Directive[Thick, PointSize[Large]]}];
Mathematica
Definición de la función f = x2 .
In[57]:=
f [x ]:=x2
Mathematica
Trazado de la función f = x2 transformando el punto (2).
In[58]:=
Out[58]=
{NumberLinePlot[2], TO[f ], NumberLinePlot[f [2]]}
Figura 1.17 (arriba)
Mathematica
Trazado de la función f = x2 transformando los puntos (−1), (2), (3).
In[59]:=
Out[59]=
{NumberLinePlot[{−1, 2, 3}], TO[f ], NumberLinePlot[f [{−1, 2, 3}]]}
Figura 1.17 (abajo)
22
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
f

-4
-
0
4
,
,
-
-1
0
1
3
4

f

-1.0
-0.5
0.0
0.5
1.0
,
,
0.0
0.2
0.4
0.6
0.8
1.0

0.0
0.2
0.4
0.6
0.8
1.0

f

-1.0
-0.5
0.0
0.5
1.0
,
,
Figura 1.18
Mathematica
Trazado de la función f = x2 transformando los puntos solución de x2 + x − 1 = 0.
In[60]:=
Out[60]=
{NumberLinePlot [x2 + x − 1 = 0, {x, −4, 4}] , TO[f ],
NumberLinePlot [f [x2 + x − 1 = 0] , {x, −2, 4}]}
Figura 1.18 (arriba)
Mathematica
Trazado de la función f = x2 transformando el segmento [−1, 1].
In[61]:=
Out[61]=
{NumberLinePlot[Interval[{−1, 1}]], TO[f ],
NumberLinePlot[f [Interval[{−1, 1}]]]}
Figura 1.18 (centro)
Mathematica
Trazado de la función f = x2 transformando la región I : −1 ≤ x < 1.
In[62]:=
Out[62]=
{NumberLinePlot[−1 ≤ x < 1, {x, −1, 1}], TO[f ],
NumberLinePlot[f [−1 ≤ x < 1], {x, 0, 1}]}
Figura 1.18 (abajo)
SISTEMA COORDENADO RECTANGULAR BIDIMENSIONAL
23
Esta forma de trazar una función es común en espacios de dimensión
mayor que uno (por ejemplo, recordando que C es isomorfo con E2 , en el
trazado de funciones de C en C); no obstante, al utilizar esta forma para
el trazado de funciones de E en E no serı́a posible realizar la interpretación
geométrica de objetos matemáticos como la recta tangente, la derivada, los
máximos y mı́nimos, etc. La relevancia de la interpretación geométrica está
en que muchas veces se ha partido de tal interpretación para desarrollar
las definiciones formales de tales objetos matemáticos [16]. Algo similar se
apreciará en la sección 1.19 con el trazado de las proyecciones de funciones
complejas.
1.7 Sistema coordenado rectangular bidimensional
A partir de la publicación del libro La Géométrie del célebre matemático
René Descartes [6] se empezó a establecer el sistema coordenado rectangular
bidimensional para trazar curvas planas y facilitar el estudio analı́tico de
las mismas. Este sistema, indicado en la figura 1.19, consta de dos rectas
dirigidas X ′ X y Y ′ Y , llamadas ejes de coordenadas, perpendiculares entre sı́.
La recta X ′ X se llama eje X; Y ′ Y es el eje Y , y su punto de intersección O, el
origen.Estos ejes coordenados dividen al plano en cuatro regiones llamadas
cuadrantes numerados tal se indica en la figura 1.19. Según esta figura la
dirección positiva del eje X es hacia la derecha; la dirección positiva del eje
Y , hacia arriba.
Todo punto p del plano puede localizarse por medio del sistema rectangular. En efecto, se traza pA perpendicular al eje X y pB perpendicular al
eje Y . La longitud del segmento dirigido OA se representa por p1 y se llama
abcisa de p; la longitud del segmento dirigido OB se representa por p2 y se
llama ordenada de p. Los dos números reales, p1 y p2 , se llaman coordenadas
de p y se representan por (p1 , p2 ). Según la figura 1.19, las abcisas medidas
sobre el eje X a la derecha de O son positivas y a la izquierda, negativas;
las ordenadas medidas sobre Y arriba de O son positivas y abajo negativas.
Los signos de las coordenadas en cada cuadrante están indicados en la figura
1.19.
Es evidente que a cada punto p del plano coordenado le corresponden
uno y solamnete un par de coordenadas (p1 , p2 ). Recı́procamente, un par de
coordenadas (p1 , p2 ) cualesquiera determina uno y solamente un punto en
el plano coordenado. Por tanto, es posible decir que el sistema coordenado
rectangular en el plano establece una correspondencia biunı́voca entre cada
punto del plano y un par ordenado de números reales.
24
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.19
1.8 Trazado de objetos gráficos inmersos en E2
En E2 es posible encontrar objetos gráficos de dimensión 0: puntos, dimensión 1: lı́neas (rectas o curvas) y dimensión 2: superficies planas (confinadas
a E2 , sin escapar a E3 ). En el caso de las regiones planas RegionPlot traza
las mismas sin hacer distinción entre las abiertas y las cerradas [23].
Mathematica
Fijado de valores para las opciones Frame y Axes de las funciones Graphics, ContourPlot
y RegionPlot.
In[63]:=
SetOptions[Graphics, Frame → True, Axes → True];
SetOptions[ContourPlot, Frame → True];
SetOptions[RegionPlot, Frame → True];
A continuación se trazan puntos, lı́neas, curvas solución de una ecuación en dos variables (puntos de E2 que satisfacen una ecuación implı́cita) y
regiones del plano.
Mathematica
√ √ 1
Trazado de los puntos (−1, −2), − 2, 1 ,
3, 2 y (1, −1).
In[66]:=
Out[66]=
Graphics [{AbsolutePointSize[7],
√
0.7],
RGBColor[0.4,
√ 0.5,
Point[{−1, −2}], Point − 2, 1 , Point
3, 12 ,
Point[{1, −1}]}]
Figura 1.20 (izquierda)
25
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E2
1.0
0.5
0.5
0.0
-0.5
0.0
-1.0
-0.5
-1.5
-2.0
-1.0
-0.5
0.0
0.5
1.0
-2.5
1.5
-2.0
-1.5
-1.0
-0.5
0.0
Figura 1.20
Mathematica
Obtención de la solución de
In[67]:=
Out[67]=
(
x2 + x + y 2 = 1 ,
x2 − y 2 = 1 .
(almacenada en la variable pts).
pts = Solve [{x2 + x + y 2 = 1, x2 − y 2 = 1} , {x, y}, Reals] /.
(var → val ) :> val
√
1q1 √
1
− 17 − 1 , −2 2 17 + 1 ,
4
√
1q1 √
1
− 17 − 1 , 2 2 17 + 1
4
Mathematica
Trazado de los puntos pts (vea
In[68]:=
Out[68]=
In[129]
para utilizar DiscretizeRegion).
Graphics [{AbsolutePointSize[7], RGBColor[.4, .5, .7], Point[pts]}]
Figura 1.20 (derecha)
Mathematica
Trazado de la lı́nea que une los puntos (−1, −1) y (2, 1).
In[69]:=
Out[69]=
Graphics [{Thick, RGBColor[.4, .5, .7], Line[{{−1, −1}, {2, 1}}]}]
Figura 1.21 (izquierda)
Mathematica
Trazado de lus puntos que satisfacen 2x + 3y − 1 = 0 (lı́nea recta).
In[70]:=
Out[70]=
ContourPlot[2x + 3y − 1 = 0, {x, −3, 3}, {y, −3, 3}]
Figura 1.21 (derecha)
26
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
3
2
1.0
1
0.5
0
0.0
-1
-0.5
-1.0
-1.0
-2
-3
-0.5
0.0
0.5
1.0
1.5
2.0
-3
-2
-1
0
1
2
Figura 1.21
Mathematica
Trazado de los puntos que satisfacen x3 − 3xy + y 3 = 0.
In[71]:=
Out[71]=
ContourPlot [x3 − 3xy + y 3 = 0, {x, −3, 3}, {y, −3, 3}]
Figura 1.22 (izquierda)
Mathematica
Trazado del polı́gono cuyos vértices son los puntos −1, − 21 , (1, 1), 2, − 31 .
In[72]:=
Out[72]=
Graphics
[{RGBColor[0.4, 0.5,0.7], Polygon
−1, −12 , {1, 1}, 2, −31
Figura 1.22 (derecha)
Mathematica
Trazado de la región D : 2x + y − 4 > 0 ∧ 3x − 2y − 6 < 0 ∧ x − 3y + 5 > 0.
In[73]:=
Out[73]=
RegionPlot
[2x +1 y −4 > 0 ∧ 3x − 2y − 6 < 0 ∧ x − 3y + 5 > 0,
1
x, −2, 4 , y, −2, 3
Figura 1.23 (izquierda)
Mathematica
Trazado de la región D : x4 + x2 y 2 + y 4 < 1.
In[74]:=
Out[74]=
RegionPlot [x4 + x2 y 2 + y 4 < 1, {x, −1, 1}, {y, −1, 1}]
Figura 1.23 (derecha)
3
27
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E2
3
2
1
1.0
0
0.5
-1
0.0
-2
-3
-3
-2
-1
0
1
2
3
-0.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
Figura 1.22
3.0
1.0
0.5
0
1
0.0
1.0
0
-0.5
0.0
-0
0
1
2
3
4
-1.0
-1.0
Figura 1.23
-0.5
0.0
0.5
1.0
28
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
1.0
0.8
0.6
0.4
0.2
0.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.24
El siguiente ejemplo, en el que se interpreta geométricamnete la derivada
de una función en un punto de su dominio, remarca la ventaja de usar un
sistema coordenado bidimensional para trazar la gráfica de una función de E
en E, que como ya sabemos es un subconjunto de E2 (Sec. 1.1).
Mathematica
Fijado de valores para las opciones Frame y Axes de la función Plot.
In[75]:=
SetOptions[Plot, Frame → True, Axes → True];
Mathematica
Trazado de la función f = x2 en un sistema coordenado rectangular bidimensional.
In[76]:=
Out[76]=
Plot [x2 , {x, −1, 1}]
Figura 1.24
Mathematica
Interpretación geométrica de la derivada como la pendiente de la recta tangente a la gráfica
de la función f = x2 , −1 ≤ x ≤ 1, en el punto (x0 ) = (0.5) de su dominio.
In[77]:=
Out[80]=
f [x ] := x2 ;
x0 = 0.5;
Lt = (x − x0)f ′ [x0] + f [x0];
Plot[{f [x], Lt}, {x, −1, 1}, Epilog →
{AbsolutePointSize[7], Point[{x0, f [x0]}]}]
Figura 1.25
29
TRAZADO DE FUNCIONES DE E EN E2
1.0
0.5
0.0
-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.25
1.9 Trazado de funciones de E en E2
El Mathematica incorpora la función ParametricPlot para trazar la
gráfica de las imágenes de funciones que van de E en E2 . De acuerdo con
la definción 4, las gráficas de estas funciones son subconjuntos de E3 . Para
trazar las triadas que conforman la gráfica de estos subconjuntos el Mathematica incorpora la función ParametricPlot3D.
Mathematica
Fijado de valores para ciertas opciones.
In[81]:=
SetOptions[NumberLinePlot, Spacings → 0, PlotStyle →
{Directive[Thick, PointSize[Large]]}];
SetOptions[Graphics, Frame → True];
SetOptions[ParametricPlot, Frame → True]
Mathematica
Definición de una regla de transformación para dar formato a un punto cualquiera.
In[84]:=
rule = {p : Point[ ] :>
{PointSize[Large], RGBColor[0.4, 0.5, 0.7], p}};
Mathematica
Definición de las funciones: OPoint y CPoint para trazar puntos abiertos y cerrados,
respectivamente.
In[85]:=
CPoint[p ]:={RGBColor[0.4, 0.5, 0.7], PointSize[Large], Point[p]}
OPoint[p ]:= {RGBColor[0.4, 0.5, 0.7], PointSize[Large], Point[p],
GrayLevel[1], PointSize[Medium], Point[p]}
30
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
1.0
0.5
0.0
-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.26
Mathematica
Trazado de la gráfica de la imagen de la función (u) → (sin u, sin 2u).
In[87]:=
Out[87]=
ParametricPlot[{Sin[u], Sin[2u]}, {u, 0, 2π}]
Figura 1.26
Mathematica
Definición de la función α = (cos u, sin u).
In[88]:=
α[u ]:={Cos[u], sin[u]}
Mathematica
Trazado de la función α = (cos u, sin u) transformando el punto (2). Note que se está
aplicando la regla: rule, definida en In[84] .
In[89]:=
Out[89]=
{NumberLinePlot[2, Frame → False], TO[α],
Graphics[Point[α[2]]]/. rule}
Figura 1.27
Mathematica
Trazado de la función α = (cos u, sin u) transformando los puntos (−2), (1), (3). Aquı́
también se está aplicando la regla: rule, definida en In[84] .
In[90]:=
Out[90]=
{NumberLinePlot[{−2, 1, 3}, Frame → False], TO[α],
Graphics [Point [α[{−2, 1, 3}]//Transpose]] /. rule}
Figura 1.28
31
TRAZADO DE FUNCIONES DE E EN E2
α
1.0

0
1
2
3
4
,

,
0.8
0.6
-0.8
-0.6
-0.4
-
0.0
Figura 1.27
α

-2
-1
0
1
2
3
,
0.0
,
-
-1.0 -0.8 -0.6 -0.4 -
Figura 1.28

0.0
0.4
32
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
α
0.0

-4
-
0
4
,

,
-
-1.0
0.0
0.4
0.6
0.8
Figura 1.29
Mathematica
Obtención de la solución de u2 + u − 1 = 0 (almacenada en la variable pts).
In[91]:=
Out[91]=
pts = Solve [u2 + u − 1 = 0, u, Reals] /. {var → val } :> val
√
1 √
1
,
−
5
−
1
5
−
1
2
2
Mathematica
Trazado de la función α = (cos u, sin u) transformando los puntos pts.
In[92]:=
Out[92]=
{NumberLinePlot [u2 + u − 1 = 0, {u, −4, 4}, Frame → False] , TO[α],
Graphic[Point[α/@pts]]/. rule}
Figura 1.29
Mathematica
Trazado de la función α = (cos u, sin u) transformando el segmento [−1, 1].
In[93]:=
Out[93]=
{NumberLinePlot[Interval[{−1, 1}], Frame → False], TO[α],
ParametricPlot[α[u], {u, −1, 1},
Epilog → {Point[{α[−1], α[1]}]}]/. rule}
Figura 1.30
Mathematica
Trazado de la función α = (cos u, sin u) transformando la región I : 0 ≤ u < 2π.
In[94]:=
Out[94]=
{NumberLinePlot[0 < u < 2π, {u, 0, 2π}, Frame → False], TO[α],
ParametricPlot[α[u], {u, 0, 2π},
Epilog → {OPoint[α[0]], OPoint[α[2π]]}]}
Figura 1.31
33
TRAZADO DE FUNCIONES DE E EN E2
α
0.5

-1.0
-0.5
0.0
0.5
1.0
,
,

0.0
-0.5
0.60.81.0
Figura 1.30
α
1.0
0.5

0
1
2
3
4
5
6
7
,
,
0.0

-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.31
α
1.0
0.8

0.6
-1.0
-0.5
0.0
0.5
1.0
,
,

0.4
0.2
0.0
-1.0
Figura 1.32
-0.5
0.0
0.5
1.0
34
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Mathematica
√
Definición de la función α = u, 1 − u2 .
In[95]:=
√
α[u ]:={u, 1 − u2 }
Mathematica
√
Trazado de la función α = u, 1 − u2 transformando la región I : −1 < qu < 1.
In[96]:=
Out[96]=
{NumberLinePlot[−1 < u < 1π, {u, −1, 1}, Frame → False], TO[α],
ParametricPlot[α[u], {u, −1, 1},
Epilog → {OPoint[α[−1]], OPoint[α[1]]}]}
Figura 1.32
Esta forma de trazar una función de E en E2 no permite realizar la interpretación geométrica de la derivada direccional, por ejemplo; y el Mathematica no incluye un comando para trazar la gráfica de estas funciones. Sin
embargo, en la sección 1.14 se describirá una forma de trazar tales gráficas.
1.10 Trazado de funciones de E2 en E
El Mathematica incorpora las funciones RegionPlot y ParametricPlot
para trazar la gráfica de los dominios de funciones que van de E2 en E. De
acuerdo con la definción 1.52, las gráficas de estas funciones son subconjuntos de E3 y el Mathematica incorpora la función Plot3D para trazar estas
gráficas.
Mathematica
Fijado de los valores de algunas opciones.
In[97]:=
SetOptions[NumberLinePlot, Spacings → 0,
PlotStyle → {Directive[Thick, PointSize[Large]]}];
SetOptions[Graphics, Frame → True];
SetOptions[ParametricPlot, Frame → True];
SetOptions[RegionPlot, Frame → True];
Mathematica
Definición de la regla de transformación rule.
In[98]:=
rule = {p : Point[ ] :>
{PointSize[Large], RGBColor[0.4, 0.5, 0.7], p}};
35
TRAZADO DE FUNCIONES DE E2 EN E
f
1.0
0.8
0.6

,
,
0.4
0.0
0.5
1.0
1.5
2.0
2.5

0.2
0.0
-1.4
-1.2
-1.0
-0.8
-0.6
Figura 1.33
Mathematica
Definición de la función f = (x2 + y 2 ).
In[99]:=
f [x , y ]:=x2 + y 2
Mathematica
Trazado de la función f = (x2 + y 2 ) transformando el punto (−1, 0.5), Aquı́ se aplica la
regla rule para cambiar la presentación del punto.
In[100]:=
Out[100]=
{Graphics[
Point[pt = {−1, 0.5}]]/. rule,
TO[f ]
NumberLinePlot[f @@pt, Frame → False]}
Figura 1.33
Mathematica
Trazado de la función f = (x2 + y 2 ) transformando los puntos (−1, 1), (−1, 0), (1, 0.5),
Aquı́ también se aplica la regla rule para cambiar la presentación de los puntos.
In[101]:=
Out[101]=
Graphics[
Point[pts = {{−1, 1}, {−1, 0}, {1, 0.5}}]]/.rule,
TO[f ],
NumberLinePlot[f @@#&/@pts, Frame → False]}
Figura 1.34
36
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
f
1.0
0.8
0.6
0.4
,
,
0.0
0.5
1.0
1.5
2.0

0.0
0.5
1.0
1.5
2.0

0.2
0.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.34
f
1.0
0.5

0.0
,
,
-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.35
Mathematica
Trazado
de la función f = (x2 + y 2 ) transformando los puntos solución del sistema
(
x2 + y 2 − xy = 1 ,
.
x2 − y 2 + xy = 1 .
In[102]:=
Out[102]=
{dr = DiscretizeRegion [
ImplicitRegion [x2 + y 2 − xy = 1 ∧ x2 − y 2 + xy = 1, {x, y}] ,
BaseStyle → {PointSize → Absolute[7]}] , TO[f ],
NumberLinePlot[f @@#&/@MeshCoordinates[dr], Frame → False]}
Figura 1.35
Mathematica
Trazado de f = (x2 + y 2 ) transformando los puntos solución del sistema x2 + y 2 = 1.
In[103]:=
Out[103]=
{cp = ContourPlot [x2 + y 2 = 1, {x, −1, 1}, {y, −1, 1}] , TO[f ],
NumberLinePlot[f @@#&/@cp[[1, 1]], Frame → False]}
Figura 1.36
37
TRAZADO DE FUNCIONES DE E2 EN E
f
1.0
0.5

0.0
,
,
0.0
0.2
0.4
0.6
0.8
1.0

-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.36
f
1.0
0.5

0.0
,
,
0.0
0.5
1.0
1.5

-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.37
Mathematica
Trazado de f = (x2 + y 2 ) transformando los puntos solución del sistema x4 + y 4 = 1.
In[104]:=
Out[104]=
{cp = ContourPlot [x2 + y 2 = 1, {x, −1, 1}, {y, −1, 1}] , TO[f ],
NumberLinePlot[f @@#&/@cp[[1, 1]], Frame → False]}
Figura 1.37
Mathematica
Trazado de f = (x2 + y 2 ) transformando los puntos de la forma (sin(u), sin(2u)),
0 < u < 2π.
In[105]:=
Out[105]=
{pp = ParametricPlot[{sin(u), sin(2u)}, {u, 0, 2π}], TO[f ],
NumberLinePlot[f @@#&/@Cases[pp, Line, ∞][[1, 1]],
Frame → False]}
Figura 1.38
38
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
f
1.0
0.5

0.0
,
,
0.0
0.5
1.0
1.5

-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.38
f
1.0
0.5

0.0
,
,
0.0
0.2
0.4
0.6
0.8
1.0

-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.39
Mathematica
Trazado de f = (x2 + y 2 ) transformando los puntos de la forma (v sin(u), v sin(2u)),
0 < u < 2π, 0 < v < 1.
In[106]:=
Out[106]=
{pp = ParametricPlot[{v sin(u), v sin(2u)}, {u, 0, 2π}, {v, 0, 1}],
TO[f ], NumberLinePlot[f @@#&/@pp[[1, 1]], Frame → False]}
Figura 1.40
Mathematica
Trazado de f = (x2 + y 2 ) transformando los puntos que conforman la región x2 + y 2 < 1.
In[107]:=
Out[107]=
{rp = RegionPlot [x2 + y 2 < 1, {x, −1, 1}, {y, −1, 1}] , TO[f ],
NumberLinePlot[f @@#&/@rp[[1, 1]], Frame → False]}
Figura 1.39
39
TRAZADO DE FUNCIONES DE E2 EN E
f
1.0
0.5

0.0
,
,
0.0
0.5
1.0

1.5
-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.40
f
1.0
0.5

0.0
,
,
-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.41
0.0
0.5
1.0
1.5

40
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Mathematica
Trazado de f = (x2 + y 2 ) transformando los puntos que conforman la región x4 + y 4 < 1.
In[108]:=
Out[108]=
{rp = RegionPlot [x4 + y 4 < 1, {x, −1, 1}, {y, −1, 1}] , TO[f ],
NumberLinePlot[f @@#&/@rp[[1, 1]], Frame → False]}
Figura 1.41
1.11 Sistema coordenado rectangular tridimensional
Consideremos tres planos mutuamente perpendiculares que se cortan en
el punto común O, tal como se indica en la figura 1.42 (izquieda). Como
el punto en el espacio tridimensional va a localizarse con referencia a estos
elementos, los planos se llaman planos coordenados y el punto O origen del
sistema de coordenadas rectangulares tridimensionales.
Los ejes coordenados X ′ X, Y ′ Y , Z ′ Z se llaman, respectivamente, el eje
X, el Y y el Z. Estos ejes son rectas dirigidas, cuya dirección positiva está
indicada en cada uno por una flecha. Cada plano coordenado se designa
por los dos ejes coordenados que contiene. Ası́, el plano coordenado que
contiene al eje X y al eje Y se llama plano XY ; análogamente, tenemos los
planos XZ y Y Z. Los tres planos coordenados dividen el espacio en ocho
regiones llamadas octantes. El octante determinado por la partes positivas
de los ejes coordenados se llama primer octante; no se acostumbra asignar
ningún número a los siete restantes.
Sea p un punto cualquiera del espacio tridimensional. Su posición pude
determinarse haciendo pasar por p planos paralelos a los tres planos coordenados y considerando los puntos A, B y C en que cortan a los ejes X, Y
y Z, respectivamente. Estos planos, juntos con los coordenados forman un
parelelpı́pedo recto rectangular. Evidentemente, la posición de p con relación
al sistema de coordenadas está determinada por sus distancias a los planos
coordenados. Estas distancias están dadas por las longitudes de los segmentos
dirigidos OA, OB y OC, llamados p1 , p2 y p3 respectivamente. Entonces los
tres números reales p1 , p2 y p3 constituyen la coordenada p1 , la coordenada
p2 y la coordenada p3 de p. Cada coordenada se mide a partir de origen O
sobre el eje coordenado correspondiente, y es positiva o negativa según que
su dirección sea la misma o la opuesta a la de la dirección positiva del eje.
Para el punto p (Fig. 1.42, derecha) todas las coordenadas son positivas, y
el punto está en el primer octante. Las coordenadas p1 , p2 , p3 de cualquier
punto p se escriben en ese orden, se encierran entre paréntesis y el punto se
representa por p = (p1 , p2 , p3 ).
SISTEMA COORDENADO RECTANGULAR TRIDIMENSIONAL
41
Figura 1.42
Figura 1.43
Un punto p en el espacio tridimensional tiene una y solamente una terna
de coordenadas (p1 , p2 , p3 ) relativa a un sistema coordenado rectangular especificado. Recı́procamente, una terna de coordenadas (p1 , p2 , p3 ) determina
uno y solamente un punto p en el espacio tridimensional con respecto a un
sistema coordenado fijo.
Es importante escribir las coordenas (p1 , p2 , p3 ) de un punto p del espacio
tridimensional en su propio orden, ya que la posición de una coordenada en
el conjunto indica a lo largo de qué eje se mide la coordenada particular. Por
esto, las coordenadas de un punto en el espacio tridimensional forman una
terna ordenada de números reales. Por tanto, en vista de la discución previa,
es posible decir que un sistema de coordenadas rectangulares en el espacio
tridimensional establece una correspondencia biunı́voca entre cada punto del
espacio tridimensional y una terna ordenada de números reales.
42
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
1.12 El teorema de Pohlke y las proyecciones
Los dibujos rupestres indican que el trazado el objetos gráficos inmersos en E3 data de tiempos inmemoriales [7, 10]. El ser humano siempre ha
tenido la necesidad de representar de gráficamente el mundo que lo rodea.
Por ejemplo, la figura 1.43 muestra los dibujos de un ser sobrenatural con
atributos felinos (izquierda) y de un rinoceronte (derecha). Sin embargo, la
gran limitación, hasta hace más de un quinquenio, ha sido el hecho que se
pretendı́a dibujar objetos o seres del espacio que percibimos (3D) sobre una
superficie plana (2D) 1 . Se podrı́a argumentar que la escultura no presenta
tal limitación y, menos aún, la reciente impresión 3D. No obstante, no debe perderse de vista que el constante desarrollo de la matemática exigı́a el
trazado de objetos gráficos gobernados por expresiones analı́ticas (reglas de
correspondencia, ecuaciones e inecuaciones). Esto se manejó bastante bien
para E2 pero no ası́ para E3 , de hecho carecı́a de toda practicidad realizar
una escultura para cada objeto gráfico inmerso en E3 . Algo similar ocurrirı́a
con las impresiones 3D. Ante tal situación se optó por trazar las proyecciones
lineales de los objetos gráficos inmersos en E3 siguiendo, de alguna manera,
el camino trazado por los pintores y que conllevó al desarrollo de la geometrı́a
descriptiva.
En la geometrı́a descriptiva una proyección lineal denota tanto el mapeo
de E3 en E2 , llamado plano de proyección, como la imagen resultante de aplicar dicho mapeo a un objeto. La imagen plana de un objeto inmerso en E3 se
encuentra pasando una lı́nea a través de cada punto del objeto y encontrando
las intersecciones de estas lı́neas con el plano de proyección. Estas lı́neas, los
proyectores, emanan de un único punto llamado centro de proyección. Cuando el centro de proyección es infinito, de modo que todos los proyectores
son paralelos, la proyección se conoce como proyección paralela. Cuando el
centro de proyección está a una distancia finita del plano de proyección, se
produce una proyección en perspectiva. La clasificación de las proyecciones
paralelas está determinada por el ángulo entre los proyectores. y el plano de
proyección. Cuando los proyectores son perpendiculares al plano de proyección, la proyección es ortográfica; de lo contrario, es oblicua. Las proyecciones
ortográficas se representan como proyecciones ortográficas de vista múltiple
o proyecciones axonométricas. Las proyecciones axonométricas se clasifican
de acuerdo con la orientación del plano de proyección, es decir, los ángulos
entre el plano de proyección y los ejes de coordenadas. Si los tres ángulos
son iguales, la proyección es isométrica; si solo dos ángulos son iguales, el
1
Actualmente, ya se cuenta con plumas de impresión 3D que prometen salvar tal limitación [25].
EL TEOREMA DE POHLKE Y LAS PROYECCIONES
43
Figura 1.44
Figura 1.45
resultado es una proyección dimétrica. Si todos los ángulos son diferentes, la
proyección es trimétrica (Figs. 1.44,1.45,1.46,1.47) [3].
En el año 1853 el pintor y profesor de geometrı́a descriptiva, de nacionalidad alemana, Karl Wilhelm Pohlke establece un teorema, a modo de
declaración geométrica, el cual es publicado en 1860 sin demostración en la
primera parte de su libro que trataba de geometrı́a descriptiva. La primera
prueba rigurosa elemental fue dada por H. A. Schwarz en 1864, en aquella
época estudiante de Pohlke [15].
Teorema 1.
(Teorema de Pohlke)
Tres lı́neas de cualquier longitud que parten de un punto en un plano
formando diferentes ángulos siempre se pueden considerar como una proyección paralela (sesgada) de tres lı́neas de la misma longitud perpendiculares entre sı́.
44
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.46
Figura 1.47
El teorema de Pohlke formaliza lo que ya se usaba desde la época egipcia
[17], pero es esta formalización la que permite manipular matemáticamente
las proyecciones. Las grandes aliadas que van a servir para acelerar cálculos y trazados de las proyecciones son las computadoras electromecánicas
programables que hacen su aparición entre los años 1930 y 1940 [23].
En la década de los cincuenta se creaba por primera vez la disciplina de
Gráficos por Computadora (Computer Graphics) como una herramienta de
visualización para cientı́ficos e ingenieros en centros de investigación gubernamentales y corporativos como Bell Labs y Boeing [24]. Luego, a inicios de
la década de los sesenta se empieza a socializar el trazado de objetos gráficos inmersos en E3 como proyecciones sobre la pantalla de un computador
(porción de E2 ) [2, 26]. La figura 1.48 muestra la rudimentaria proyección de
dos poliedros (izquierda) y de las curvas parámetro de una esfera (derecha).
Figura 1.48
PROYECCIONES DE E3 EN E2
45
Figura 1.49
Como se aprecia en estas dos proyecciones aún no se habı́an desarrollado
los algoritmos de iluminación, árboles BSP, Z-buffer, etc. para simular los
acabados que nos ofrecen los gráficos actuales (Fig. 1.49).
1.13 Proyecciones de E3 en E2
Debido a que las matemáticas requieren el trazado de objetos gráficos
gobernados por expresiones analı́ticas, ya que el teorema de Pohlke formaliza
el uso de las proyecciones y en vista que la computadora es una herramienta
fundamental para acelerar cálculos y trazado de gráficos; es preciso definir
matemáticamente cualquier poryección de E3 en E2 y visualizar su efecto con
algún software especializado, en nuestro caso: el Mathematica.
Es preciso señalar que en esta sección utilizaremos únicamente funciones
del Mathematica para trazar objetos gráficos en E2 (Plot y ParametricPlot)
con la finalidad de mostrar las técnicas básicas que están detrás de las funciones que aparentemente trazan gráficos en E3 (Plot3D y ParametricPlot3D).
Además, esto servirá como referencia para cuando se llegue a la sección en
la que se tratarán las proyecciones de E4 en E3 .
Dada la proyección de las aristas de un cubo, por el teorema de Pohlke,
es posible seleccionar las proyecciones de los ejes coordenados tal como se
muestra en la figura 1.50 (izquierda), por ejemplo. De esta manera el sistema
ŌX̄ Ȳ Z̄ podrá ser obtenido como una proyección del sistema OXY Z (Fig.
1.50, izquierda). Ası́, la imagen p̄ de un punto p = (p1 , p2 , p3 ) queda detemrinada por cuatro pasos, emepezando del punto Ō: 1) avanzar p1 unidades en
dirección X̄, luego 2) avanzar p2 unidades en dirección Ȳ , después 3) avanzar
p3 unidades en dirección Z̄ y 4) marcar el punto como p̄ (Fig. 1.50, derecha).
Es preciso mencionar que se recomienda multiplicar los números p1 , p2 , p3 por
los factores
0 < vp1 , vp2 , vp3 ≤ 1
(1.1)
46
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.50
con la finalidad de obtener una mejor proporción en el trazado [3].
La figura 1.50 muestra una proyección para la cual la elección de los ejes
X̄, Ȳ , Z̄ no es la más común. A continuación se definirá una proyección que
es la de uso más común en la mayorı́a
n de textos
o matemáticos. Para esto se
proyectará el sistema generado por O;~i, ~j, ~k , con ejes X, Y, Z, sobre el
sistema generado por {O ′ ; ~e1 , ~e2 }, con ejes X ′ , Y ′ [20].
Defı́nase la proyección P : E3 → E2 para la cual se cumple que
1
1
1
~
,
P i = − √ (~e1 + ~e2 ) = − √ , − √
2
2
2
P ~j = ~e1 = (1, 0) ,
P ~k = ~e2 = (0, 1)
(Fig. 1.51). Sea p = (p1 , p2 , p3 ) un punto arbitrario de E3 entonces, considerando un resultado del álgebra lineal,
! p 
1
− √12 1 0
 p2  .
(1.2)
P (p) = P (p1 , p2 , p3 ) =
1
− √2 0 1
p3
La ecuación
p = (p1 , p2 , p3 ) se proyecta sobre el
1.2 indica que el punto
p
p
punto p′ = − √12 + p2 , − √12 + p3 . Esta proyección es llamada proyección
dimétrica.
Un ejemplo más se obtiene al considerar otra de las proyecciones más
comunes (Fig. 1.52). El resultado es la llamada proyección isométrica 1.3.


√3 √3
p1
−2
0 
2
P (p1 , p2 , p3 ) =
p2  .
(1.3)
− 21 − 12 1
p3
PROYECCIONES DE E3 EN E2
47
90°
135°
135°
Figura 1.51
120°
120°
120°
Figura 1.52
Mathematica
Fijado de los valores de algunas opciones de la función Graphics.
In[109]:=
SetOptions[Graphics, Frame → True, Axes → True];
Mathematica
Elección de las proyecciones de ~i, ~j y ~k. Note que aquı́: P ~i = − √12 , − √12 , P ~j =
(1, 0), P ~k = (0, 1) y vp1 = 35 , vp2 = vp3 = 1 (Ec. 1.1). Por comodidad se almacenan las
proyecciones en la variable M .
In[110]:=
M = {pi, pj, pk} =
o
o
nn
− 5√3 2 , − 5√3 2 , {1, 0} , {0, 1} ;
48
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
1.0
0.8
0.6
0.4
0.2
0.0
-0.2
-0.4
-0.4
-0.2
0.0
0.2
0.4
0.6
0.8
1.0
Figura 1.53
Mathematica
Definición de la proyección P . Se elige esta forma de multiplicar matrices, a diferencia de
las ecuaciones 1.2 y 1.3, por conveniencia para el lenguaje Wolfram.
In[111]:=
P [{p1 , p2 , p3 }]:={p1, p2, p3}.M
Mathematica
Coordenadas de la proyección del punto p = (1, 1, 1).
In[112]:=
Out[112]=
P [{1, 1, 1}]
n
1 − 5√3 2 , 1 −
3
√
5 2
o
Mathematica
Trazado de la proyección de la gráfica del punto p = (1, 1, 1).
In[113]:=
Out[113]=
Graphics[{Point[P [{1, 1, 1}]], Arrow[{{0, 0}, #}]&/@M}]
Figura 1.53
Mathematica
Dado que la gráfica de α = (cos(10t), sin(10t)) es un conjunto de puntos de E3 (Ej. 2, Sec.
1.1), se usa la función incorporada Table para generar cierta cantidad de estos puntos.
In[114]:=
helix = Table[{t, cos(10t), sin(10t)}, {t, 0, π, 0.01}];
prohelix = P /@helix;
49
PROYECCIONES DE E3 EN E2
1.0
1.0
0.5
0.5
0.0
0.0
-0.5
-0.5
-1.0
-1.0
-1.5
-1.5
-2.0
-2.0
-2.0 -1.5 -1.0 -0.5
0.0
0.5
1.0
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
Figura 1.54
Mathematica
Trazado de la proyección de algunos puntos de la gráfica de la función α.
In[116]:=
Out[116]=
Graphics[{Point[prohelix], Arrow[{{0, 0}, #}]&/@M}]
Figura 1.54 (izquieda)
Mathematica
Trazado de la proyección de algunos puntos de la gráfica de la función α unidos mediante
lı́neas.
In[117]:=
Out[117]=
Graphics[{Line[prohelix], Arrow[{{0, 0}, #}]&/@M}]
Figura 1.54 (derecha)
Mathematica
Puesto que la gráfica de f = x2 + y 2 es un conjunto de puntos de E3 (Ej. 3, Sec. 1.1), se
usa la función incorporada Table para generar algunos de estos puntos.
In[118]:=
graf = Table [{x, y, x2 + y 2 } , {x, −1, 1, 0.05}, {y, −1, 1, 0.05}] ;
prograf = Map[P, graf, {2}];
Mathematica
Trazado de la proyección de algunos puntos de la gráfica de la función f .
In[120]:=
Out[120]=
Graphics[{Point/@prograf, Arrow[{{0, 0}, #}]&/@M}]
Figura 1.55 (izquieda)
50
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
2.0
2.0
1.5
1.5
1.0
1.0
0.5
0.5
0.0
0.0
-1.0
-0.5
0.0
0.5
1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.55
Mathematica
Trazado de la proyección de algunos puntos de la gráfica de la función f unidos mediante
lı́neas.
In[121]:=
Out[121]=
Graphics [{Line/@prograf, Line/@Transpose[prograf],
Arrow[{{0, 0}, #}]&/@M}]
Figura 1.55 (derecha)
Mathematica
Breve código para construir polı́gonos cuyos vértices son los puntos proyectados de la
gráfica de f .
In[122]:=
prograf = Map [Partition[#, 2, 1]&,
Transpose[Partition[#, 2, 1]&/@graf]] /.
{{a : { , , }, b : { , , }}, {c : { , , }, d : { , , }}} :>
Polygon[P /@{a, b, d, c}];
Mathematica
Trazado de polı́gonos cuyos vértices son las proyecciones de los puntos de la gráfica de f .
In[123]:=
Out[123]=
Graphics [{Directive[Yellow, EdgeForm[Black]], prograf, Black,
Arrow[{{0, 0}, #}]&/@M}]
Figura 1.56 (izquierda)
51
PROYECCIONES DE E3 EN E2
1.0
2.0
0.5
1.5
1.0
0.0
0.5
-0.5
0.0
-1.0
-1.0
-0.5
0.0
0.5
1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.56
Mathematica
Con base en la función incorporada ContourPlot se ha implementado la nueva función
ImplicitPlot3D para trazar la proyección de la gráfica de algunos puntos que satisfacen
x2 + y 2 + z 2 = 1 unidos mediante lı́neas (ver el Notebook).
In[124]:=
Out[124]=
ImplicitPlot3D [x2 + y 2 + z 2 = 1, {x, −1, 1}, {y, −1, 1}, {z, −1, 1}]
Figura 1.56 (derecha)
Las expresiones analı́ticas de una proyección (Ecs. 1.2, 1.3) permiten obtener la proyección de objetos gráficos de E3 en E2 , de acuerdo con la elección
de los ejes X̄, Ȳ , Z̄. Sin embargo, todas las proyecciones obtenidas en esta sección carecen de movimiento en E3 ; aunque es posible simular tal movimiento
usando el producto matricial
R = RZ (θ3 ) , RY (θ2 ) , RX (θ1 ) ,
que sirve para representar una rotación alrededor de los ejes Z, Y y X [12].
Mathematica
Definición de la matriz de rotación alrededor de los ejes Z, Y y X.
In[125]:=
R3D[θ1 , θ2 , θ3 ]:=RotationMatrix[θ3, {0, 0, 1}].
RotationMatrix[θ2, {0, 1, 0}].RotationMatrix[θ1, {1, 0, 0}];
52
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
4
4
Z
X
2
2
Y
0
0
Y
X
Z
-2
-2
-4
-4
-2
0
2
4
-4
-4
-2
0
2
4
Figura 1.57
Mathematica
Código para trazar la simulación de rotación de la gráfica de la figura 1.54 (derecha). La
figura 1.57 muestra algunas vistas.
In[126]:=
Out[126]=
Animate[
{pir, pjr, pkr} = P [#.R3D[θ, θ, θ]]&/@IdentityMatrix[3];
prohelix = P /@(helix/. {a , b , c } :> {a, b, c}.R3D[θ, θ, θ]);
Show[Graphics[{
MapThread[{Arrow[{{0, 0}, 3#1}], Text[#2, 3#1]}&,
{{pir, pjr, pkr}, {”X”, ”Y ”, ”Z”}}],
}, PlotRange → {{−4, 4}, {−4, 4}}],
Graphics[Line[prohelix]]],
{θ, 0, 2π}, AnimationRunning → False]
Figura 1.57
Obviamente, los resultados gráficos obtenidos en esta sección son rudimentarios pero su objetivo ha sido mostrar las técnicas básicas en las que se
basan las funciones incorporadas en el Mathematica para trazar gráficos en
E3 . Su utilidad se apreciará mejor en la sección 1.18.
En la siguiente sección se apreciarán proyecciones de objetos gráficos de
3
E en E2 hechas con funciones incorporadas en el Mathematica las cuales
dan la total impresión de no ser proyecciones, sino que realmente se están
visualizando en E3 . Esto es gracias al desarrollo de diversos algoritmos, los
cuales aprovecharemos en la sección 1.18 para visualizar la proyección de
objetos inmersos en E4 .
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E3
53
1.14 Trazado de objetos gráficos inmersos en E3
En E3 es posible encontrar objetos gráficos de dimensión 0: puntos, dimensión 1: lı́neas (rectas o curvas), dimensión 2: superficies (planas o en E3 )
y sólidos (confinados a E3 , sin escapar a E4 ).
Mathematica
Fijado de valores para la opción Axes de la función Graphics3D.
In[127]:=
SetOptions[Graphics3D, Axes → True];
Mathematica
√
√ 1 1
Trazado de los puntos (−1, −2, −1), − 2, 1, 0 ,
3, 2 , 4 y 1, −1, − 21 .
In[128]:=
Out[128]=
Graphics3D [{AbsolutePointSize[7],
0.5, 0.7], √ RGBColor[0.4,
√
Point[{−1,
−2,
−1}],
Point
−
2,
1,
0
,
Point
3, 12, 41 ,
Point 1, −1, −12
Figura 1.58 (izquierda)
Mathematica

2
2
2

x + y + z = 1 ,
2
2
Trazado de los puntos solución de x − y + z 2 = 1 ,


x − y2 + z = 1 .
In[129]:=
Out[129]=
.
DiscretizeRegion [ImplicitRegion [
x2 + y 2 + z 2 = 1 ∧ x2 − y 2 + z 2 = 1 ∧ x − y 2 + z = 1, {x, y, z}] ,
BaseStyle → {PointSize → Absolute[7]}, Boxed → True]
Figura 1.58 (derecha)
Mathematica
Trazado de la lı́nea que une los puntos (−1, −1, −1) y 2, 1, 12 .
In[130]:=
Out[130]=
Graphics3D [{Thick, RGBColor[.4, .5, .7],
Line[{{−1, −1, −1}, {2, 1, 21}}]
Figura 1.21 (izquierda)
54
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.58
Figura 1.59
Mathematica
Trazado de los puntos solución de
In[131]:=
Out[131]=
(
x + y − 2z = 1 ,
x−y −z = 1.
.
DiscretizeRegion [ImplicitRegion[
x + y − 2z = 1 ∧ x − y − z = 1, {x, y, z}],
BaseStyle → {Thick, PointSize → Absolute[0]},
Boxed → True]
Figura 1.59 (derecha)
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E3
55
Figura 1.60
Mathematica
Trazado de los puntos solución de
In[132]:=
Out[132]=
(
x2 + y 2 + z 2 = 1 ,
2
x − 21 + y 2 = 14 .
.
DiscretizeRegion [ImplicitRegion [
i
2
x2 + y 2 + z 2 = 1 ∧ x − 21 + y 2 = 14, {x, y, z} ,
MaxCellMeasure → 0.000001,
BaseStyle → {Thick, PointSize → Absolute[0]}, Boxed → True]
Figura 1.60 (izquierda)
Mathematica
Trazado de los puntos solución de x3 + y 3 + z 3 − 3xy − 3xz − 3yz = 0.
In[133]:=
Out[133]=
ContourPlot3D[x3 + y 3 + z 3 − 3xy − 3xz − 3yz = 0,
{x, −5, 4}, {y, −5, 4}, {z, −5, 4}]
Figura 1.60 (derecha)
Mathematica
Trazado de los puntos solución de x3 +y 3 +z 3 +3xyz = 1. Este conjunto podrı́a considerarse
otra silla de montar de mono ([19], p. 237).
In[134]:=
Out[134]=
ContourPlot3D[x3 + y 3 + z 3 + 3xyz = 1,
{x, −5, 5}, {y, −5, 5}, {z, −5, 5}, ViewPoint → {3.2, 1, 0.2}]
Figura 1.61 (izquierda)
56
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.61
Mathematica
Trazado de un cubo unitario.
In[135]:=
Out[135]=
Graphics3D(Cuboid[])
Figura 1.61 (derecha)
Mathematica
Trazado de la región D : −1 < x < 1 ∧ −1 < y < 1 ∧ −1 < z < 1 (sólido en E3 ).
In[136]:=
Out[136]=
RegionPlot3D[−1 < x < 1 ∧ −1 < y < 1 ∧ −1 < z < 1,
{x, −1, 1}, {y, −1, 1}, {z, −1, 1}]
Figura 1.62 (izquierda)
Mathematica
Trazado de la región D : x4 + x2 y 2 z 2 + y 4 + z 4 < 1 (sólido en E3 ).
In[137]:=
Out[137]=
RegionPlot3D [x4 + y 4 + z 4 + x2 y 2z 2 < 1, {x, −1, 1}, {y, −1, 1},
{z, −1, 1}]
Figura 1.62 (derecha)
Los siguientes ejemplos, en los que se hacen interpretaciones geométricas
de la derivada de una función de E2 en E (matriz jacobiana) y de la derivada
direccional del mismo tipo de funciones, se remarca la ventaja de usar un
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E3
57
Figura 1.62
sistema coordenado tridimensional para trazar las gráficas de funciones que
son subconjuntos de E3 (Sec. 1.1). Bueno, teniendo en cuenta siempre que,
en realidad, se trata de proyecciones de objetos gráficos del espacio tridimensional sobre el plano. Adicionalmente, más adelante, se incluyen ejemplos de
otros subconjuntos de E2 , esto es las gráficas de funciones de E en E2 y de
funciones de E2 en E.
Mathematica
Interpretación geométrica de las derivadas parciales como generadores del plano tangente
a la gráfica de la función f = (x2 + y 2 ), −1 < x < 1 ∧ −1 < y < 1, en el punto
(x0 , y0 ) = (0.5, −0.75) de su dominio.
In[138]:=
Out[142]=
f [x , y ]:=x2 + y 2
{x0, y0} = {0.5, −0.75};
d = 0.75;
Pt = f [1,0] [x0, y0], f [0,1] [x0, y0] .({x, y} − {x0, y0}) + f [x0, y0];
Show[
Graphics3D[{AbsolutePointSize[7], Point[{x0, y0, f [x0, y0]}]}],
Plot3D[f [x, y], {x, −1, 1}, {y, −1, 1}],
Plot3D[Pt, {x, x0 − d, d + x0}, {y, y0 − d, d + y0},
PlotStyle → Directive[Opacity[0.8], Blue]]
]
Ver figura 1.63 (izquierda)
58
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.63
Mathematica
Interpretación geométrica de la derivada direccional de la función f = (x2 +y 2 ) en dirección
del vector ~v = (cos(t), sin(t)).
In[143]:=
Out[149]=
f [x , y ]:=x2 + y 2
{x0, y0} = {−0.5, 0.5};
t = 3π/4;
{v1, v2} = {Cos[t], Sin[t]}/2;
grd = f [1,0] [x0, y0], f [0,1] [x0, y0] .{v1, v2};
pp = {x0, y0, 0}; vp = {v1, v2, 0};
pe = {x0, y0, f [x0, y0]}; ve = {v1, v2, grd};
Show[
Graphics3D[{PointSize[Large], Blue, Point[pp],
Black, Arrow[Tube[{pp, pp + vp}]]}],
Graphics3D[{PointSize[Large], Blue, Point[pe],
Red, Arrow[Tube[{pe, pe + ve}]]}],
Plot3D[{0, f [x, y]}, {x, −1, 1}, {y, −1, 1},
PlotStyle → Opacity[0.7], Mesh → False]
]
Figura 1.63 (derecha)
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E3
59
Figura 1.64
Como se aprecia en la tercera lı́nea de In[143] en la interpretación geométrica de la derivada direccional se ha definido el vector dirección, de la misma,
en términos del seno y coseno del parámetro t. De esta manera el lector podrá
cambiar el valor de t para indicar una dirección arbiraria.
Para el trazado de las gráficas de otras funciones cuyas gráficas también
son subconjuntos de E3 se exponen dos formas de realizar el trazado. Una
es usando reglas de transformación que se aplican a salidas obtenidas con
funciones incorporadas, tales como Table, ParametricPlot y RegionPlot;
y la otra es directamente con la función incorporada ParametricPlot3D.
En el último caso debe verse a esta función como excelente generadora de
de triadas de puntos vinculados mediante una lı́nea ya que si se quiere ser
estricto, ParametricPlot3D, traza gráficas de imágenes de funciones (rango)
cuyas gráficas son subconjuntos de E4 .
Mathematica
Trazado de la función (u) → (u, cos(u), sin(u)) a partir de la generación de una tabla de
triadas con la función icorporada Table.
In[150]:=
Out[151]=
pts = Table {u, cos(10u), sin(10u)}, u, 0, π2 , 0.01 ;
Graphics3D[{Line[pts]}]
Ver figura 1.64 (izquierda)
Mathematica
Trazado de la función (u) → (u, cos(u), sin(u)) a partir de la generación de una tabla de
triadas mediante la función incorporada ParametricPlot3D.
In[152]:=
Out[152]=
ParametricPlot3D {u, cos(10u), sin(10u)}, u, 0, π2
Ver figura 1.64 (derecha)
60
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.65
Mathematica
Definición de la función f = (x2 + y 2 ).
In[153]:=
f [x , y ]:=x2 + y 2
Mathematica
Trazado de la función (u) → (sin(u), sin(2u), f (sin(u), sin(2u))) a partir de la modificación
de la salida proporcionada por la función incorporada ParametricPlot.
In[154]:=
Out[155]=
pts = Table {u, cos(10u), sin(10u)}, u, 0, π2 , 0.01 ;
Graphics3D[{Line[pts]}]
Ver figura 1.65 (izquierda)
Mathematica
Trazado de la función (u) → (sin(u), sin(2u), f (sin(u), sin(2u))) a partir la generación de
una tabla de triadas mediante la función incorporada ParametricPlot3D.
In[156]:=
Out[156]=
ParametricPlot3D {u, cos(10u), sin(10u)}, u, 0, π2
Ver figura 1.65 (derecha)
Mathematica
Trazado de la función (u, v) → (v sin(u), v sin(2u), f (v sin(u), v sin(2u))) a partir de la
modificación de la salida proporcionada por la función incorporada ParametricPlot.
In[157]:=
Out[158]=
pol = ParametricPlot[{v sin(u), v sin(2u)}, {u, 0, 2π}, {v, 0, 1},
Mesh → True][[1]];
Graphics3D[{pol/. {x ?NumericQ, y ?NumericQ} :>
{x, y, f [x, y]}}]
Ver figura 1.66 (izquierda)
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E3
61
Figura 1.66
Mathematica
Trazado de la función (u, v) → (v sin(u), v sin(2u), f (v sin(u), v sin(2u)))) a partir la generación de una tabla de triadas mediante la función incorporada ParametricPlot3D.
In[159]:=
Out[159]=
ParametricPlot3D[{vSin[u], vSin[2u], f [vSin[u], vSin[2u]]},
{u, 0, 2π}, {v, 0, 1}]
Ver figura 1.66 (derecha)
Mathematica
Trazado de la función f = x2 + y 2 , a partir de su dominio, mediante la modificación de
la salida proporcionada por la función incorporada RegionPlot.
In[160]:=
Out[161]=
pol = RegionPlot [x8 + y 8 + x4 y 4 < 1, {x, −1, 1}, {y, −1, 1},
Mesh → True] [[1]];
Graphics3D{pol/. {x ?NumericQ, y ?NumericQ} :>
{x, y, f [x, y]}}]
Ver figura 1.67 (izquierda)
Mathematica
Trazado de la función f =
RegionFunction.
In[162]:=
Out[162]=
x2 + y 2
especificando su dominio mediante la opción
Plot3D [x2 + y 2, {x, −1, 1}, {y, −1, 1}, BoxRatios →Automatic,
RegionFunction → #18 + #28 + #12 #22 < 1&
Ver figura 1.67 (derecha)
62
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.67
1.15 Trazado de funciones de E en E3
La función incorporada ParametricPlot3D del Mathematica permite trazar las imágenes de funciones que van de E en E3 . De acuerdo con la definición
1.1 las gráficas de estas funciones son subconjuntos de E4 y el Mathematica
no incorpora ninguna función para trazar estas gráficas.
Mathematica
Fijado de los valores de algunas opciones.
In[163]:=
SetOptions[Graphics3D, Axes → True];
SetOptions[NumberLinePlot, Spacings → 0,
PlotStyle → {Directive[Thick, PointSize[Large]]}];
Mathematica
Denifición de la regla rule que permitirá dar formato al trazo de los puntos.
In[166]:=
rule = {p : Point[ ] :>
{PointSize[Large], RGBColor[0.4, 0.5, 0.7], p}};
Mathematica
Definición de las funciones OPoint y CPoint que permiten trazar puntos incluidos y excluidos de una gráfica, según sea el caso.
In[168]:=
OPoint(p ):={RGBColor(0.4, 0.5, 0.7), PointSize[Large], Point[p],
GrayLevel[1], PointSize[Medium], Point[p]}
CPoint(p ):={RGBColor[0.4, 0.5, 0.7], PointSize[Large], Point[p]}
63
TRAZADO DE FUNCIONES DE E EN E3
α

0
1
2
3
4
,
,

Figura 1.68
Mathematica
Definición de la función α = 3 cos(u), 3 sin(u), 9 cos2 (u) .
In[171]:=
α[u ]:= {3 cos(u), 3 sin(u), 9 cos2 (u)}
Mathematica
Trazado de la función α transformando el punto (2).
In[172]:=
Out[172]=
NumberLinePlot[2, Frame → False],
TO[α], Graphics3D[Point[α(2)]]/. rule
(Ver figura 1.68)
Mathematica
Trazado de la función α transformando los puntos (−1, 2, 3.5).
In[173]:=
Out[173]=
NumberLinePlot[{−1, 2, 3.5}, Frame → False],
TO[α], Graphics3D[Point[α(2)]]/. rule
(Ver figura 1.69)
Mathematica
Cálculo de los puntos solución de u2 + u − 1 = 0 y su almacenamiento en la variable pts.
In[174]:=
pts = Solve [u2 + u − 1 = 0, u, R] /. {var → val } :→ val
Mathematica
Trazado de la función α transformando los puntos pts.
In[175]:=
Out[175]=
{NumberLinePlot [u2 + u − 1 = 0, {u, −4, 4}, Frame → False] , TO[α],
Graphics3D(Point[α/@pts])/. rule}
(Ver figura 1.70)
64
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
α

-1
0
1
2
3
4
,

,
Figura 1.69
α

-4
-2
0
2
4
,

,
Figura 1.70
α

-1.0
-0.5
0.0
0.5
1.0
,
,
Figura 1.71

TRAZADO DE FUNCIONES DE E EN E3
65
α

0
1
2
3
4
5
6
7
,
,
Figura 1.72
Mathematica
Trazado de la función α transformando el intervalo [−1, 1].
In[176]:=
Out[176]=
NumberLinePlot[Interval[{−1, 1}], Frame → False], TO[α],
Show[
ParametricPlot3D[α[u], {u, −1, 1}],
Graphics3D[{Point[{α[−1], α[1]}]}]/. rule
]}
(Ver figura 1.71)
Mathematica
Trazado de la función α transformando la región 0 < u < 2π.
In[177]:=
Out[177]=
{NumberLinePlot[0 < u < 2π, {u, 0, 2π}, Frame → False], TO[α],
Show[
ParametricPlot3D[α[u], {u, 0, 2π}],
Graphics3({OPoint[α[0]], OPoint[α[2π]]})
]}
(Ver figura 1.72)
Mathematica
√
Definición de la función α = u, u, 1 − u2 .
In[178]:=
√
α[u ]:= u, u, 1 − u2

66
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
α

-1.0
-0.5
0.0
0.5
1.0
,
,

Figura 1.73
Mathematica
Trazado de la función α transformando la región −1 < u < 1.
In[179]:=
Out[179]=
{NumberLinePlot[−1 < u < 1, {u, −1, 1}, Frame → False],
TO[α],
Show[
ParametricPlot3D[α[u], {u, −1, 1}],
Graphics3({OPoint[α[−1]], OPoint[α[1]]})
]}
(Ver figura 1.73)
1.16 Trazado de funciones de E2 en E2
En esta sección utilizaremos las funciones incorporadas que se ejemplificaron en la sección 1.8 para trazar los dominios y rangos de funciones definidas
de E2 en E2 . Además, con base en el isormofismo que existe entre C y E2 ,
en la parte final se abordan algunos ejemplos que involucran funciones complejas transformando subconjuntos de C. Como el lector podrá apreciar, esta
es la forma común en que la mayorı́a de textos presenta el trazado de las
funciones complejas. Debe quedar claro que en tales ejemplos se trazan el
dominio y el rango de dichas funciones pues la gráfica de las mismas es un
subconjunto de C2 , isomorfo a E4 (Sec. 1.1).
67
TRAZADO DE FUNCIONES DE E2 EN E2
F
1.0
-0.8
-1.0
0.8
-1.2
0.6

-1.4
,
,
0.4
-1.6

-1.8
0.2
-2.0
-2.2
0.0
-1.4
-1.2
-1.0
-0.8
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4
-0.6
Figura 1.74
Mathematica
Fijado de los valores de algunas opciones.
In[180]:=
SetOptions[Graphic, Frame → True, Axes → True];
SetOptions[RegionPlot, PlotRange → All,
AspectRatio → Automatic];
SetOptions[ParametricPlot, Frame → True,
PlotRange → All, AspectRatio → Automatic];
SetOptions[ContourPlot, PlotRange → All,
AspectRatio → Automatic];
Mathematica
Definición de la regla rule. Esta regla permitirá dar formato al trazado de los puntos.
In[181]:=
r = {p : Point[ ] :> {PointSize[Large], RGBColor[.4, .5, .7], p}};
Mathematica
Definición de la función F = u2 − v 2 , u − v .
In[182]:=
F [u , v ]:= {u2 − v 2 , u − v}
Mathematica
Trazado de la función F transformando el punto (−1, 0.5).
In[183]:=
Out[183]=
{pt = Graphics[Point[{−1, 0.5}]]/. r, TO[F ],
pt/. {x ?NumericQ, y ?NumericQ} :> F [x, y]}
(Ver figura 1.74)
68
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
0.5
F
0.0
1.0
0.8
-0.5
0.6
0.4
,
0.0
-1.0

,
-1.0
0.2
-0.5
0.0
0.5
1.0
-1.5
-2.0
0.0 0.2 0.4 0.6 0.8 1.0
Figura 1.75
1.0
F
1.0
0.5
0.5

0.0
,

0.0
,
-0.5
-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
-1.0
0.0 0.2 0.4 0.6 0.8 1.0
Figura 1.76
Mathematica
Trazado de la función F transformando los puntos (−1, 1), (−1, 0), (1, 0.5).
In[184]:=
Out[184]=
{pts = Graphics[Point[{{−1, 1}, {−1, 0}, {1, 0.5}}]]/. r,
TO[F ], pts/. {x ?NumericQ, y ?NumericQ} :> F [x, y]}
(Ver figura 1.75)
Mathematica
Trazado de la función F transformando los puntos solución de
In[185]:=
Out[185]=
(
x2 − xy + y 2 = 1 ,
x2 + xy − y 2 = 1 .
{dr = DiscretizeRegion[
ImplicitRegion [x2 − xy + y 2 = 1 ∧ x2 + xy − y 2 = 1, {x, y}] ,
BaseStyle → {PointSize → Absolute[7]}], TO[F ],
Graphics(Point[(F @@#1&)/@MeshCoordinates[dr]])/. r}
(Ver figura 1.76)
.
69
TRAZADO DE FUNCIONES DE E2 EN E2
F
1.5
1.0
1.0
0.5
0.5

0.0
,
,

0.0
-0.5
-0.5
-1.0
-1.0
-1.0
-0.5
0.0
0.5
1.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
Figura 1.77
F
1.5
1.0
1.0
0.5
0.5

0.0
,
,

0.0
-0.5
-0.5
-1.0
-1.0
-1.0
-0.5
0.0
0.5
-1.5
1.0
-0.5
0.0
0.5
1.0
Figura 1.78
Mathematica
Trazado de la función F transformando los puntos solución de x4 + y 4 = 1.
In[186]:=
Out[186]=
{cp = ContourPlot [x4 + y 4 = 1, {x, −1, 1}, {y, −1, 1}] , TO[F ],
cp/. {x ?NumericQ, y ?NumericQ} :> F [x, y]}
(Ver figura 1.77)
Mathematica
Trazado de la función F transformando los puntos de la forma (sin(u), sin(2u)), 0 < u <
2π.
In[187]:=
Out[187]=
{pp = ParametricPlot[{Sin[u], Sin[2u]}, {u, 0, 2π}],
TO[F ], pp/. {x ?NumericQ, y ?NumericQ} :> F [x, y]}
(Ver figura 1.78)
70
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
F
1.5
1.0
1.0
0.5
0.5
0.0

,

0.0
,
-0.5
-0.5
-1.0
-1.0
-1.0
-0.5
0.0
0.5
-1.5
1.0
-0.5
0.0
0.5
1.0
Figura 1.79
F
1.5
1.0
1.0
0.5
0.5

0.0
,
,

0.0
-0.5
-0.5
-1.0
-1.0
-1.0
-0.5
0.0
0.5
1.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
Figura 1.80
Mathematica
Trazado de la función F transformando los puntos de la forma (v sin(u), v sin(2u)),
0 < u < 2π, 0 < v < 1.
In[188]:=
Out[188]=
{pp = ParametricPlot[{vSin[u], vSin[2u]}, {u, 0, 2π}, {v, 0, 1}],
TO[F ], pp/. {x ?NumericQ, y ?NumericQ} :> F [x, y]}
(Ver figura 1.79)
Mathematica
Trazado de la función F transformando los puntos de la región x4 + y 4 < 1.
In[189]:=
Out[189]=
{rp = RegionPlot [x4 + y 4 < 1, {x, −1, 1}, {y, −1, 1}] , TO[F ],
rp/. {x ?NumericQ, y ?NumericQ} :→ F [x, y]}
(Ver figura 1.80)
71
TRAZADO DE FUNCIONES DE E2 EN E2
F
1.5
1.0
1.0
0.5
0.5

0.0
,
,

0.0
-0.5
-0.5
-1.0
-1.0
-1.0
-0.5
0.0
0.5
1.0
-1.5
-0.5
0.0
0.5
1.0
Figura 1.81
Mathematica
Definición de la función compleja F = z 2 .
In[190]:=
F [z ]:=z 2
Mathematica
Trazado de la función F transformando los puntos de la forma (sin(u) + i sin(2u)).
In[191]:=
Out[191]=
{pp =
ParametricPlot[ReIm[Sin[u] + ISin[2u]], {u, 0, 2π}], TO[F ],
pp/. {x ?NumericQ, y ?NumericQ} :> ReIm[F [x + iy]]}
(Ver figura 1.81)
Mathematica
Trazado de la función F transformando los puntos de la forma (v sin(u) + iv sin(2u)).
In[192]:=
Out[192]=
{pp =
ParametricPlot[ReIm[vSin[u] + IvSin[2u]], {u, 0, 2π}, {v, 0, 1}],
TO[F ], pp/. {x ?NumericQ, y ?NumericQ} :> ReIm[F [x + iy]]}
(Ver figura 1.82)
Mathematica
Trazado de la función F transformando los puntos que satisfacen máx(|x| , |y|) = 1.
In[193]:=
Out[193]=
{cp = ContourPlot[Max[Abs[x], Abs[y]] = 1,
{x, −1.1, 1.1}, {y, −1.1, 1.1}],
TO[F ], cp/. {x ?NumericQ, y ?NumericQ} :> ReIm[F [x + iy]]}
(Ver figura 1.83)
72
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
F
1.5
1.0
1.0
0.5
0.5
0.0

,
,

0.0
-0.5
-0.5
-1.0
-1.0
-1.0
-0.5
0.0
0.5
1.0
-1.5
-0.5
0.0
0.5
1.0
Figura 1.82
2
F
1.0
1
0.5

0.0
,
,

0
-0.5
-1
-1.0
-1.0
-0.5
0.0
0.5
1.0
-2
-1.0 -0.5
0.0
0.5
1.0
Figura 1.83
2
F
1.0
1
0.5

0.0
,
,

0
-0.5
-1
-1.0
-1.0
-0.5
0.0
0.5
1.0
-2
-1.0 -0.5
Figura 1.84
0.0
0.5
1.0
TRAZADO DE FUNCIONES DE E3 EN E
73
Mathematica
Trazado de la función F transformando los puntos de la región máx(|x| , |y|) < 1.
In[194]:=
Out[194]=
{cp = ContourPlot[Max[Abs[x], Abs[y]] < 1,
{x, −1, 1}, {y, −1, 1}],
TO[F ], cp/. {x ?NumericQ, y ?NumericQ} :> ReIm[F [x + iy]]}
(Ver figura 1.84)
1.17 Trazado de funciones de E3 en E
En esta sección trazaremos el dominio y rango de funciones de E3 en
E. Para tal fin utilizaremos las funciones incorporadas ejmeplificadas en la
sección 1.14. Adicionalmente, como se aprecia en los dos ejemplos finales
de esta sección, se ha modificado la función incorporada ParametricPlot3D
para que trace sólidos en E3 .
Mathematica
Fijado de los valores de algunas opciones.
In[195]:=
SetOptions[NumberLinePlot, Spacings → 0,
PlotStyle → {Directive[Thick, PointSize[Large]]}];
SetOptions[Graphics3D, Axes → True];
Mathematica
Definición de la regla de transformación rule que permitirá dar fromato al trazado de los
piuntos.
In[196]:=
rule = {p : Point[ ] :>
{PointSize[Large], RGBColor[0.4, 0.5, 0.7], p}};
Mathematica
Definición de la función F = x2 + y 2 + z 2 .
In[197]:=
F [x , y , z ]:=x2 + y 2 + z 2
Mathematica
Trazado de la función F transformando el punto (−1, 0.5, 1).
In[198]:=
Out[198]=
{Graphics3D[Point[pt = {−1, 0.5, 1}]]/. rule, TO[F ],
NumberLinePlot[F @@pt, Frame → False]}
(Ver figura 1.85)
74
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
F

,
,
0
1
2
3
4
5

0.0
0.5
1.0
1.5
2.0
2.5

0.0
0.2
Figura 1.85
F

,
,
Figura 1.86
F

,
,
Figura 1.87
0.4
0.6
0.8
1.0

75
TRAZADO DE FUNCIONES DE E3 EN E
Mathematica
Trazado de la función F transformando los puntos (−1, 1, 0.5), (−1, 0, 1), (1, 0.5, 0.25).
In[199]:=
Out[199]=
{Graphics3D[
Point[pts = {{−1, 1, 0.5}, {−1, 0, 1}, {1, 0.5, 0.25}}]]/.rule,
TO[F ], NumberLinePlot[F @@#&/@pts, Frame → False]}
(Ver figura 1.86)
Mathematica
Trazado
de
la
función

2
2
2

x
−
xyz
+
y
+
z
=
1,

x2 + xyz − y 2 − z 2 = 1 , .

 2
x + xyz + y 2 − z 2 = 1 .
In[200]:=
Out[200]=
F
transformando
los
puntos
solución
de
{dr = DiscretizeRegion[
ImplicitRegion [x2 − xyz + y 2 + z 2 = 1 ∧ x2 + xyz − y 2 − z 2 = 1∧
x2 + xyz + y 2 − z 2 = 1, {x, y, z}] ,
BaseStyle → {PointSize → Absolute[7]}, Boxed →
True], TO[F ],
NumberLinePlot[F @@#&/@MeshCoordinates[dr], Frame →
False]}
(Ver figura 1.87)
Mathematica
Trazado de la función F transformando los puntos solución de
In[201]:=
Out[201]=
(
x2 + (z − 1)2 = 4 ,
y 2 + (z + 1)2 = 3 .
.
{dr = DiscretizeRegion[
ImplicitRegion [x2 + (z − 1)2 = 4 ∧ y 2 + (z + 1)2 = 3, {x, y, z}] ,
BaseStyle → {Thick, PointSize → Absolute[0]},
Boxed → True], TO[F ],
NumberLinePlot[F @@#&/@MeshCoordinates[dr],
Frame → False]}
(Ver figura 1.88)
76
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
F

,
,
0
1
2
3
4
5

Figura 1.88
F

,
,
0
20
40
60
80
100

0
20
40
60
80
100

Figura 1.89
F

,
,
Figura 1.90
77
TRAZADO DE FUNCIONES DE E3 EN E
F

,
,
0
1
2
3

Figura 1.91
Mathematica
Trazado de la función F transformando los puntos de la forma 3 cos(u), 3 sin(u), 9 cos2 (u) ,
0 < u < 2π.
In[202]:=
Out[202]=
{pp = ParametricPlot3D [{3Cos[u], 3Sin[u], 9Cos[u]2 } , {u, 0, 2π}] ,
TO[F ], NumberLinePlot[(F @@#1&)/@Cases[pp, Line, ∞][[1, 1]],
Frame → False]}
(Ver figura 1.89)
Mathematica
Trazado de la función F
transformando los
2
3v cos(u), 3v sin(u), 9v cos (u) , 0 < u < 2π, 0 < v < 1.
In[203]:=
Out[203]=
puntos
de
la
forma
{pp = ParametricPlot3D [{3vCos[u], 3vSin[u], 9vcos[u]2 } ,
{u, 0, 2π}, {v, 0, 1}], TO[F ],
NumberLinePlot[F @@#&/@pp[[1, 1]], Frame → False]}
(Ver figura 1.90)
Mathematica
Trazado de la función F transformando los puntos de la gráfica de la función f = (x2 + y 2 )
tales que x8 + y 8 + x2 y 2 < 1.
In[204]:=
Out[204]=
{rp = Plot3D [x2 + y 2 , {x, −1, 1}, {y, −1, 1},
BoxRatios → Automatic,
RegionFunction → #18 + #28 + #12 #22 < 1& , TO[F ],
NumberLinePlot[F @@#&/@rp[[1, 1]], Frame → False]}
(Ver figura 1.91)
78
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
F

,
,
0.0
0.2
0.4
0.6
0.8
1.0

0.0
0.2
0.4
0.6
0.8
1.0

Figura 1.92
F

,
,
Figura 1.93
Mathematica
Trazado de la función F transformando los puntos solución de x2 + y 2 + z 2 = 1.
In[205]:=
Out[205]=
{cp = ContourPlot3D [x2 + y 2 + z 2 = 1, {x, −1, 1}, {y, −1, 1},
{z, −1, 1}], TO[F ], NumberLinePlot[(F @@#1&)/@cp[[1, 1]],
Frame → False]}
(Ver figura 1.92)
Mathematica
Trazado de la función F transformando los puntos de la región x2 + y 2 + z 2 < 1.
In[206]:=
Out[206]=
{rp = RegionPlot3D [x2 + y 2 + z 2 < 1, {x, −1, 1}, {y, −1, 1},
{z, −1, 1}], TO[F ], NumberLinePlot[F @@#&/@rp[[1, 1]],
Frame → False]}
(Ver figura 1.93)
TRAZADO DE FUNCIONES DE E3 EN E
79
Figura 1.94
Al comparar las gráficas de las figuras 1.92 y 1.93 se observa que la imagen
(rango) es la misma. Esto no deberı́a ser ası́, pero sucede que la salida, que
deberı́a ser un sólido (objeto tridimensional), en realidad es algo similar a
una cáscara (objeto bidimensional). Por tal motivo, ambas imágenes recaen
en el punto (1), cuando lo correcto es que en la primera figura sı́ sea el punto
(1) y en la segunda, el intervalo h−1, 1i. Es decir, los algoritmos en los que
se basa el lenguaje Wolfram empiezan a tener limitaciones en el trazado de
sólidos.
Mathematica
Trazado de un mallado que aproxima al sólido −1 < x < 1 ∧ −1 < y < 1 ∧ −1 < z < 1
como una terna de puntos de la forma (x, y, z).
In[207]:=
Out[207]=
ParametricPlot3D[{x, y, z}, {x, −1, 1}, {y, −1, 1}, {z, −1, 1}]
(Ver figura 1.94)
Mathematica
Trazado de la función F
transformando los puntos de la forma
{w cos(u) cos(v), w sin(u) cos(v), w sin(v)}, 0 < u < 2π, − π2 < v < π2 , 0 < w < 1
(bola abierta, con centro en el origen y radio 1). Note que este caso la imagen se aproxima
al intervalo h−1, 1i.
In[208]:=
Out[208]=
{pp = ParametricPlot3D[
{wCos[u]Cos[v],
wSin[u]Cos[v],wSin[v]},
{u, 0, 2π}, v, − π2 , π2 , {w, 0, 1} , TO[F ],
NumberLinePlot[F @@#&/@Flatten[
Cases[pp, GraphicsComplex[p , q ] :> p, ∞],
1], Frame → False]}
(Ver figura 1.95)
80
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
F

,
,
0.0
0.2
0.4
0.6
0.8

1.0
Figura 1.95
F

,
,
0
1
2
3
4
5

Figura 1.96
Mathematica
Trazado de la función F transformando los puntos de la forma v(cos(4u) +
1) cos(u), v sin(u)(cos(4u) + 1), w, 0 < u < 2π, 0 < v < 1, 0 < w < 1.
In[209]:=
Out[209]=
{pp = ParametricPlot3D[
{v(Cos [4u] + 1)Cos[u], vSin[u](Cos[4u] + 1), w},
{u, 0, 2π}, {v, 0, 1} , {w, 0, 1}] , TO[F ],
NumberLinePlot[F @@#&/@Flatten[
Cases[pp, GraphicsComplex[p , q ] :> p, ∞],
1], Frame → False]}
(Ver figura 1.96)
PROYECCIONES DE E4 EN E3
81
Figura 1.97
Figura 1.98
1.18 Proyecciones de E4 en E3
El teorema de Pohlke fue formulado para realizar proyecciones de E3 en
E ; sin embargo, es posible expandirlo de manera natural para realizar proyecciones de E4 en E3 [14, 22, 29]. Por ejemplo, tomando en cuenta que
la proyección del eje X en la figura 1.51 está sobre la prolongación de la
diagonal de un cuadrado (Fig.1.97, izquierda) es posible extender esta idea
para proyectar el sistema OXY ZW sobre el sistema ŌX̄ Ȳ Z̄ W̄ , eligiendo
los ejes tal como se muestra en la figura 1.97 (derecha). Note que la proyección del eje X se elije de tal manera que descansa sobre la prolongación
) Ȳ W̄ = <
) Z̄ W̄ = 90◦ y
) Ȳ Z̄ = <
de la diaginal de un cubo, adicionalmente <
◦
′
′′
<
) X̄ Ȳ = <
) X̄ Z̄ = <
) X̄ W̄ ≈ 125 15 51.803 . Para encontrar las expresiones
analı́ticas
de esta
n
o proyección, se proyectará el sistema coordenado generado
~
~
~
~
por O; i, j, k, l , con ejes X, Y, Z, W , sobre el sistema coordenado generado
por {O ′ ; ~e1 , ~e2 , ~e3 }, con ejes X ′ , Y ′ , Z ′ .
2
82
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.99
Defı́nase la proyección P : E4 → E3 para la cual se cumple que (Fig. 1.98)
P
P
P
P
1
1
1
1
~i = − √ (~e1 + ~e2 + ~e3 ) = − √ , − √ , − √
,
3
3
3
3
~j = ~e1 = (1, 0, 0) ,
~k = ~e2 = (0, 1, 0) ,
~l = ~e3 = (0, 0, 1) .
Sea p = (p1 , p2 , p3 , p4 ) un punto arbitrario de E4 entonces


P (p) = P (p1 , p2 , p3 , p4 ) = 
− √13
− √13
− √13
 p 
1
1 0 0


p
2 
0 1 0 

 p3  .
0 0 1
p4
(1.4)
La ecuación
1.4 indica que el punto p = (p1 , p2 , p3 , p4 ) se proyecta sobre
′
el punto p = − √p13 + p2 , − √p13 + p3 , − √p13 + p4 .
Otro ejemplo se obtiene extendiendo la proyección definida en la ecuación
1.3. La figura 1.99 (izquierda) muestra que el origen del sistema ŌX̄ Ȳ Z̄ está
localizado en el centroide de un triángulo equilátero y que los ejes van del
centroide hacia los vértices del triángulo. Del mismo modo, es posible ubicar
el origen del sistema Ō X̄ Ȳ Z̄ W̄ sobre el centroide de un tetraedro equilátero
y los ejes yendo del centroide hacia los vértices del tetraedro (Fig. 1.99,
derecha). De esta manera se obtiene la proyección (Fig. 1.100)
PROYECCIONES DE E4 EN E3
83
Figura 1.100


P (p1 , p2 , p3 , p4 ) = 
√
−q32
− 23
− 13
√
2
−
q3
2
3
1
−3
√
2 2
3
0
− 31
 p 
1
0

p

2 
0 
 p3  .
1
p4
(1.5)
Aquı́ los ángulos formados por los ejes, tomados de dos en dos, miden aproximadamente 161◦33′ 54.1842′′.
Antes de codificar los resultados es preciso mencionar que aún no contamos con la tecnologı́a apropiada para visualizar proyecciones de E4 en
E3 . Para eso serı́a preciso haber desarrollado pantallas tridimensionales, algo parecido a hologramas. La buena noticia es que se está trabajando en el
desarrollo de esa tecnologı́a [18]. Por lo cual, en realidad, seguimos visualizando las proyecciones en E2 ; pero el Mathematica disimula bastante bien
esta limitación. Otro inconveniente, isorteable hasta hoy, es que no tenemos
acceso a E4 para comparar el objeto real con su proyección en E3 , tal como
podemos hacer con los objetos en E3 y sus proyecciones en E2 .
Mathematica
Fijado del valor de la opción Axes de la función Graphics3D.
In[210]:=
SetOptions[Graphic3Ds, Axes → True];
84
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.101
Mathematica
Elección de las proyecciones de ~i, ~j, ~k y ~l. Note que aquı́: P ~i = − √13 , − √13 , − √13 ,
P ~j = (1, 0, 0), P ~k = (0, 1, 0), P ~l = (0, 0, 1) y vp1 = 53 , vp2 = vp3 = vp4 = 1 (por
extensión de Ec. 1.1). Por comodidad se almacenan las proyecciones en la variable M .
In[211]:=
M = {pi, pj, pk, pl} =
n
o
3
3
3
√
√
√
− 5 3 , − 5 3 , − 5 3 , {1, 0, 0} , {0, 1, 0} , {0, 0, 1} ;
Mathematica
Definición de la proyección P . Se elige esta forma de multiplicar matrices, a diferencia de
las ecuaciones 1.2 y 1.3, por conveniencia para el lenguaje Wolfram.
In[212]:=
P [{p1 , p2 , p3 }]:={p1, p2, p3}.M
Mathematica
Coordenadas de la proyección del punto p = (1, 1, 1, 1).
In[213]:=
Out[213]=
P [{1, 1, 1}]
n
√
1 − 53 , 1 −
√
3
,1
5
−
√
3
5
o
Mathematica
Trazado de la proyección de la gráfica del punto p = (1, 1, 1).
In[214]:=
Out[214]=
Graphics3D[{Point[P [{1, 1, 1, 1}]], Arrow[{{0, 0, 0}, #}]&/@M}]
Figura 1.101
PROYECCIONES DE E4 EN E3
85
Figura 1.102
Mathematica
Dado que la gráfica de α = (cos(t), sin(t, cos(2t), sin(2t)) es un conjunto de puntos de E4 ,
se usa la función incorporada Table para generar cierta cantidad de estos puntos.
In[215]:=
curve = Table[{cos(t), sin(t), cos(2t), sin(2t)}, {t, 0, 2π, 0.01}];
procurve = P /@curve;
Mathematica
Trazado de la proyección de algunos puntos de la gráfica de la función α.
In[217]:=
Out[217]=
Graphics3D[{Point[procurve], Arrow[{{0, 0, 0}, #}]&/@M}]
Figura 1.102 (izquieda)
Mathematica
Trazado de la proyección de algunos puntos de la gráfica de la función α unidos mediante
lı́neas.
In[218]:=
Out[218]=
Graphics3D[{Line[procurve], Arrow[{{0, 0, 0}, #}]&/@M}]
Figura 1.102 (derecha)
Mathematica
Dado que la gráfica de f = x2 + y 2 es un conjunto de puntos de E4 , se usa la función
incorporada Table para generar algunos de estos puntos.
In[219]:=
graf =
Table [{x, y, z, x2 + y 2 + z 2 } , {x, −1, 1, 0.15}, {y, −1, 1, 0.15},
{z, −1, 1, 0.15}] ;
prograf = Map[P, graf, {3}];
86
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.103
Mathematica
Trazado de la proyección de la gráfica de la función f .
In[221]:=
Out[221]=
Graphics3D[{Map[Point, prograf, {2}], Arrow[{{0, 0, 0}, #}]&/@M}]
Figura 1.103 (izquieda)
Mathematica
Trazado de la proyección de algunos puntos de la gráfica de la función f unidos mediante
lı́neas.
In[222]:=
Out[222]=
Graphics3D[{Map[Line, prograf, {2}],
Map[Line, Transpose/@prograf, {2}],
Map[Line, Transpose/@Transpose[prograf], {2}],
Arrow[{{0, 0, 0}, #}]&/@M}]
Figura 1.103 (derecha)
Mathematica
Código para construir polı́gonos cuyos vértices son los puntos proyectados de la gráfica de
f.
In[223]:=
graf1 = Table [{x, y, z, x2 + y 2 + z 2 } , {x, −1, 1, 0.15},
{y, −1, 1, 0.15}, {z, −1, 1, 0.15}];
graf2 = Transpose[Transpose/@graf1];
graf3 =
Transpose/@Transpose[Transpose/@Transpose/@graf1];
prograf = Map[Partition[#1, 2, 1]&,
PROYECCIONES DE E4 EN E3
87
Figura 1.104
Transpose/@Map[Partition[#, 2, 1]&, #, {2}], {2}]&/@
{graf1, graf2, graf3};
rule = {{a : { , , , }, b : { , , , }},
{c : { , , , }, d : { , , , }}} :>
Polygon[P /@{a, b, d, c}];
Mathematica
Trazado de polı́gonos cuyos vértices son las proyecciones de los puntos de la gráfica de f .
In[224]:=
Out[224]=
Graphics3D [{Directive[Yellow, EdgeForm[Black]], prograf, Black,
Arrow[{{0, 0, 0}, #}]&/@M}]
Figura 1.104 (izquierda)
Mathematica
Con base en la función incorporada ContourPlot3D se ha implementado la nueva función
ImplicitPlot4D para trazar la proyección de la gráfica de algunos puntos que satisfacen
x2 + y 2 + z 2 + w2 = 1 como vertices de polı́gonos (ver el Notebook).
In[225]:=
Out[225]=
ImplicitPlot4D [x2 + y 2 + z 2 + w 2 = 1, {x, −1, 1}, {y, −1, 1},
{z, −1, 1}, {w, −1, 1}]
Figura 1.104 (derecha)
Las expresiones analı́ticas de una proyección (Ecs. 1.4, 1.5) permiten
obtener la proyección de objetos gráficos de E4 en E3 , de acuerdo con la
elección de los ejes X̄, Ȳ , Z̄, W̄ . Sin embargo, todas las proyecciones obtenidas
88
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
en esta sección carecen de movimiento en E4 ; aunque es posible simular tal
movimiento usando el producto matricial
R = R = RZW (θ6 ) RY W (θ5 ) RY Z (θ4 ) RXW (θ3 ) RXZ (θ2 ) RXY (θ1 ) ,
que sirve para representar una rotación alrededor de los planos ZW , Y W ,
Y Z, XW , XZ y XY [11].
Mathematica
Definición de la matriz de rotación alrededor de los planos ZW , Y W , Y Z, XW , XZ y
XY .
In[226]:=
R4D[θ1 , θ2 , θ3 , θ4 , θ5 , θ6 ]:=
RotationMatrix[θ1, {{0, 0, 1, 0}, {0, 0, 0, 1}}].
RotationMatrix[θ2, {{0, 1, 0, 0}, {0, 0, 0, 1}}].
RotationMatrix[θ3, {{0, 1, 0, 0}, {0, 0, 1, 0}}].
RotationMatrix[θ4, {{1, 0, 0, 0}, {0, 0, 0, 1}}].
RotationMatrix[θ5, {{1, 0, 0, 0}, {0, 0, 1, 0}}].
RotationMatrix[θ6, {{1, 0, 0, 0}, {0, 1, 0, 0}}];
Mathematica
Código para trazar la simulación de rotación de la gráfica de la figura 1.102 (derecha). La
figura 1.105 muestra algunas vistas.
In[227]:=
Out[227]=
Animate[ {pir, pjr, pkr, plr} =
P [#.R4D[θ, θ, θ, θ, θ, θ]]&/@IdentityMatrix[3];
procurve = P /@(curve/. {a , b , c , d } :>
{a, b, c, d}.R4D[θ, θ, θ, θ, θ, θ]); Show[Graphics3D[{
MapThread[{Arrow[{{0, 0, 0}, 3#1}], Text[#2, 3#1]}&,
{{pir, pjr, pkr, plr}, {”X”, ”Y ”, ”Z”, ”W ”}}],
}, PlotRange → {{−3, 3}, {−3, 3}, {−3, 3}}],
Graphics3D[Line[procurve]]],
{θ, 0, 2π}, AnimationRunning → False]
Figura 1.105
Los resultados gráficos obtenidos en esta sección son rudimentarios
pero su objetivo ha sido mostrar las técnicas básicas que se podrı́an utilizar
para definir nuevas funciones en el Mathematica que permitan trazar gráficos
en E4 .
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E4
89
Figura 1.105
1.19 Trazado de objetos gráficos inmersos en E4
En la esta sección se apreciarán proyecciones de objetos gráficos de
E en E3 hechas con las técnicas propuestas en la sección previa, pues el
Mathematica no incorpora ninguna función para tal fin.
4
En E4 es posible encontrar objetos gráficos de dimensión 0: puntos,
dimensión 1: lı́neas (rectas o curvas), dimensión 2: superficies y sólidos e
hipersólidos (confinados a E4 , sin escapar a E5 ).
Mathematica
Fijado de valores para la opción Axes de la función Graphics3D.
In[228]:=
SetOptions[Graphics3D, Axes → True];
Mathematica
Proyecciones de ~i, ~j, ~k y ~l
In[229]:=
M
n = {pi, pj, pk, pl} =
o
− 5√3 3 , − 5√3 3 , − 5√3 3 , {1, 0, 0} , {0, 1, 0} , {0, 0, 1} ;
Mathematica
Definición de la proyección P
In[230]:=
P [{p1 , p2 , p3 , p4 }]:={p1, p2, p3, p4}.M
90
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.106
Mathematica
√ √
√
Trazado de la proyección de los puntos (−1, −2, −1, 1) , − 2, 1, 0, −1 , 3, 21 , 41 , 5 ,
1, −1, − 21 , 0 .
In[231]:=
Out[231]=
Graphics3D[{(Arrow[{{0, 0, 0}, 2#}]&)/@M,
AbsolutePointSize[7],
RGBColor[0.4,
√ 0.5, 0.7],
Point P /@ {−1, −2, −1, 1}, − 2, 1, 0, −1 ,
√ 1 1 √
3, 2 , 4 , 5 , 1, −1, − 12 , 0
Ver figura 1.106 (izquierda)
Mathematica
Puntos solución de un sistema de cuatro ecuaciones y cuatro variables (intersección de
cuatro sólidos) almacenados en la variable pts.
In[232]:=
pts = Solve [w 2 + x2 + y 2 + z 2 = 2 ∧ −w 2 + x2 − y 2 + z 2 = 1∧
−w 2 + x − y 2 + z = 1 ∧ −w + x2 − y + z 2 = 1, {x, y, z, w}] /.
(var → val ) :> val;
Mathematica
Trazado de la proyección de los puntos pts.
In[233]:=
Out[233]=
Graphics3D[{(Arrow[{{0, 0, 0}, 2#}]&)/@M,
AbsolutePointSize[7], RGBColor[.4, .5, .7], Point[P /@pts]}]
Ver figura 1.106 (derecha)
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E4
91
Figura 1.107
Mathematica
Trazado de la proyección de la lı́nea que une los puntos (−1, −1, −1, 0.5) , 2, 2, 21 , 1 .
In[234]:=
Out[234]=
Graphics3D[{(Arrow[{{0, 0, 0}, 2#1}]&)/@M,
Thick, RGBColor[0.4, 0.5, 0.7],
Line[P /@{{−1, −1, −1, 0.5}, 2, 2, 12 , 1 }]}]
Ver figura 1.107 (izquierda)
Mathematica
Solución de un sistema de tres ecuaciones con cuatro variables (intersección de tres sólidos).
In[235]:=
cc = h
2
2
Solve x2 + y 2 + z 2 + w 2 = 1 ∧ x − 21 + y − 21 + z 2 = 14 ∧
i
1
1 2
2
2
x − 2 + y − z = 8 , {x, y, z, w} /.
{y → yx , z → zx , w → wx } :→ {x, yx, zx, wx};
Mathematica
Trazado de la proyección del conjunto cc.
In[236]:=
Out[236]=
Show[
Graphics3[{(Arrow[{{0, 0, 0}, #}]&)/@M}],
ParametricPlot3D[P /@cc, {x, −1, 2}]
]
Ver figura 1.107 (derecha)
92
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.108
Mathematica
Trazado de la proyección de la función (t) → (sin(t), cos(t), sin(2t), cos(2t)).
In[237]:=
Out[237]=
Show[
Graphics3D[{(Arrow[{{0, 0, 0}, 2#}]&/@M}],
ParametricPlot3D[P [{Sin[t], Cos[t], Sin[2t], Cos[2t]}],
{t, 0, 2π}]
]
Ver figura 1.108 (izquierda)
Mathematica
Solución de un sistema de dos ecuaciones con cuatro variables (intersección de dos sólidos).
In[238]:=
ss = h
2
2
Solve w 2 + x2 + y 2 + z 2 = 1 ∧ x − 21 + y − 12 + z 2 = 41 ,
{x, y, z, w}]/.{z → zxy , w → wxy } :> {x, y, zxy, wxy};
Mathematica
Trazado de la proyección del conjunto ss. Este conjunto es la extensión de la curva de
Viviani
In[239]:=
Out[239]=
Show[
Graphics3[{(Arrow[{{0, 0, 0}, #}]&)/@M}],
ParametricPlot3D[P /@ss, {x, −1, 2}, {y, −1, 2}]
]
Ver figura 1.108 (derecha)
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E4
93
Mathematica
Trazado de la proyección de la función (u, v) → u + v, u − v, u2 − v 2 , uv .
In[240]:=
Out[240]=
Show[
Graphics3D[{Arrow[{{0, 0, 0}, 6#}]&/@M}],
ParametricPlot3D [P [{u + v, u − v, u2 − v 2 , uv}] ,
{u, −2, 2}, {v, −2, 2}]
]
Ver figura 1.109 (izquierda)
Mathematica
Definición de la función F : C → C, F = z 2 .
In[241]:=
F [z ]:=z 2
Mathematica
Definición de una regla de transformación para simplificar entradas de funciones complejas
de variable compleja.
In[242]:=
crule = {a , b } :> P [Flatten[ReIm[{a, b}]]];
Mathematica
Trazado de la proyección de la función F : C → C, F = z 2 .
In[243]:=
Out[243]=
Show[
Graphics3D[{(Arrow[{{0, 0, 0}, 6#}]&/@M}],
ParametricPlot3D[{u + iv, F [u + iv]}/. crule,
{u, −1, 1}, {v, −1, 1}]
]
Ver figura 1.109 (derecha)
Mathematica
Trazado de la proyección de la solución de un sistema de una ecuación y cuatro variables
(un sólido).
In[244]:=
Out[244]=
ImplicitPlot4D [x2 + y 2 + z 2 − w = 0, {x, −2, 2}, {y, −2, 2},
{z, −2, 2}, {w, 0, 4}]
Ver figura 1.110 (izquierda)
94
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.109
Figura 1.110
Mathematica
Trazado de la proyección de la solución de un sistema de una ecuación y cuatro variables
(un sólido).
In[245]:=
Out[245]=
ImplicitPlot4D [x2 + y 2 + z 2 − w 2 = 0, {x, −2, 2}, {y, −2, 2},
{z, −2, 2}, {w, −4, 4}]
Ver figura 1.110 (derecha)
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E4
95
Figura 1.111
Mathematica
Interpretación geométrica de la derivada de la función F =
(−0.5 − 0.5i) de su dominio.
In[246]:=
Out[250]=
z 2 en el punto (z0 ) =
F [z ]:=z 2
z0 = −0.5 − 0.5i;
Pt[z ]:=(z − z0)F ′ [z0] + F [z0]
d = 0.75;
Show[
Graphics3D[{Arrow[{{0, 0, 0}, 3#}]&/@M}],
Graphics3D[{PointSize[Large], Point[{z0, F [z0]}/. crule]}],
ParametricPlot3D[{u + iv, F [u + iv]}/. crule,
{u, −1, 1}, {v, −1, 1}],
ParametricPlot3D[{u + iv, Pt[u + iv]}/. crule,
{u, ℜ[z0] − d, d + ℜ[z0]}, {v, ℑ[z0] − d, d + ℑ[z0]},
PlotStyle → Directive[Opacity[0.8], Blue]]
]
Ver figura 1.111
96
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
La proyección de la gráfica de las funciones complejas de variable
compleja, esto es funciones que van de C en C, ofrece la posibilidad de añadir
la interpretación geométrica como una herramienta más para estudiar las
propiedades de las mismas [27, 29]. Por ejemplo, el código previo muestra la
simulitud en el cálculo del plano tangente a la gráfica de una función compleja
( In[246] ) y de la recta tangente a una función real ( In[77] ).
En la figura 1.112 se muestran:
1. trazado de la función f = (x2 ) transformando el intervalo [0.25, 0.75],
2. el trazado de la gráfica de la función f = (x2 ) remarcando el intervalo
[0.25, 0.75] y su respectiva imagen (se dibuja en color rojo la porción
del gráfica de la función involucrada en la transformación),
3. el trazado de la función F = (z 2 ) transformando la región −1 ≤ ℜ(z) ≤
1 ∧ −1 ≤ ℑ(z) ≤ 1, y
4. el trazado de la gráfica de la función F = (z 2 ) remarcando la región
−1 ≤ ℜ(z) ≤ 1 ∧ −1 ≤ ℑ(z) ≤ 1 y su respectiva imagen (se dibuja
en color rojo la porción del gráfica de la función involucrada en la
transformación).
Al realizar la comparación entre las gráficas se entiende que el trazado que
aparece en los textos tradicionales de variable compleja no permite interpretar adecuadamente la gráfica de una función compleja.
A continuación se muestra el trazado de la proyección de la gráfica
de otros objetos inmersos en E4 .
Mathematica
Trazado de la proyección de la curva (u) → u, u2 , u3 , u2/3 .
In[251]:=
Out[251]=
Show[
Graphics3D[{Arrow[{{0,
1.3#}]&/@M}],
0, 0},
2
ParametricPlot3D P u, u , u3 , u2/3 , {u, −1, 1}
]
Ver figura 1.113 (izquierda)
Mathematica
Definición de la función f = x2 + y 2 + z 2 .
In[252]:=
f [x , y , z ]:=x2 + y 2 + z 2
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN E4
Figura 1.112
97
98
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.113
Figura 1.114
Mathematica
Trazado de la proyección de (u) → u + 1, 1 − u, u2 , f u + 1, 1 − u, u2 .
In[253]:=
Out[253]=
Show[
Graphics3D[{Arrow[{{0, 0, 0}, 1.3#}]&/@M}],
ParametricPlot3D [P [{u + 1, 1 − u, u2 , f [u + 1, 1 − u, u2 ]}] ,
{u, −1, 1}]
]
Ver figura 1.113 (izquierda)
TRAZADO DE GRÁFICOS INMERSOS EN En
99
Mathematica
Trazado de la proyección de (u, v) → (v sin(u), v sin(2u), cos(u) sin(v), f (v sin(u), v sin(2u),
cos(u) sin(v)).
In[254]:=
Out[254]=
Show[
Graphics3D[{Arrow[{{0, 0, 0}, 1.3#}]&/@M}],
ParametricPlot3D[P [{vSin[u], vSin[2u], Cos[u]Sin[v],
f [vSin[u], vSin[2u], Cos[u]Sin[v]]}], {u, 0, 2π}, {v, 0, 1}]
]
Ver figura 1.114 (izquierda)
Mathematica
Trazado de la proyección de (u, v, w) → u, v, w, u2 + v 2 + w2 .
In[255]:=
Out[255]=
Show[
Graphics3D[{Arrow[{{0, 0, 0}, 1.3#}]&/@M}],
ParametricPlot3D [P [{u, v, w, u2 + v 2 + w 2 }] //Evaluate ,
{u, −1, 1}, {v, −1, 1}, {w, −1, 1}]
]
Ver figura 1.114 (derecha)
1.20 Trazado de gráficos inmersos en En
Uilizando la técnica basada en la extensión del teorema de Pohlke
es posible trazar las proyecciones de gráficas espacios de dimensión mayor a
cuatro. El gran problema está en que las proyecciones se harán en realidad
sobre pantallas 2D; salvo cuando ya estén disponibles las “pantallas” 3D,
aunque aún ası́ no se sorteará en definitiva este problema. Esto último dificultará bastante la visualización de los diversos objetos, más aún cuando la
dimensión sea mucho mayor (como siete u once, por ejemplo). Pero, por el
momento estas son las herramientas con las que contamos y tendremos que
adaptarnos a ellas.
En la sección previa se trazó la proyección de la gráfica de una función de C en C, especı́ficamente la función F = (z 2 ). No obstante, la técnica
presentada en este libro nos ha permitido atrevernos a trazar funciones C en
C2 , cuya gráfica es un subconjunto de C3 isomorfo a E6 . A la vez, la visualización de esta gráfica nos anima, por ası́ decirlo, a estudiar al geometrı́a
diferencial de estas superficies.
100
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
α
1.0
0.5

0.0
,
,

-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Figura 1.115
Mathematica
Definición de una regla de transformación para simplificar entradas de funciones complejas
de variable compleja.
In[256]:=
crule = {a , b } :> P [Flatten[ReIm[{a, b}]]];
Mathematica
Definción de la función de C en C2 , α = (cos(z), sin(z)).
In[257]:=
Mathematica
Trazado de la proyección de α = (cos(z), sin(z)). Las funciones coordenadas de esta función
nos hacen recordar a la parametrización de la circunferencia α = (cos(t), sin(t)).
In[258]:=
Out[258]=
{ParametricPlot[ReIm[u + iv], {u, −1, 1}, {v, −1, 1}], TO[α],
Show[
Graphics3D[{Arrow[{{0,
0, 0}, 2.5#}]&/@M}],
ParametricPlot3D α[u + iv]/. crule, {u, 0, 2π}, v, 0, π2 ,
ColorFunction → (ColorData[Rainbow][#4]&)]
]}
Ver figura 1.115
A continuación se explica un procedimiento de obtener proyecciones
de objetos gráficos inmersos en E5 sobre E3 (en realidad sobre una pantalla
2D). El procedimiento consiste en realizar la composición de proyecciones de
TRAZADO DE GRÁFICOS INMERSOS EN En
101
E5 sobre E4 y luego sobre E3 , mediante el producto de las matrices asociadas
a tales proyecciones.
Mathematica
Fijado del valor de la opción Axes de la función incorporada Graphics3D.
In[259]:=
SetOptions[Graphics3D, Axes → True];
Mathematica
Matriz asociada a una proyección de E4 sobre E3 .
In[260]:=
M
q
nn= √
o n √ q
o n √
o
o
1
3
3
− 2 , − 2 , − 3 , − 23 , 32 , − 13 , 2 3 2 , 0, − 13 , {0, 0, 1} ;
Mathematica
Matriz asociada a una proyección de E5 sobre E4 .
In[261]:=
M5
=
− 12 , − 12 , − 12 , − 12 , {1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1} ;
Mathematica
Definición de una proyección de E5 sobre E3 .
In[262]:=
P5({p1 , p2 , p3 , p4 , p5 }):={p1, p2, p3, p4, p5}.M5.M
Mathematica
Proyección del punto (1, 1, 1, 1, 1).
In[263]:=
Out[263]=
P5[{1, 1, 1, 1, 1}]
n√
o
√
2
3
−
,
0,
0
3
2
Mathematica
Trazado de la proyección del punto (1, 1, 1, 1, 1).
In[264]:=
Out[264]=
Graphics3D[{Point[P5({1, 1, 1, 1, 1})],
MapThread[Text[#1, #2]&, {{X1, X2, X3, X4, X5}, M5.M}],
(Arrow[{{0, 0, 0}, #1}]&)/@(M5.M)}]
Ver figura 1.116 (iquierda)
102
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Figura 1.116
Mathematica
Trazado de la proyección de (t) → sin(t), cos(t), sin(2t), cos(2t), 6t .
In[265]:=
Out[265]=
Show[
Graphics3D[{Arrow[{{0, 0, 0}, 2#}]&/@(M5.M),
MapThread[Text[#1,
{{X1, X2, X3, X4, X5}, M5.M}]}],
2#2]&,
ParametricPlot3D P5 Sin[t], Cos[t], Sin[2t], Cos[2t], 6t ,
{t, 0, 4π}]
]
Ver figura 1.116 (derecha)
Mathematica
Trazado de la proyección de (u, v) → (cos(u) cos(v), sin(u) cos(v), sin(v), cos(2u) cos(2v),
sin(2u) cos(2v)).
In[266]:=
Out[266]=
Show[
Graphics3D[{Arrow[{{0, 0, 0}, 2#}]&/@(M5.M),
MapThread[Text[#1, 2#2]&, {{X1, X2, X3, X4, X5}, M5.M}]}],
ParametricPlot3D[P5[{Cos[u]Cos[v], sin[u]Cos[v], Sin[v],
Cos[2u]Cos[2v],
Sin[2u]Cos[2v]}],
{u, 0, 2π}, v, − π2 , π2
]
Ver figura 1.117 (izquierda)
TRAZADO DE GRÁFICOS INMERSOS EN En
103
Figura 1.117
Mathematica
Trazado de la proyección de (u, v) → (cos(u) cos(v), sin(u) cos(v), sin(v), cos(2u) cos(2v),
sin(2u) cos(2v)).
In[267]:=
Out[267]=
Show[
Graphics3D[{Arrow[{{0, 0, 0}, 2#}]&/@(M5.M),
MapThread[Text[#1, 2#2]&, {{X1, X2, X3, X4, X5}, M5.M}]}],
ParametricPlot3D[P5[{Cos[u]Cos[v]Cos[w],
Sin[u]Cos[v]Cos[w],
w
Sin[v]Cos[w], Sin[w], 4 //Evaluate,
{u, 0, 4π}, {v, 0, 4π}, {w, 0, 4π}]
]
Ver figura 1.117 (derecha)
El procedimiento explicado previamente no debe aturdir al lector. De
hecho, basta con elegir un número de vectores igual al número de vectores
de la base del espacio que se quiere proyectar. Esto se entiende mejor si se
extiende el teorema de Pohlke.
Teorema 2.
(Extensión de teorema de Pohlke)
n lı́neas de cualquier longitud que parten de un punto en Em (m < n) formando diferentes ángulos siempre se pueden considerar como una proyección paralela (sesgada) de n lı́neas de la misma longitud perpendiculares
entre sı́.
104
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
Con base en esta nueva versión del teorema de Pohlke es posible
considerar cinco vectores elejidos al azar para definir una proyección de E5
sobre E3 .
Mathematica
Matriz asociada a una proyección de E5 sobre E3 .
In[268]:=
Out[268]=
M5 = Normalize/@RandomReal[{−10, 10}, {5, 3}]
{{−0.854, −0.504, −0.120}, {0.0763, −0.701, 0.708},
{−0.338, 0.4, −0.851}, {−0.033, −0.54, −0.84},
{−0.437, −0.856, −0.273}}
Mathematica
Definición de una proyección de E5 sobre E3 .
In[269]:=
P5[{p1 , p2 , p3 , p4 , p5 }]:={p1, p2, p3, p4, p5}.M5
Mathematica
Proyección del punto (1, 1, 1, 1, 1).
In[270]:=
Out[270]=
P5[{1, 1, 1, 1, 1}]
{−1.58769, −2.20275, −1.37768}
Mathematica
Trazado de la proyección del punto (1, 1, 1, 1, 1).
In[271]:=
Out[271]=
Graphics3D[{Point[P5({1, 1, 1, 1, 1})],
MapThread[Text[#1, #2]&, {{X1, X2, X3, X4, X5}, M5}],
Arrow[{{0, 0, 0}, #}]&/@M5}]
Ver figura 1.118 (iquierda)
Mathematica
Trazado de la proyección de (u, v) → (cos(u) cos(v), sin(u) cos(v), sin(v), cos(2u) cos(2v),
sin(2u) cos(2v)).
In[272]:=
Out[272]=
Show[
Graphics3D[{Arrow[{{0, 0, 0}, 2#}]&/@M5,
MapThread[Text[#1, 2#2]&, {{X1, X2, X3, X4, X5}, M5}]}],
ParametricPlot3D[P5[{Cos[u]Cos[v], sin[u]Cos[v], Sin[v],
Cos[2u]Cos[2v],
Sin[2u]Cos[2v]}],
{u, 0, 2π}, v, − π2 , π2
]
Ver figura 1.118 (derecha)
EJERCICIOS
105
Figura 1.118
1.21 Ejercicios
1. Demuestre el teorema de Pohlke extendido.
2. Defina una proyección de E3 sobre E2 designando los ejes de forma
similar a como se aprecia en la figura 1.52.
3. Defina una proyección de E3 sobre E2 , eligiendo dos lados concurrentes
de un cuadrado y la prolongación de la diagonal “hacia adentro” como
proyecciones de ~i, ~j y ~k (vectores canónicos). Designe los ejes de forma
similar a como se aprecia en la figura 1.51.
4. Proyecte diversos objetos gráficos con las proyecciones definidas en los
dos ejercicios previos.
5. Con base en la extensión del teorema de Pohlke y guiándose de In[268]
defina una proyección de de E3 sobre E2 . Proyecte diversos objetos
gráficos con esta proyección.
6. De acuerdo con
definidos.
In[126]
, aplique rotación a los sistemas previamente
7. Defina una proyección de E4 sobre E3 designando los ejes de forma
similar a como se aprecia en la figura 1.100.
8. Defina una proyección de E4 sobre E3 , eligiendo tres aristas concurrentes de un cubo y la prolongación de la diagonal “hacia adentro” como
proyecciones de ~i, ~j, ~k y ~l (vectores canónicos). Designe los ejes de
forma similar a como se aprecia en la figura 1.100.
106
TRAZADO DE OBJETOS GRÁFICOS INMERSOS EN En
9. Proyecte diversos objetos gráficos con las proyecciones definidas en los
dos ejercicios previos.
10. Con base en la extensión del teorema de Pohlke y guiándose de In[268]
defina una proyección de de E4 sobre E3 . Proyecte diversos objetos
gráficos con esta proyección.
11. De acuerdo con
definidos.
In[227]
, aplique rotación a los sistemas previamente
12. Defina una proyección de E6 sobre E3 eligiendo las proyecciones de los
vectores canónicos en forma aelatoria.
13. Proyecte diversos objetos gráficos con la proyección definida en el ejercicio previo.
14. De acuerdo con
definidos.
In[227]
, aplique rotación a los sistemas previamente
15. Defina una proyección de E7 sobre E3 eligiendo las proyecciones de los
vectores canónicos en forma aelatoria.
16. Proyecte diversos objetos gráficos con la proyección definida en el ejercicio previo.
17. Deduzca una parametrización para el conjunto que es la extensión de
la curva de Viviani ( In[239] ).
Referencias
[1] Anto, L.: Aproximación de los ceros de funciones continuas de varias
variables reales y valor real mediante el método de bisección con
el Mathematica, Tesis de Pregrado, http://repositorio.unp.edu.
pe/bitstream/handle/UNP/1892/CIE%20-%20ANT%20-%20MIM%20%202019.pdf?sequence=1&isAllowed=y. Último acceso 01 de Abril de
2020
[2] AT&T Tech Channel: One of the First Computer-Generated Films,
https://youtu.be/RocLdMyUG-4. Último acceso 23 de Marzo de 2020
[3] Carlbom, I. and Paciorek, J.: Planar Geometric Projections and Viewing
Transformations. ACM Computing Surveys, 10 no. 4, 465–502 (1978)
[4] Clements, A.: History of the Computer, http://www.cengage.com/
resource_uploads/\downloads/1111987041_374938.pdf. Last accessed 10 Feb 2020
[5] 4D Euclidean space Homepage, http://eusebeia.dyndns.org/4d/
index. Último acceso 18 de Marzo de 2020
[6] Descartes, R.: La géométrie. Paris: Charles Angot (1664)
[7] Fraguas, A.: El arte rupestre prehistórico de África nororiental: nuevas
teorı́as y metodologı́as. CSIC - CSIC Press (2009)
[8] Gomes, A.: Implicit Curves and Surfaces: Mathematics, Data Structures
and Algorithms. Springer-Verlag, London (2009)
[9] Gray, J.: Mastering Mathematica: Programming Methods and Applications. Academic Press, Inc., USA (1994)
108
REFERENCIAS
[10] Gruffroy, J.: El arte rupestre del antiguo Perú. Institut français d’études
andines, https://horizon.documentation.ird.fr/exl-doc/pleins_
textes/divers11-03/010019462.pdf (2015)
[11] Hoffmann, C. y Zhou, J.: Visualization of Surfaces in Four-Dimensional
Space. Purdue University, USA. Report Number 90-960 (1990)
[12] Khan Academy Homepage: Rotating 3D shapes, https://
www.khanacademy.org/computing/computer-programming/
programming-games-visualizations/programming-3d-shapes/a/
rotating-3d-shapes. Último acceso 09 de Abril de 2020
[13] Lehmann, C.: Analytic Geometry (Sixth printing). John Wiley, NY
(1947)
[14] Lindgren, C. E. and Slaby S. M.: Four dimensional descriptive geometry.
McGraw-Hill, NY (1968)
[15] Manfrin, R.: A proof of Pohlke’s theorem with an analytic determination
of the reference trihedron. Journal for Geometry and Graphics 22 no. 2,
195-205 (2017)
[16] Maor, E.: e: historia de un número. Libraria (2006)
[17] Moravcová, V.: History of descriptive geometry with an emphasis to the
boom of descriptive geometry in Austro-Hungarian Empire in the 19th
century. Journal for Geometry and Graphics (2014)
[18] Miwa, T. et al: 4D Spatial Perception Established through Hypercube Recognition Tasks Using Interactive Visualization System with 3-D
Screen. Proceedings of the ACM SIGGRAPH Symposium on Applied
Perception, 75-82 (2015)
[19] O’Neill, B.: Elementos de Geometrı́a Diferencial. Editorial LimusaWiley, S. A. (1972)
[20] Rovenski, V.: Geometry of curves and surfaces with MAPLE.
Birkhäuser, Boston (2000)
[21] Sakay, Y. y Hashimoto, S.: Interactive Four-Dimensional Space Visualization Using Five-Dimensional Homogeneous Processing for Intuitive
Understanding. The Journal of The Institute of Image Information and
Television Engineers, 60 no. 10, 1630-1647 (2006)
[22] Schreiber, P.: Generalized Descriptive Geometry. Journal for Geometry
and Graphics, 6 no. 1, 37-59 (2002)
[23] Stack Overflow Homepage: Plotting a number line in Mathematica,
https://stackoverflow.com/questions/6797651/
plotting-a-number-line-in-mathematica. Último acceso 21 de
Marzo de 2020
[24] The Computer Graphics Book Of Knowledge Homepage: History
of Computer Graphics (CG), https://www.cs.cmu.edu/~ph/nyit/
masson/history.htm. Último acceso 23 de Marzo de 2020
[25] 3D Pen Lab: Making The Great Deku Tree, https://youtu.be/
zSGZ-8c0FxE. Último acceso 23 de Marzo de 2020
[26] VintageCG: Sketchpad 3D Graphics, https://youtu.be/t3ZsiBMnGSg.
Último acceso 23 de Marzo de 2020
[27] Wugi’s QBComplex Homepage: QBasic en anders gecodeerd gepeins over
Complexe Functies, http://home.scarlet.be/wugi/qbComplex.html.
Último acceso 09 de Abril de 2020
[28] Wolfram, S.: Una introducción Elemental a Wolfram Language (2da.
edición). Wolfram Media, Incorporated, https://www.wolfram.com/
language/elementary-introduction/2nd-ed/index.html.es (2020)
[29] Zachariáš, S. and Velichová, D.: Projection from 4D to 3D. Journal for
Geometry and Graphics, 4 no. 1, 55-69 (2000)
REFERENCIAS
Josel Antonio Mechato Durand
(Piura, 02 de enero de 1985),
matemático peruano por la
Universidad Nacional de Piura
(UNP).
Cursó
sus
estudios
universitarios en la Universidad
Nacional de Piura. Obtuvo su
título de licenciado en Ciencias
Matemáticas y su grado de
magíster en Matemática Aplicada en la misma universidad en
los
años
2013
y
2017,
respectivamente.
Ha participado como expositor
de
conferencias
y
talleres
relacionados con geometría y
cálculo simbólico en diferentes
eventos
científicos
a
nivel
nacional, con sedes en ciudades
como:
Lima,
Tingo
María,
Trujillo, Callao, etc.
En el año 2015 es invitado, por
dos de sus exprofesores con
quienes comparte la autoría de
este libro, a participar como
colaborador en el Grupo de
Investigación en Geometría y
Cálculo Simbólico (GIGYCS-UNP)
logrando
realizar
notables
contribuciones; esto le permite
participar como coautor del
artículo "A Mathematica Package
for Visualizing Objects Inmersed
in R4", publicado en la revista
Ciencia Computacional y sus
Aplicaciones - ICCSA 2019.
Actualmente es catedrático de la
Universidad
Privada
Antenor
Orrego, sede Piura, y miembro
activo del GIGYCS-UNP.
Ricardo Velezmoro León, es un
matemático peruano que nació
en Paiján-La Libertad, Perú, en
1961. Obtiene el grado de
bachiller en Ciencias Físicas y
Matemáticas por la Universidad
Nacional de Trujillo en el año de
1987. En el mismo año obtiene
su Licenciatura en Matemática.
En 1988 accede a la cátedra en
la Universidad Santiago Antúnez
de Mayolo. después de casi tres
años recibe una propuesta para
postular a la catedra en la
Universidad Nacional de Piura,
lográndolo en el año de 1990.
Concluyó los estudios de Maestría en Matemática Aplicada en
la Universidad Nacional de Piura
en 2010 y el doctorado en
Ciencias de la educación el año
2014.
En su actividad profesional se le
ha reconocido el modelo para
visualizar objetos matemáticos
en la cuarta dimensión trabajo
realizado en conjunto con Robert
Ipanaqué Chero y Josel Mechato
Durand, con quienes investiga
actualmente. Este trabajo fue
expuesto
en
el
ámbito
internacional en la ciudad de
San Petersburgo – Rusia –
ICCSA 2019.
Actualmente sigue trabajando en
la Universidad Nacional de Piura
como docente principal adscrito
al Departamento de Matemática
y dedica gran parte de su
investigación en forma exhaustiva a algunos proyectos de
geometría y análisis vectorial,
junto con los integrantes del
Grupo
de
Investigación
en
Geometría y Cálculo Simbólico
(GIGYCS-UNP).
Back cover
Robert Ipanaqué Chero, docente
adscrito al Departamento de
Matemática de la Universidad
Nacional de Piura (UNP), nació
en Piura en el año 1970. Inició
sus estudios universitarios en la
Facultad de Ciencias Físicas y
Matemáticas de la UNP en el año
1993. Egresó en 1998 con el
grado de bachiller en Matemática. Se tituló como licenciado en
Matemática en 2000 y se inició
en la cátedra en la UNP en 2001.
Se gestó una formación autodidacta, desde el año 1997, en
el uso y programación en los
sistemas de cálculo simbólico
(SCS): Mathematica, Maple y
Maxima; logrando realizar contribuciones en las páginas oficiales de dichos sistemas; así
como, publicaciones de libros y
artículos nacionales e internacionales.
A partir del año 2003, bajo la
tutela de su exprofesor el Dr.
Ricardo Velezmoro León, se
inicia en la cátedra del curso
Geometría
Diferencial
(GD).
Gracias a su apasionamiento por
este curso y a las nuevas ideas
propuestas por Velezmoro se
embarcan en la investigación en
GD con SCS. En el año 2019
logran publicar, conjuntamente
con un exalumno en común
(Josel A. Mechato Durand), un
primer artículo: "A Mathematica
Package for Visualizing Objects
Inmersed in R4"; el cual fue
disertado en San Petersburgo,
Rusia, en julio del mismo año.
Actualmente, integra el Grupo
de Investigación en Geometría y
Cálculo Simbólico (GIGYCS-UNP)
con cuyos miembros trabaja en
equipo en la elaboración de más
artículos para ser disertados y
publicados en eventos internacionales.
Download