Está en la página 1de 74

UNIVERSIDAD POLITÉCNICA DE

CARTAGENA

Escuela Técnica Superior de Ingeniería Industrial

Desarrollo e implementación de un
software para la representación gráfica
de geometría matemática para su
aplicación docente.

TRABAJO FIN DE GRADO

GRADO EN INGENIERÍA MECÁNICA

Autor: FRANCISCO JOSÉ JIMÉNEZ


MORENO
Director: DOLORES PARRAS BURGOS

Cartagena, diciembre 2022


Contenido
1.- Introducción............................................................................................................................2
1.1- Introducción......................................................................................................................2
1.2- Antecedentes...................................................................................................................2
1.3- Objetivo............................................................................................................................4
2.-Programación...........................................................................................................................5
2.1-Programación, necesaria para realizar el proyecto............................................................5
2.2-Análisis de los lenguajes de programación.........................................................................5
2.3-Elección del lenguaje........................................................................................................12
3.- Processing.............................................................................................................................13
3.1- ¿Qué es processing?......................................................................................................13
3.2- ¿Por qué processing?.....................................................................................................14
4.-Desglose de herramientas para llevar a cabo la interacción y representación......................16
4.1- Librería PeasyCam.........................................................................................................16
4.2- Creación de los ejes x, y, z...............................................................................................17
4.3- Representació n de puntos............................................................................................19
4.4- Representació n de rectas..............................................................................................19
4.5- Representació n de planos.............................................................................................20
4.6- Introducció n de los datos del enunciado.....................................................................22
5.-Resolución de ejercicios.........................................................................................................26
6. Aplicación GeoGebra en la docencia......................................................................................27
7.- Comparación processing versus GeoGebra...........................................................................30
7.1- Resolució n pdf relació n de ejercicios...........................................................................30
7.2- Solución del ejercicio con processing..............................................................................31
7.3- resolució n del ejercicio propuesto con GeoGebra.......................................................32
7.4- Desventajas de utilizar GeoGebra para resolver el ejercicio.......................................35
7.5- Comparació n processing vs Geogebra.........................................................................35
8.- Guía de funcionamiento del proyecto...................................................................................36
9.- Puntos a mejorar del proyecto..............................................................................................37
10.- Otras posibles aplicaciones de processing al estudio de diédrico.......................................38
11.- Conclusiones.......................................................................................................................41
12.- Bibliografía..........................................................................................................................42
13.- Anexos.................................................................................................................................43
Contenido Índice de ilustraciones.
Ilustración 1. Logo lenguaje c.......................................................................................................6
Ilustración 2. Logo lenguaje c++...................................................................................................7
Ilustración 3. Logo lenguaje java..................................................................................................8
Ilustración 4. Logo lenguaje python.............................................................................................9
Ilustración 5. Logo lenguaje JavaScript.......................................................................................10
Ilustración 6. Logo lenguaje Visual Basic....................................................................................11
Ilustración 7. Logo lenguaje Processing......................................................................................12
Ilustración 8. Ejes cartesianos....................................................................................................19
Ilustración 9. Representación plano en processing....................................................................22
Ilustración 10. Entrada datos ejericicio......................................................................................25
Ilustración 11. Entrada datos ejericicio......................................................................................25
Ilustración 12. Interfaz GeoGebra..............................................................................................28
Ilustración 13. Interfaz GeoGebra..............................................................................................29
Ilustración 14. Ejercicio resuelto en processing, distancia entre dos rectas que se cruzan vista 1.
...................................................................................................................................................31
Ilustración 15. Ejercicio resuelto en processing, distancia entre dos rectas que se cruzan vista 2.
...................................................................................................................................................32
Ilustración 16.Rresolución de ejercicio distancia entre dos rectas en Geogebra procedimiento
1.................................................................................................................................................33
Ilustración 17. Solución de ejercicio distancia entre dos rectas en Geogebra procedimiento1. 33
Ilustración 18. Resolución de ejercicio distancia entre dos rectas en Geogebra procedimiento 2.
...................................................................................................................................................34
Ilustración 19. Solución de ejercicio distancia entre dos rectas en Geogebra procedimiento2. 34
Ilustración 20. Solución en el espacio de ejercicio distancia entre dos rectas paralelas diédrico
en processing.............................................................................................................................39
Ilustración 21. Solución en el plano de ejercicio distancia entre dos rectas paralelas diédrico en
processing .................................................................................................................................40

1
1.- Introducció n
1.1- Introducción
Los últimos tres años he estado impartiendo clases de ciencias, durante algunas clases
me permitía el gusto de resolver algunos ejercicios de geometría en el espacio en
GeoGebra, me percaté que algunos alumnos les ayudaba el poder visualizar la
resolución gráfica.

Además, otros simplemente el hecho de poder comprobar la solución numérica y


espacial posibilitaba crear una conexión con la asignatura, despertando así un mayor
afecto hacia la materia.

En la introducción del tema de intersección y distancias planteaba con los alumnos la


resolución en el espacio, para luego posteriormente continuar con la analítica, lo cual
mejoraba notablemente como abordar el problema, con ello conseguía desarrollar la
capacidad de análisis y evitar que memorizasen los pasos necesarios para solucionar los
ejercicios.

Sin embargo, el proceso de meter los datos del enunciado conllevaba demasiado tiempo,
tampoco es un programa que ellos pudieran utilizar con sencillez ya que el hecho de
aprender a introducir puntos, rectas, planos, medir distancias… a pesar de no ser
demasiado tedioso, era lo suficiente como para que ellos no lo realizaran por su cuenta.

Pese a mi sugerencia de que se descargaran el programa y lo utilizasen de apoyo ningún


alumno lo hizo.

Con ello surgió la necesidad de hacer este pequeño software teniendo como prioridad
que fuera de uso sencillo. Esto sumado a que tenía pendiente mi TFG se me ocurrió el
poder llevarlo a cabo, ya que de otro modo no lo hubiera hecho.

1.2- Antecedentes
Existen multitud de programas matemáticos, algunos de ellos están orientados para la
comprensión y el entendimiento de las matemáticas como puede ser GeoGebra, ya que
incluye una resolución gráfica, otros son simple herramientas de cálculo que apoyan el
estudio y facilitan el trabajo. Dentro del abanico de estos programas destacaría dos por
encima del resto por su popularidad y aplicaciones, GeoGebra y Maxima.

A continuación, se explican estos dos programas.

• GeoGebra. Se trata de un software matemático orientado a la docencia y el


aprendizaje, que puede llegar a cubrir incluso altos niveles educativos. GeoGebra

2
permite resolver cálculos, representación de gráficas, aplicaciones estadísticas y lo más
importante la representación de geometría tanto en el espacio como en el plano.
GeoGebra dispone también de un apartado en su web de ejercicios, actividades,
simulaciones, lecciones y juegos creados por la comunidad de GeoGebra.

La comunidad de GeoGebra está formada por millones de usuarios distribuidos por todo
el mundo. Es el principal software matemático educativo, por resolver desde simples
demostraciones hasta ejercicios de mayor complejidad.

A pesar de que en 2021, BYJU compró GeoGebra el software continuó siendo de libre
uso con todas sus funciones y herramientas como GeoGebra Classroom donde se puede
evaluar el progreso de los alumnos.

La función principal de GeoGebra o su mayor cualidad es la de poder relacionar


ecuaciones geométricas con su respectivo objeto, permitiendo asociar estas dos ramas
de la geometría generando así un dinamismo en la materia por lo que permite captar a
más adeptos.

El software está disponible para Mac, Pc y tabletas. También tenemos la posibilidad de


abrir GeoGebra desde su web sin necesidad de descargar e instalarlo, aunque la
experiencia para el usuario es sensiblemente peor.

• Maxima. Es un software orientado a cálculo programado en Lisp, la principal ventaja


de máxima es que permite ahorrar tiempo en resolver todo tipo de ecuaciones de menor
y mayor complejidad. Permite operar con diferenciales, integrales, series de Taylor,
ecuaciones diferenciales ordinarias, transformadas de Laplace, sistemas de ecuaciones
lineales y no lineales, vectores, matrices, determinantes. Este software proporciona
soluciones exactas pese a manejar ecuaciones de alta complejidad. También existe la
posibilidad de realizar gráficas tanto en 2d como en 3d aunque quien utiliza maxima no
lo hace por esta función.

1.3- Objetivo.
La motivación de crear otro software viene dada porque a pesar de que GeoGebra tiene
la posibilidad de representar puntos, rectas y planos en el espacio, no está pensado para
que lo utilice el propio alumno sino más bien para que sea el profesor quien lo utilice
como apoyo para impartir la asignatura.

Esto es debido a que se necesita un poco de destreza para utilizar el programa como es
normal.

3
En cambio, Máxima es un potente software, pero pensado para cálculo y representación
de gráficos. Está orientado a que sea el estudiante quien lo use más que para la
docencia, pero no cumple con lo necesitado de representación.

Por lo tanto, el objetivo era la realización de un software para despertar mayor interés y
amenizar el estudio del bloque de geometría de matemáticas cursado por los alumnos de
2º de bachillerato de ciencias.

Por consiguiente, la finalidad era crear algo que pudieran utilizar sin necesidad de
aprender el funcionamiento de un programa, ayudando y mejorando así el estudio.

4
2.-Programació n.

2.1-Programación, necesaria para realizar el proyecto.


Para llevar a cabo el objetivo de crear el software implica programar, por lo que empecé
a investigar sobre los distintos lenguajes de programación para decidir cuál sería la
mejor opción.

En el siguiente apartado se explica de forma superficial los principales lenguajes de


programación que existen y sus finalidades.

2.2-Análisis de los lenguajes de programación.


Antes de empezar a realizar el proyecto tenía que asegurarme que elegía el lenguaje
correcto. Por lo que tuve que realizar un trabajo de documentación sobre las alternativas
que había y hacía que estaban orientadas.

Esto fue un momento importante ya que había que acertar con la elección para que
luego no se complicara el proyecto, así que quise dedicarle el tiempo que merecía y
conocer con cierta profundidad la finalidad de cada código.

Algunos lenguajes tienen salidas bien definidas y está bastante claro para que propósito
se utilizan mientras que otros su aplicación es muy grande por todas las posibilidades
que ofrecen ya que no están pensados para aplicaciones particulares. Así que más abajo
se explica tanto sus salidas si las tiene o las posibilidades y características de los
lenguajes.

A continuación, se expone de forma concisa los tipos de lenguajes de programación.

1. Lenguaje C.

5
Ilustración 1. Logo lenguaje c.

Es seguramente el lenguaje más usado. Es debido a que el lenguaje es muy limpio, lo


que hace que sea muy intuitivo. Su aplicación es básicamente el desarrollo de software
y aplicaciones de escritorio.

El lenguaje C es conocido por ser un lenguaje de recursos y riqueza reducidos por ser
uno de los lenguajes más antiguos de programación que hay en uso, dicho lo cual sigue
en uno porque hay funciones que no pueden realizar otros lenguajes con la misma
transparencia y cercanía con la computadora.

La principal ventaja de C o el motivo por el cual sigue en uso es porque permite actuar
directamente sin filtros sobre el pc, casi de la misma forma como lo haría el lenguaje
ensamblador.

Esto es debido a que permite manipular la máquina, pero utilizando una sintaxis como
los de alto nivel.

Sus funciones principales son:

 Operar con estructuras básicas como pueden ser punteros o bits.

 Es un lenguaje bien estructurado, esto implica que entender el código sea algo
fácil.

 Operar con estructuras complejas como pueden ser arrays, pilas, colas, textos
etc.

 Utiliza un código compilado.

6
 Con C se puede crear todo tipo de aplicaciones o usos, a pesar de que algunas
aplicaciones requieran de mucha dificultad.

2. Lenguaje C++.

Ilustración 2. Logo lenguaje c++.

Es un lenguaje que deriva de C, con mayores posibilidades. Por lo que sus funciones
están orientadas a diseñar software de un mayor riqueza y complejidad, debido a esto
los programadores que lo utilizan lo hacen para diseño gráfico.

Los usos de lenguaje C++ son muy amplios, que van desde navegadores de internet,
sistemas operativos, almacenamiento de datos, videojuegos etc.

A continuación, se va a comentar algunas de sus funciones:

7
 En cuanto a su aplicación con bases de datos existe la base de datos MySQL,
que está programada con C++.
 Navegadores WEB: Los navegadores web están basados en C++ debido a que
necesitan mucha celeridad para representar los cambios en página web.
 Sistemas operativos: Las tripas de los sistemas operativos están escritas en C++.
Debido a lo mismo que los navegadores web, porque prima la velocidad.
 Compiladores: la gran mayoría de los compiladores de programación están
escritos con C++.
 Videojuegos: pese a no ser lo más común programar los videojuegos en C++ un
se utiliza para diseñar alguna parte especifica de los videojuegos.
 También existen otras funciones más inusuales, por ejemplo, los relojes
inteligentes, maquinas médicas, etc. Esto es debido por la cercanía que permite
con la máquina que no ofrece otros lenguajes de alto nivel.

Debido al amplio abanico de usos se puede llegar a la conclusión que C++ tiene una
gran influencia en muchos campos por lo que es un lenguaje muy importante.

3. Java.

Ilustración 3. Logo lenguaje java.

Java es el lenguaje más predominante en el mundo a consecuencia de que es sencillo,


rápido de aprender, por su redacción y un amplísimo respaldo de toda la comunidad que
hay detrás.

A continuación, se van a citar y explicar sus mejores características y sus mayores usos.

 Lenguaje simple. Es su mayor virtud, es un leguaje que para nada es complejo.


El progreso de aprender es realmente rápido al principio, por tanto, con poco
tiempo puedes familiarizarte con términos y funciones del mismo.
8
 Productividad y utilidades. Java tiene mucha implicación en cualquier
procesador de texto e incluso en hojas de cálculo. Además, Google Maps, utiliza
applet que está programado en Java.

 Entretenimiento. Este es el uso más extendido de Java, debido a que al estar


programados con Java permite que sean ejecutados en distintas plataformas de
gaming.

 Educación. Un uso de Java muy reconocido es la creación de herramientas


educativas, como gráficos, calculadoras etc.

 Comunicación. Las aplicaciones de mensajería instantánea están basadas en


Java, como por ejemplo WhatsApp, Telegram etc.

 Aplicaciones móviles. Con Java Micro Edition permite la implementación y


desarrollo de aplicaciones para nuestros dispositivos móviles.

 Aplicaciones de móviles. Java ME nos permite adaptar infinidad de aplicaciones


para su uso en el móvil.

En definitiva, Java se encuentra en navegadores por rapidez de carga y programas


debido a su laxitud de programación.

4. Python.

Ilustración 4. Logo lenguaje python.

9
Python es un lenguaje moderno, es utilizado para diseño web, creación de aplicaciones,
bases de datos etc. Python se adapta a todas las plataformas, pero sobre todo lo que lo
hace tan trascendente y por lo que ha llegado a tantas personas es debido a que
probablemente sea el lenguaje más sencillo de aprender.

Python es muy utilizado por los desarrolladores de páginas web. Es un código muy
legible siendo esto uno de sus mayores principales puntos a favor.

Estos pros han ido potenciando su uso y ahora se encuentra presente desde aplicaciones
hasta Inteligencia Artificial.

A continuación, se comentan sus mayores características y principales usos.

 Desarrollo web. Python es el mejor lenguaje para programar en cuanto a diseño


web se refiere. Pyramid es una herramienta de Python que permite disminuir el
tiempo de desarrollo web.
 Ciencia de datos. Es muy demandada en el mercado de la publicidad y Python
debido a las bibliotecas que ofrece extrae la información de datos y los visualiza
mediante gráficos y tablas.
 Inteligencia artificial. Python es muy utilizado dentro del mundo de la
inteligencia artificial, esto se entiende porque tiene la capacidad de manejar
muchos cálculos que son indispensables para los modelos de aprendizaje
automático.
 Aplicaciones empresariales. Su aplicación en este campo es debido a que Phyton
puede controlar diversas bases de datos.
 Desarrollo de videojuegos.  Puede que quizás sea el mayor uso de Python, su
lenguaje favorece la creación de juegos de forma masiva.
 Sistemas operativos. Cada vez está más presente en la creación de sistemas
operativos.

5. JavaScript.

10
Ilustración 5. Logo lenguaje JavaScript.

JavaScript deriva de Java, su mayor uso es el diseño web.

JavaScript está diseñado para que corra en los principales navegadores web como
pueden ser Chrome, FireFox, Opera, Explorer, etc.

A continuación, se comentan sus mayores características y principales usos.

 Java Script orientado a objetos. Es un lenguaje que tiene como objeto aumentar
la interacción del usuario.
 Presentaciones. JavaScript permite crear presentaciones interactivas con
animaciones.
 Bases de datos. JavaScript también tiene su aplicación a las bases de datos,
gracias a tecnologías como MongoDB.
 Aplicaciones de escritorio. JavaScript desempeña tecnologías como Electron, te
permite implementar una web a tu medida.
 Aplicaciones híbridas. JavaScript permite el uso de aplicaciones híbridas
multiplataforma que funcionan para Android, iOS, etc.

6. Visual Basic.

11
Ilustración 6. Logo lenguaje Visual Basic.

Es un lenguaje implementado por el propio Microsoft, que tiene como objeto permitir
crear aplicaciones únicamente orientadas a Windows, la mayor ventaja de Visual Basic
es Visual Studio, ya que permite programar con Visual Basic, que ofrece la posibilidad
de crear aplicaciones muy ricas y complejas. También cabe decir que es un lenguaje
fácil en cuanto al aprendizaje se refiere, aunque para poder usar Visual Studio hay que
tener conocimientos de de C++, que es un lenguaje bastante más complejo.

7. Processing.

Ilustración 7. Logo lenguaje Processing.

12
Es el menos conocido de todos, es de libre uso que se creó con el objetivo de hacer más
sencillo crear contenido de animaciones con interacciones.

Processing se creó con el objetivo que las personas sin conocimientos de programación
les fuera sencillo crear contenido de animaciones programando y vieran la respuesta
grafica inmediata. Aunque Processing está basado en Java el código que usa es más
sencillo por lo que no hace falta conocimientos avanzados de programación.

2.3-Elección del lenguaje.


Elección del lenguaje de programación. Tras analizar de forma superficial todos los
lenguajes me decanté por processing. Reunía todas las condiciones necesarias, por lo
que me resultó el más adecuado.

Más adelante se explica detalladamente las ventajas de processing y por qué se ha


elegido dicho lenguaje, pero básicamente es debido a que es una plataforma orientada a
la creación de imágenes, animaciones e interacción usuario-pc teniendo el añadido de
que es fácil de aprender. En cambio, otras posibilidades como puede ser OpenGL es
más mucho más complicado.

No obstante, pese a que el lenguaje es fácil es muy potente, pudiendo crear contenidos
realmente complejos.

3.- Processing.
3.1- ¿Qué es processing?
Processing es un lenguaje de programación y entorno de desarrollo integrado de código
abierto basado en Java, de fácil utilización, y que sirve como medio para la enseñanza y
producción de proyectos multimedia e interactivos de diseño digital. Fue iniciado
por Ben Fry y Casey Reas, ambos miembros de Aesthetics and Computation Group del
MIT Media Lab dirigido por John Maeda.
Uno de los objetivos declarados de Processing es el de actuar como herramienta para
que artistas, diseñadores visuales y miembros de otras comunidades ajenos al lenguaje

13
de la programación, aprendieran las bases de la misma a través de una muestra gráfica
instantánea y visual de la información. El lenguaje de Processing se basa en Java,
aunque hace uso de elementos de programación sencillos, por lo que no se requieren
conocimientos profundos en Java . Processing utiliza una sintaxis simplificada y un
modelo de programación de gráficos. (wikipedia, 2023)

Processing fue creado con la intención de que se puedan integrar imágenes, sonidos
animaciones e interacciones con el usuario, por lo que ofrece la posibilidad de integrar
sensores y actuadores.

Debido a la sintaxis sencilla de Processing y a la gran similitud con Java hace que haya
una gran comunidad detrás en foros que sirven como apoyo, ofreciendo multitud de
soluciones, solo limitadas por la creatividad de las personas.

Las operaciones que ofrece Processing son realizar gráficos vectoriales, insertar fotos y
permitir la interactividad, aunque muchas de las operaciones que permite Processing es
gracias a desarrolladores de terceros que han implementado librerías que amplían las
posibilidades.

Dichas librerías te permiten trabajar con audio y vídeo, controlar dispositivos


electrónicos, implementar comunicaciones red…

Se podría decir que todo el alcance y herramientas que nos brinda processing es en gran
parte gracias a sus seguidores que han ido dando recursos mediante las librerías que
aportan a la comunidad, enriqueciendo así de forma muy notable el lenguaje.

También cabe mencionar “Processing mobile”, que puede ser corrido en móviles que
soporten java.

14
3.2- ¿Por qué processing?
Debido a que fue desarrollado pensado en la sencillez de la programación de gráficos
permite que dibujar sea algo muy sencillo, ofreciendo también muchas posibilidades de
interacción con el ordenador.

Existen también un gran abanico de librerías que facilitan el trabajo que queremos hacer.

Processing ejecuta una ventana donde se representa lo programado. Su lenguaje de


programación tiene muchos comandos para hacer sencillo dibujar, interactuar etc.

De hecho, tiene una función draw la cual se ejecuta en un bucle infinito, esto resulta de
gran ayuda para poder mostrar movimientos o cambios en pantalla.

En definitiva, al estar orientado a diseño gráfico y con la idea de representar geometría


en el espacio me pareció una buena opción.

Éstas son algunas de las características de Processing que lo hacen apto para muchos
propósitos:

• Es un software de libre uso, por lo tanto, gratuito.

• Permite crear aplicaciones tanto en 3D como en 2D.

• Al contar con OpenGL la velocidad de gráficos tiene una experiencia mucho mejor.

15
• Está disponible para los sistemas operativos más importantes como Windows, Mac
OS, Linux…

• Hay disponible una infinidad de librerías que amplían las posibilidades que ofrece
Processing.

También cabe destacar como punto muy negativo que no he encontrado ningún manual
gratuito de processing que contenga información y explicaciones detalladas acerca de
todas las posibilidades que ofrece éste, ni tampoco videos didácticos avanzados más allá
de explicaciones de iniciación para dibujar. Lo que resulta un gran aspecto negativo en
cuanto a iniciarte en el lenguaje sin una referencia sólida, quizás si hay alguna guía
privada de algún autor fuera de la página de processing pero no hice la inversión de
comprarme ningún libro.

En cambio, si hay varios foros donde los usuarios suben sus trabajos y resuelven dudas,
que permiten si eres capaz de entender el código surtirte de muchas ideas, ya que la
imaginación de las personas es infinita, hay una gran comunidad detrás.

Se exponen a continuación dos motivos principales de la utilización de Processing:

• Por el código adaptado a la representación gráfica y la ventana de dibujo que permite


visualizar lo que se programa al instante.

• Porque, aunque esté pensado para aprender a programar, es suficientemente flexible y


potente para desarrollar proyectos muy complejos.

Además de estos motivos se puede añadir también que comparte los axiomas de Java,
que es un lenguaje de programación de alto nivel muy utilizado. Por lo tanto, está
basado en una metodología muy común dentro del mundo de la programación, es
decir, no está muy filtrado, por lo que pueden servir conocimientos y soluciones
utilizados en otros lenguajes de programación.

16
4.-Desglose de herramientas para llevar a
cabo la interacció n y representació n.
Mi objetivo era poder representar los ejercicios de geometría en el espacio y aportar la
solución, como ya se ha comentado anteriormente.

Después de indagar y familiarizarme con el lenguaje descubrí una serie de librerías 3d


que podía incorporar.

A continuación, se muestra la parte de código más importante con su respectiva


explicación tanto dentro del código antes del mismo que se ha utilizado en el proyecto.

4.1- Librería PeasyCam.


La librería PeasyCam fue ideal para mi proyecto.

**PeasyCam es una biblioteca independiente de código abierto desarrollada por


Jonathan Feinberg, originalmente para Processing 2 pero también compatible con la
tercera versión. La biblioteca provee una herramienta de cámara la cual es controlada a
través del mouse, en la cual se puede manejar la rotación y el acercamiento con los
cuales se observa la simulación, así como fijar un punto determinado para la posición de
la misma. (Tenorio, 2017)

// Inicio código función PeasyCam.

import peasy.*; // Importa la librería peasy descargada en processing.

PeasyCam jcam;

void setup() {

size(1800,1300,P3D); // define el tamaño de pantalla en 3d

jcam = new PeasyCam(this, 500);

jcam.setMinimumDistance(5); // distancia máxima a la que puedo alejar la cámara

jcam.setMaximumDistance(5000); // distancia máxima a la que puedo acercar la


cámara

// Fin código función PeasyCam.

17
4.2- Creación de los ejes x, y, z.
La función beginShape(LINES) une dos coordenadas con una línea, uniendo el (0, 0, 0)
con el ( 0, 0, 500), ( 0, 500, 0) y el (500, 0, 0) a pares creé los ejes x y z, stroke me
permite darles un color a cada uno para diferenciarlos.

// Inicio código

beginShape(LINES);

stroke(255,0,0); // color del eje z

vertex(0, 0, 0); // inicio del eje z

vertex( 0, 0, 500); // final del eje z

stroke(0,255,0); // color del eje y

vertex(0, 0, 0); // inicio del eje y

vertex( 0, 500, 0); // final del eje y

stroke(0,0,255); // color del eje x

vertex(0, 0, 0); // inicio del eje x

vertex(500, 0, 0); // final del eje x

stroke(0);

endShape();

// Fin código

Para escribir, "EJE X +" , "EJE Y +", "EJE Z+" utilicé el siguiente código.

// Inicio código

textSize(15);

text("EJE X +", 100, 0, 0); // Escribe "EJE X +" en la posición 100, 0, 0.

18
text("EJE Y +", 0, 100, 0); // Escribe "EJE Y +" en la posición 100, 0, 0.

text("EJE Z +", 0, 0, 100); // Escribe "EJE Z +" en la posición 100, 0, 0.

// Fin código

Para crear puntos y números que sirvieran de referencia en los ejes utilicé un for
variando el valor de i combinado con los comandos point y text.

// Inicio código

for(int i = 0; i <=5; i++){ // Entra en el bucle y va aumentando el valor de i

strokeWeight(3); // define el grosor de los puntos

stroke(0,0,255); // define el color de los puntos

point((i)*100, (0)*100, (0)*100); // crea los puntos del eje x

stroke(0,255,0); // define el color de los puntos

point((0)*100, (i)*100, (0)*100); // crea los puntos del eje y

stroke(255,0,0); // define el color de los puntos

point((0)*100, (0)*100, (i)*100); // crea los puntos del eje z

stroke(0);

endShape();

strokeWeight(1);

textSize(5);

fill(0,0,255); define el color de los números

text(" " + i + " ", (i)*100, (0)*100, (0)*100); // crea los números del eje x

fill(0,255,0); // define el color de los números

text(" " + i + " ", (0)*100, (i)*100, (0)*100); // crea los números del eje y

fill(255,0,0); // define el color de los números

text(" " + i + " ", (0)*100, (0)*100, (i)*100); // crea los números del eje z

fill(0);

textSize(15);

19
}

// Fin código

Quedando como resultado de la siguiente manera.

Ilustración 8. Ejes cartesianos.

4.3- Representació n de puntos.


Para la creación de puntos se utiliza el comando “point” seguido de las coordenadas
entre paréntesis.

// Inicio código

point((x)*100, (y)*100, (z)*100); // dibuja el punto en las coordenadas indicadas

// Fin código

4.4- Representació n de rectas.


Para la creación de rectas se utiliza el comando beginShape(LINES) seguido del punto
inicial y final del segmento.

// Inicio código

20
beginShape(LINES);

vertex(x1, y1, z1); // inicio de la línea

vertex(x2, y2, z2); // final de la línea

endShape();

// Fin código

4.5- Representació n de planos.

La representación de planos fue un verdadero quebradero de cabeza, los planos son


infinitos, para poder representarlos se lleva a cabo como un cuadrado, ya que no existe
ninguna función que nos ofrezca la posibilidad de dibujar planos.

La representación de este cuadrado es muy sencilla gracias al comando


beginShape(POLYGON), pero el problema surge al decidir qué puntos van a definir el
cuadrado.

Estos puntos se han calculado analíticamente de la siguiente manera.

1. Primero defino un punto del plano como punto de partida.

2. Debido a que el plano lo tenemos en ecuación general necesitamos dos vectores


directores del plano para después conseguir los puntos a representar en el
cuadrado.

3. El primer vector director del plano lo conseguimos haciendo un producto


vectorial del vector normal del plano con otro vector que me he inventado, este
vector inventado fue el vector ⃗v (10.1 , 10.5 , 10.9) , tenía que tener cuidado
porque este vector es fijo y podría ser proporcional con el vector normal del
plano, fastidiando así su producto vectorial, por lo que se eligió ese vector tan
raro para evitar dicho problema.

4. Con el vector normal y el vector director1 se hace otro producto vectorial dando
así el vector director2 formando un ángulo de 90º entre el vector director1 y
vector director2, algo que es fundamental para que se represente un cuadrado
perfecto.

5. Se hace los vectores directores unitarios dividiendo entre su módulo para luego
multiplicarlos por una constante y alargar dicho vector.

21
6. La suma del punto inicial del plano más los vectores calculados nos ofrece los
puntos del cuadrado que representa un plano cualquiera.

// Inicio código

beginShape(POLYGON);

vertex((puntosdeplano2 [0])*100, (puntosdeplano2 [1])*100, (puntosdeplano2


[2])*100);

vertex((puntosdeplano2 [6])*100, (puntosdeplano2 [7])*100, (puntosdeplano2


[8])*100);

vertex((puntosdeplano2 [3])*100, (puntosdeplano2 [4])*100, (puntosdeplano2


[5])*100);

vertex((puntosdeplano2 [9])*100, (puntosdeplano2 [10])*100, (puntosdeplano2


[11])*100);

endShape( );

// realiza el producto vectorial con el vector inventado

perpendicular [0] = recta [4]*10.9 - recta [5]*10.5 ;

perpendicular [1] = -1*(recta [3]*10.9 - recta [5]*10.1) ;

perpendicular [2] = recta [3]*10.5 - recta [4]*10.1 ;

perpendicular2 [0] = recta [4]*perpendicular [2] - recta [5]*perpendicular [1] ;

perpendicular2 [1] = -1*(recta [3]*perpendicular [2] - recta [5]*perpendicular [0]) ;

perpendicular2 [2] = recta [3]*perpendicular [1] - recta [4]*perpendicular [0] ;

// realiza el módulo del vector perpendicular al vector normal del plano

moduloperpendicular = sqrt(perpendicular [0]*perpendicular [0] + perpendicular


[1]*perpendicular [1] + perpendicular [2]*perpendicular [2] );

moduloperpendicular2 = sqrt(perpendicular2 [0]*perpendicular2 [0] + perpendicular2


[1]*perpendicular2 [1] + perpendicular2 [2]*perpendicular2 [2] );

// consigue los puntos del plano a representar

22
puntosdeplano1 [0]= puntointerseccion1 [0] + 5*perpendicular
[0]/moduloperpendicular;

puntosdeplano1 [1]= puntointerseccion1 [1] + 5*perpendicular


[1]/moduloperpendicular;

puntosdeplano1 [2]= puntointerseccion1 [2] + 5*perpendicular


[2]/moduloperpendicular;

puntosdeplano1 [3]= puntointerseccion1 [0] - 5*perpendicular


[0]/moduloperpendicular;

puntosdeplano1 [4]= puntointerseccion1 [1] - 5*perpendicular


[1]/moduloperpendicular;

puntosdeplano1 [5]= puntointerseccion1 [2] - 5*perpendicular


[2]/moduloperpendicular;

puntosdeplano1 [6]= puntointerseccion1 [0] + 5*perpendicular2


[0]/moduloperpendicular2;

puntosdeplano1 [7]= puntointerseccion1 [1] + 5*perpendicular2


[1]/moduloperpendicular2;

puntosdeplano1 [8]= puntointerseccion1 [2] + 5*perpendicular2


[2]/moduloperpendicular2;

puntosdeplano1 [9]= puntointerseccion1 [0] - 5*perpendicular2


[0]/moduloperpendicular2;

puntosdeplano1 [10]= puntointerseccion1 [1] - 5*perpendicular2


[1]/moduloperpendicular2;

puntosdeplano1 [11]= puntointerseccion1 [2] - 5*perpendicular2


[2]/moduloperpendicular2;

// Fin código

Quedando como resultado de la siguiente manera.

23
Ilustración 9. Representación plano en processing.

4.6- Introducció n de los datos del enunciado.


Para ello primero tuve que dibujar en 2d, esto fue posible gracias a los comandos
siguientes.

// Inicio código

jcam.beginHUD(); // Inicio del menu 2D

dibujo2d();

jcam.endHUD(); // Final del menu 2D

// Fin código

Esto permite hacer un dibujo 2d teniendo habilitado la función 3d.

Dichos comandos fueron realmente difíciles de encontrar, ya que no aparecían en


ningún manual de processing, por lo que se tuvo que recurrir a un gran número de foros.

Para crear el recuadro donde se introducen los números se recurre al comando rect,
haciendo cuadritos donde se escribirán los números que conforman las rectas, planos del
enunciado del ejercicio.

24
// Inicio código

rect(A,B,C ,D);

// Fin código

Siendo A la posición en x, B la posición en y, C el ancho y D el alto del rectángulo.

Para habilitar el poder introducir dichos números se recurrió a la condición if con


mouseX, mouseY combinado con keyPressed==true.

Lo que hace este trozo de código primero es comparar la posición del ratón con la
posición de los cuadros creados, si el cursor se encuentra entre dichas coordenadas entra
en la condición if.

Una vez que está dentro de la condición if, se encuentra en el bucle con otra condición if
que comprueba si el teclado es pulsado. Dentro de esta condición se hace el guardado
del número en un array.

// Inicio código

if(mouseX>=250 && mouseX<=300 && mouseY>=70 && mouseY<=120){ //


Entra en el bucle si el raton se sitúa entre esas coordenadas.

if(keyPressed==true) {// Entra en el bucle si el teclado es pulsado.

numero[0]=key-48; // guarda el número pulsado.

}}

// Fin código

Para cambiar el signo de un número reservé un cuadrito donde se dibuja un más o un


menos.

Al pinchar en dicho signo cambia a un menos porque el contador se coloca en 1,


menos[0]==1 y escribe con la condición if(menos[0]==1) text(" - ", 200, 105).

De la misma manera cuando entra en la condición de pinchar en el signo del cuadro


multiplica el número por menos uno numero[0]=numero[0]*(-1).

Consiguiendo por tanto cambiar el signo del número guardado en el array y mostrar en
pantalla un más o un menos.

25
// Inicio código

if(mouseX>=250 && mouseX<=300 && mouseY>=70 && mouseY<=120){

if(keyPressed==true) {

numero[0]=key-48;

numero2[0] = float(numero[0]);

numeropositivo[0]=numero[0];

print(numero[0]+" ");

//print(numero2[0]+" ");

}}

//Para hacer el menos

if(mouseX>=200 && mouseX<=250 && mouseY>=70 && mouseY<=120 &&


menos[0]==0){

if(mouseButton == LEFT ) {

numero[0]=numero[0]*(-1);

numero2[0] = float(numero[0]);

print(numero[0]+" ");

//print(numero2[0]+" ");

menos[0]++;

}}

if(menos[0]==0){

text(" + ", 200, 105); }

if(menos[0]==1){

text(" - ", 200, 105); }

// Fin código

26
En las siguientes capturas se muestra la entrada de los datos de un enunciado de un
plano y un punto a modo de ejemplo para visualizar lo explicado anteriormente y como
queda representado en pantalla.

De la forma programada solo es necesario posicionar el cursor en el cuadro para poder


introducir el número y pinchar sobre el signo para que se cambie el más por un menos.

Ilustración 10. Entrada datos ejericicio.

Ilustración 11. Entrada datos ejericicio.

5.-Resolució n de ejercicios.
No existen librerías que nos permitan resolver intersecciones, distancias… por lo que se
llevó a cabo como lo resolvería un estudiante numéricamente, es decir, resolviendo
sistemas de ecuaciones para encontrar dichos puntos de intersección.

Para poder aportar las soluciones no es suficiente con resolver el ejercicio como lo hace
un alumno, si no que para representar puntos, rectas, planos debemos calcular todos
estos puntos para poder dibujarlos en el espacio.

Por lo que cada ejercicio tiene detrás mucho trabajo y dificultades. Sería ideal encontrar
una librería que calculase todo esto, pero no he encontrado ninguna.

27
6. Aplicació n GeoGebra en la docencia.
A continuación, se va a explicar un poco la importancia de GeoGebra 3D en la
docencia. Para los alumnos es de mucha ayuda contar con la representación, hay
ejercicios que resulta de gran ayuda plantear la solución geométrica antes de empezar a
trabajar con las ecuaciones, esto permite entender todos los pasos que se llevan a cabo.

Por lo que GeoGebra es muy útil por los siguientes motivos:

 Por la creación de materiales educativos. Gracias a GeoGebra tenemos la


posibilidad de hacer ejercicios educativos dinámicos para ser utilizados en clase
durante las explicaciones.
 Para crear actividades, GeoGebra tiene la posibilidad tanto de crear actividades
como de encontrarlas en la nube, estas tareas permiten que las explicaciones de
clase resulten más claras una vez el alumno ya empieza el estudio en solitario de
la materia.

28
Otra posibilidad que ofrece es GeoGebra Classroom que es una plataforma virtual con
la cual los docentes pueden:
 Asignar tareas interactivas y atractivas para estudiantes.
 Ver el progreso actualizado en vivo de los estudiantes que trabajan en una tarea
específica.
 Ver qué tareas han comenzado (o no) los estudiantes,
 Hacer preguntas a toda la clase y ver todas las respuestas de los estudiantes al
instante.
 Hacer preguntas a toda la clase y ver todas las respuestas de los estudiantes al
instante.
 Ocultar los nombres de los estudiantes al mostrar sus respuestas a las preguntas
de las tareas.
 Enseñar en equipo añadiendo profesores adjuntos.
 Facilitar discusiones enriquecedoras e interactivas entre todos los estudiantes,
grupos de estudiantes y de forma individual.
(GeoGebra, 2023)

A continuación, se va a explicar por qué GeoGebra es útil en el estudio de las


matemáticas.

Además de todos los puntos citados a favor de GeoGebra lo más importante y


destacable es las dos formas que ofrece de percibir los objetos, es decir, sus dos
representaciones, la vista gráfica y sus ecuaciones algebraicas. De esta forma
conseguimos conectar estas dos partes. Todo lo que hagamos en las bases R2 o R3 se le
corresponderá con una ecuación y viceversa, todo lo que escribamos algebraicamente
tendrá su representación.

29
Ilustración 12. Interfaz GeoGebra.

30
Ilustración 13. Interfaz GeoGebra.

Como se puede observar en la figura GeoGebra nos permite acometer la geometría de


una forma más amena ya que el gráfico es dinámico, nos permite rotarlo, modificar con
el cursor las rectas puntos etc. Con el 3D de GeoGebra y apoyándonos en algunas
expresiones algebraicas ya se pueden resolver ejercicios de geometría planteados a
alumnos de 2º de bachillerato sin necesidad de coger boli y papel.

31
7.- Comparació n processing versus
GeoGebra

7.1- Resolució n pdf relació n de ejercicios.


A continuación, se expone la resolución de uno de los ejercicios propuestos tal cual se
encuentra en la relación de ejercicios propuestos.

DISTANCIA ENTRE DOS RECTAS

{ {
x=1−t x=1+ λ
Ejercicio. Calcula la distancia entre la recta r: y =0 y la recta s: y=2 λ .
z=t z=1

Realizo el vector ⃗
PrPs=⃗
Ps−⃗
Pr =(1 , 0 ,1)−(1 ,0 ,0)=(0 , 0 , 1)

( )( )

Vr −1 0 1
Formamos la matriz A y A* A¿


Vs ( )(
Vr = −1 0 1
1 2 0 ) ¿
A* V

⃗s
PrPs
= 1 2 0
0 0 1

Como el Rg(A*)¿ 3 las rectas se cruzan.

Para calcular la distancia hago un plano que contenga a s y que sea paralelo a r.

Para eso utilizaremos los vectores directores de r y s, realizo el producto vectorial y


obtengo el vector normal del plano.


Vr x ⃗
Vs ¿ (−2 , 1 ,−2) por lo que el plano queda 𝝿1 : −2x +1y−2z + 4=0

{
x=1−2 t
Hago una recta que pase por r y sea perpendicular a pi m: y=0+ t
z=−2 t

13 −2 4
Calculo el punto de corte de m con el plano pi p* ¿( , , ) p ¿(1 , 0 , 0)
9 9 9

⃗ −4 2 −4 2
PP∗¿=P−P∗¿ ( , , )¿ d¿r,s¿=
9 9 9 3

32
EJECUTABLE 15 PROCESSING.

7.2- Solución del ejercicio con processing.


La metodología para resolver dicho ejercicio con processing es la siguiente:

1. Se abre el ejecutable que marca la solución del ejercicio de la relación.


2. Se introduce los datos del enunciado, la forma de hacerlo es situar el cursor en el
rectángulo correspondiente y a continuación teclear el número que corresponda,
para cambiar de signo simplemente hay que clickar en el signo más y se
cambiará automáticamente a menos.
3. Cuando se han introducido los datos se clicka OK y tendremos nuestra solución.
4. Se puede rotar, acercar o alejar la vista.

Seguidamente se muestra capturas de pantalla de la solución que ofrece processing.

Ilustración 14. Ejercicio resuelto en processing, distancia entre dos rectas que se cruzan vista 1.

33
Ilustración 15. Ejercicio resuelto en processing, distancia entre dos rectas que se cruzan vista 2.

7.3- resolució n del ejercicio propuesto con GeoGebra.


Para resolver este ejercicio en GeoGebra se podría llevar a cabo por dos
procedimientos. 
Procedimiento 1. 
1. Se dibujan las dos rectas definidas por dos puntos cada una. Al estar las rectas en
forma paramétrica un punto de ellas lo obtenemos de su ecuación y el otro lo
vamos a obtener sumando al punto el vector director de dicha recta. Siendo por
tanto los puntos: 
Dos puntos de la recta r: P1r(1,0,0) y P2r(0,0,1). 
Dos puntos de la recta s: P1s(1,0,1) y P2s(2,2,1). 
2. Cogemos la herramienta de recta y trazamos una recta(t) que pase por las otras
dos. 
3. Vamos a la herramienta de ángulo y medimos los ángulos que forma la nueva
recta(t) con las dos rectas iniciales(r) y (s). 
4. Vamos variando la recta (t) hasta quedar dos ángulos aproximados de 90º, esto
resulta complicado porque no se pueden imponer los ángulos, solo pueden
variarse arrastrando el vector hasta encontrar el ángulo buscado. 
5. Hacemos un vector que vaya de r a s. 

34
6. Por últimos vamos a la herramienta de medir y obtenemos la distancia del
vector.

A continuación se adjunta dos capturas de pantalla de dicha solución con procedimiento


1 con GeoGebra.

Ilustración 16.Rresolución de ejercicio distancia entre dos rectas en Geogebra procedimiento 1.

Ilustración 17. Solución de ejercicio distancia entre dos rectas en Geogebra procedimiento1.

 
Procedimiento 2. 
1. Se dibujan las dos rectas definidas por dos puntos cada una. Al estar las rectas en
forma paramétrica un punto de ellas lo obtenemos de su ecuación y el otro lo
vamos a obtener sumando al punto el vector director de dicha recta. Siendo por
tanto los puntos: 
Dos puntos de la recta r: P1r(1,0,0) y P2r(0,0,1). 
Dos puntos de la recta s: P1s(1,0,1) y P2s(2,2,1). 

35
2. Se hace un plano que contenga a s y sea paralelo a r. Para ello vamos a utilizar la
herramienta de plano definido con tres puntos. Por lo que nos falta otro punto
más del plano que lo obtendremos por ejemplo P3s = P2s(2,2,1) + dr(−1,0,1) ;
P3s = (1,2,2)  
3. Se traza una perpendicular por la recta perpendicular al plano. Se halla el punto
de intersección entre la recta y el plano.
4. Se mide la distancia entre el punto de la recta (s) por donde pasaba la recta
perpendicular al plano y el punto de intersección del plano.
 
 
 
 
A continuación se adjunta dos capturas de pantalla de dicha solución con procedimiento
2 con GeoGebra.

Ilustración 18. Resolución de ejercicio distancia entre dos rectas en Geogebra procedimiento 2.

Ilustración 19. Solución de ejercicio distancia entre dos rectas en Geogebra procedimiento2.

36
7.4- Desventajas de utilizar GeoGebra para resolver el
ejercicio.

El procedimiento 1 tiene la ventaja de que es relativamente sencillo de llevar a cabo con


GeoGebra, pero tiene el inconveniente de que hay que ir variando el ángulo de forma
manual hasta encontrar el vector perpendicular, por lo que no queda perfectamente
exacto.
En cambio, el procedimiento 2 tienen como ventaja que es exacto, pero tiene el
inconveniente de que es más complejo, ya que tenemos que hacer un plano paralelo y
esto ya implica conocimientos de la asignatura para obtener este tercer punto que defina
el plano. Por lo que si un estudiante está en la fase de aprendizaje del tema quizás no lo
pueda llevar a cabo o no se le ocurriría comprobar la solución de esta manera.

7.5- Comparació n processing vs Geogebra.


En definitiva, podemos decir que un estudiante no dedicaría su tiempo metiendo los
puntos, las rectas, planos de esta manera para comprobar la solución. En cambio, con
processing únicamente tiene que introducir puntos, rectas y planos en ecuaciones
paramétricas y general respectivamente.

37
8.- Guía de funcionamiento del proyecto.
El estudiante debe copiar en su ordenador la carpeta con los archivos, al ser ejecutables
no hace falta instalar ningún programa.

En esta carpeta se encuentra un pdf de relación de ejercicios que para el estudio del
alumno se compone de 16 ejercicios tipo. Que son los siguientes:

1. Puntos alineados.
2. Puntos coplanarios.
3. Angulo que forman dos vectores.
4. Producto vectorial.
5. Intersección recta plano.
6. Posición relativa de dos rectas.
7. Posición relativa de dos planos.
8. Angulo que forman una recta r un plano.
9. Angulo que forman dos planos.
10. Distancia entre dos puntos.
11. Distancia punto plano.
12. Distancia punto recta.
13. Distancia entre dos planos.
14. Distancia entre recta y plano.
15. Distancia entre dos rectas.
16. Dependencia de vectores y combinación lineal.

Además, hay un apartado de 20 ejercicios de EBAU de Murcia resueltos para que el


estudiante pueda practicar. En cada ejercicio se hace referencia que ejecutable
corresponde para que se compruebe la solución.

La posibilidad que ofrece estos ejecutables es que se pueda comprobar tanto lo


ejercicios propuestos en la relación como cualquier otro ejercicio de este tipo que tenga
el estudiante.

38
9.- Puntos a mejorar del proyecto.
Existen varios puntos que tienen aspectos a mejorar.

En primer lugar, no se ha creado un único ejecutable como si fuera un programa, sino


que son un conjunto de ejecutables, uno por cada tipo de ejercicio, por lo que el tamaño
total de los archivos es bastante grande, ya que para cada ejecutable se repiten las
librerías y muchas variables que hacen aumentar el tamaño en disco. De otra forma, en
un solo archivo el tamaño en disco hubiera sido muy inferior.

Se separaron en varios ejecutables debido a que no se pudo implementar un programa


todo dentro del mismo código, porque se mezclaban nombres de variables y muchas
líneas de código, además de tener que lidiar con el problema de no poder duplicar la
función draw.

Imagino que un conocimiento más avanzado de programación y un mejor conocimiento


de processing se podría haber hecho de mejor manera. Se podría haber elegido el
ejercicio dentro del mismo ejecutable o diseñar pestañas para elegir que se quiere
representar, tener la opción de intersección, opción de cambio de ecuación de recta,
plano etc. En definitiva, hacer un programa mucho más completo y rico en herramientas
y opciones.

39
10.- Otras posibles aplicaciones de
processing al estudio de diédrico.
Además, resolví algún ejercicio de perpendicularidad y paralelismo de diédrico con
processing, quería crear una aplicación para diédrico que resolviera todos los ejercicios
tipo hay tiene dicha asignatura en bachiller, como distancias, paralelismo,
perpendicularidad, intersecciones de planos con figuras geométricas, secciones…

Este programa lo resolvería en el espacio y daría una solución en el plano como la que
hacen los estudiantes.

Para poder resolverlo es necesario introducir varios parámetros del ejercicio, mediante
origen, alejamiento, cota. Esto era demasiado pesado, pero se podía haber llevado a
cabo de otra forma, por ejemplo, como processing permite la interacción mediante
dispositivos, se podría sacar una foto del ejercicio y que el propio processing encontrase
esos parámetros de entrada, además, teniendo en cuenta que existe processing mobile se
podría implementar una app que escanease el ejercicio y lo resolviera.

Creo que se podría llevar a cabo, pero habría que combinar un mejor nivel de
programación con un conocimiento excelente de la asignatura de diédrico y
conocimientos matemáticos para poder implementar soluciones ya que habría que pasar
los datos de rectas y planos a ecuaciones de los mismos.

Finalmente, no se llevó a cabo por la problemática citada, incluso había algunos que
tienen soluciones particulares por lo que hacer una programación que abarcara todas las
posibles soluciones era algo realmente difícil, pero creo que es algo posible.

De todas formas, dejo un pequeño ejemplo de cómo era la idea.

En un futuro se podría hacer dicho programa, que me parece que tiene una mayor
utilidad, me parece una idea muy novedosa, es algo que bien realizado se haría conocer
en la docencia y en el estudio, estoy completamente seguro.

40
Ilustración 20. Solución en el espacio de ejercicio distancia entre dos rectas paralelas diédrico en processing.

41
Ilustración 21. Solución en el plano de ejercicio distancia entre dos rectas paralelas diédrico en processing .

42
11.- Conclusiones.
Para finalizar mi valoración del proyecto ha sido positiva, creo que se ha creado
ejecutables y una relación de ejercicios que ayuda el estudio de la asignatura que era
más o menos el objetivo.

También es claro y notorio que el programa llevado a cabo podría estar mejor en cuanto
a interfaz y herramientas, pero esto implica un mejor conocimiento de programación o
incluso llevarlo a cabo en otro lenguaje como podría ser Python.

He utilizado los conocimientos adquiridos en informática de primer curso del grado.


Para llevar esto a cabo he tenido que documentarme y adquirir conocimientos de
processing y java.

A mi parecer se ofrece una herramienta al estudiante y la posibilidad de mejorar el


programa en un futuro o incluso llevarlo cabo para la aplicación de diédrico como ya se
ha mencionado anteriormente.

43
12.- Bibliografía.
1.

GeoGebra. (2023). https://www.geogebra.org/m/fstbrmvt.

2. Tenorio, A. M. (2017). Trabajo fin de grado. Integración del diseño computacional


con la materialización arquitectónica para la fabricación digital de pieles
arquitectónicas.

3. Wikipedia. (2023). https://es.wikipedia.org/wiki/Processing.

4. @Airroom. Canal de youtube. https://www.youtube.com/watch?


v=60r2JKNmQIE&list=PLtyMmy0eKyqFsLPesmz7y4EznkZFJrGuu&ab_channel=Air
Room

5. Osorio Lupiañez. Libro. Unas matemáticas para todos.

6. Processing foundation. https://discourse.processing.org/

44
13.- Anexos.
En anexos se va a incluir una pequeña relación de ejercicios tipo y ejercicios EBAU
Murcia, con su correspondiente referencia al ejecutable de processing que procede para
la resolución de los mismos.

45
RELACIÓN DE EJERCICIOS
RESUELTOS
ANALÍTICAMENTE MÁS
REPRESENTACIÓN EN EL
ESPACIO CON PROCESSING.

46
1. Puntos alineados.

(Condición para que tres puntos estén alineados) Tres puntos distintos P, Q y R de
coordenadas P(p1, p2, p3), Q(q1, q2, q3) y R(r1, r2, r3), están alineados si, y sólo si,

Tres puntos distintos P, Q y R están alineados si, y sólo si, los vectores (no nulos) ⃗
PQ y

PR tienen la misma dirección o, equivalentemente, son proporcionales. En términos de
coordenadas, está condición corresponde a que la matriz (no nula) tenga sus dos filas
proporcionales o, lo que es lo mismo, tenga rango uno.

EJECUTABLE 1 PROCESSING.

Ejercicio. Comprobar si los puntos P(1, 0, −2), Q(−1, 2, 0) y R(−5, 6, 4) están


alineados.

Están alineados ya que


PQ ¿(–2, 2, 2 )   ⃗
PR=¿(–6, 6, 6 ) 

Otra forma de comprobar si tres puntos es si los vectores que los une son proporcionales
o no, es decir, podemos dividir sus coordenadas y analizar si da el mismo resultado o
analizar su rango como hemos visto anteriormente.


PQ x –2 ⃗ PQy 2 ⃗PQ z 2
=¿ = =¿ = =¿ luego P(1, 0, −2), Q(−1, 2, 0) y R(−5, 6, 4)

PR x –6 ⃗ PR y 6 ⃗PR z 6
están alineados.

EJECUTABLE 1 PROCESSING.

Ejercicio. Comprueba si los puntos están alineados P(3, 1, 0), Q(0, –5, 1) y R(6, –5,
1).

47

PQ (–3, –6, 1 ), ⃗
QR = (3, – 6, 1 )

Sus coordenadas no son proporcionales. Luego los puntos no están alineados.

EJECUTABLE 1 PROCESSING.

2. Puntos coplanarios.

Ejercicio. Estudiar si los puntos A(2,0,3); B(3,2,1); C(2,1,0); D(3,2,1) son coplanarios.

RESOLUCIÓN:    Con los puntos obtenemos los vectores:   


AB (1, 2, –2 ), ⃗
AC = (0, 1, –3 ) ⃗
PQ (1, 2, –2 ),

Que como se ve, sin necesidad de estudiar rangos, se ve que hay dos linealmente
independientes, son coplanarios.

EJECUTABLE 2 PROCESSING.

3. Ángulo que forman dos vectores.

Ejercicio. Halla el ángulo que forman los vectores u⃗ (1, 5, 0 ) y u⃗ (–3, 0, 2 ) .

Usamos la fórmula que determina el ángulo de dos vectores en el espacio

Si llamamos α al ángulo que forman ambos vectores, tendremos:

En realidad, hay dos ángulos que tienen por coseno : +99.4 y -99.4 (260.6). Deberíamos

tomar el menor de ellos , por lo que 

EJECUTABLE 3 PROCESSING.

4. Producto vectorial.

Ejercicio. Dados los vectores u⃗ (1, 2, 3 ) ,  ⃗v (2, 0, 1 )  y ⃗


w (–1, 3, 0 )  , hallar:

u⃗ x ⃗v , u⃗ x ⃗
w , ⃗v x u⃗ , ⃗v x ⃗
w

48
( )
i⃗ ⃗j ⃗k
u⃗ x ⃗v = 1 2 3 =2 i⃗ + 5 ⃗j – 4 ⃗k
2 0 1

( )
i⃗ ⃗j ⃗k
w= 1 2 3 =– 9 i⃗ – 3 ⃗j+5 ⃗k
u⃗ x ⃗
–1 3 0

( )
i⃗ ⃗j ⃗k
⃗v x u⃗ = 2 0 1 =– 2 i⃗ – 5 ⃗j + 4 ⃗k
1 2 3

( )
i⃗ ⃗j ⃗k
v⃗ x w
⃗ = 2 0 1 =– 3 i⃗ – 1 ⃗j+6 k⃗
–1 3 0

EJECUTABLE 4 PROCESSING.

5. Intersección recta plano.

Ejercicio. Calcula el punto de corte entre el plano 𝝿 : x + z − 3=0 y la recta r:

{
x=1+t
y=2+t .
z=t

Calculamos el punto de corte a través de un punto genérico de la recta: I (1+t, 2+t, t)

Sustituimos dicho punto en el plano para calcular el parámetro y obtener el punto de


corte I:

𝝿 : x + z − 3=0 ⟶ (1+t) +(t) − 3=0 ⟶ 2t−2=0 ⟶ t=1⟶ I (1+t, 2+t, t) ⟶ I (2, 3, 1)

EJECUTABLE 5 PROCESSING.

6. Posición relativa de dos rectas.

Ejercicio. Estudiar la posición relativa de las siguientes rectas:

a)

{ {
x =−5 α x=2−3 α
r : y =2+α s: y=3−5 α Vectores directores no paralelos, se Cruzan o se
z=5−α z =α
cortan

49
{
−5 α =2−3 β
Resolvemos el sistema 2+α =3−5 β Rango A = 2, RangoA´= 3 Sistema
5−α =β
incompatible. No existe solución. Se cruzan.

EJECUTABLE 6 PROCESSING.

{
x =3−5 α
x –1 4 – y z
b) r : y=2+ α s: = =¿ Vectores directores paralelos (paralelas
10 2 2
z=5−α
o coincidentes), tomamos un punto de r, (3,2,5) y comprobamos si cumple s:
3– 1 4 – 2 5
= =¿
10 2 2

No lo cumple, por tanto, paralelas.

EJECUTABLE 6 PROCESSING.

{ {
x=1+ t x=3+ t
c).Estudia la posición relativa entre las rectas r: y=2−t y s: y=3+2 t .
z =t z=−t

Realizo el vector ⃗
PrPs=Ps−Pr =¿(3, 3, 0) −¿ (1, 2, 0) ¿(2, 1, 0)

( )( )

Vr 1 −1 1
Formamos la matriz A y A* A¿


Vs ( )(
Vr = 1 −1 1
1 2 −1 ) A*¿ ⃗

Vs = 1 2 −1
PrPs 2 1 0

Como el Rg(A) ¿ Rg(A*)¿ 2 las rectas se cortan en un punto.

EJECUTABLE 6 PROCESSING.

7. Posición relativa de dos planos.

Ejercicio. Estudia la posición relativa de estos dos planos 𝝿1 : 2x + 6y−4z − 8=0


𝝿2 : x + 3y−2z +4=0.

2 6 −4 −8
Como = = ≠ los planos 𝝿1 y 𝝿2 son paralelos.
1 3 −2 4

EJECUTABLE 7 PROCESSING.
50
8. Ángulo que forman una recta r y un plano.

Ejercicio. Calcula el ángulo que forman la recta r y el plano 𝝿.

{
x=1
r: y=1−t 𝝿2 : x − y+3z −4=0
z=2+t

Vr=( 0 ,−1 , 1) |⃗
⃗ Vr|=√ 2 nπ =(1 ,−1, 3) |⃗
⃗ nπ|=√ 11 ⃗
Vr ·⃗
nπ =¿ 4

|⃗ n π|
Vr ·⃗
𝞪=arcsen 𝞪=58.52
|⃗ n π|
Vr∨·∨⃗

EJECUTABLE 8 PROCESSING.

9. Ángulo que forman dos planos.

Ejercicio. Calcula el ángulo que forman los planos 𝝿1 : 2x − 3y+z − 1=0 𝝿2 : x + y−z
+3=0.

n 1=(2 ,−3 , 1) |⃗
⃗ n 1|=√ 14 n 2=(1 ,1 ,−1) |⃗
⃗ n 2|=√ 3 n 1·⃗
⃗ n 2=−2

|⃗ n 2|
n 1· ⃗
𝞪=arccos 𝞪=72.02
|⃗ n 2|
n 1∨·∨⃗

EJECUTABLE 9 PROCESSING.

10. Distancia entre dos puntos.

Ejercicio. Calcula la distancia entre los puntos A=(1 , 0 ,−2) y B=(−1 , 4 ,−3) .


AB=B−A=(−1 , 4 ,−3)−(1 , 0 ,−2)=(−2 , 4 ,−1)

d( A , B)=|⃗
AB|=√ 21

EJECUTABLE 10 PROCESSING.

51
11. Distancia punto plano.

Ejercicio. Calcula la distancia entre el punto P=(1 ,−2 , 0) y el plano 𝝿 : x + 3y−4


z − 1=0.

| A · Px+ B · Py +C · Pz+ D| 6
Podemos utilizar la fórmula d( P , π ) = =
√A 2 2
+ B +C
2
√ 26
Otro método, podemos hacer pasar por P una recta perpendicular al plano, hallamos la
intersección de la recta con el plano y calculamos la distancia entre los dos puntos.

{
x=1+t
r: y=−2+3 t recta que pasa por p y es perpendicular al plano pi
z=0−4 t

6 6 6 6
1+t +3(−¿ 2+3t)−¿ 4(0−¿ 4t)−¿ 1=0 ⟶ t= P*¿(1+ ,−2+3 , 0−4 )
26 26 26 26

⃗ 6 6 6
PP∗¿=P−P∗¿ ( , 3 ,−4 ) ¿ ¿
26 26 26

EJECUTABLE 11 PROCESSING.

12. Distancia punto recta.

{
x=1
Ejercicio. Calcula la distancia entre el punto P=(1 , 0 ,−2) y la recta r: y=2+t .
z=1+t


PQr=(1 , 2 ,1)−(1, 0 ,−2)=(0 , 2 , 3) ⃗
Vr=(0 ,1 , 1) ¿ ⃗
Vr x ⃗
PQr ∨¿ 1 ¿ ⃗
Vr∨¿ √ 2

¿=¿ ⃗
Vr x ⃗
PQr ∨ ¿ ¿
d¿P,r 1
¿⃗
Vr∨¿= ¿
√2
otro método podemos hacer pasar por el punto p un plano perpendicular a la recta,
calcular la intersección y hacer la distancia entre estos dos puntos.

−5 −5 −5
plano 𝝿 : 1y+1z +¿ 2=0 1(2+t)+1(1+t)+¿ 2=0 ⟶ t= P*¿(1 , 2+ , 1+ )
2 2 2

⃗ −5 5
PP∗¿=P−P∗¿( 0 ,−2− ,−3+ )¿ ¿
2 2

EJECUTABLE 12 PROCESSING.
52
13. Distancia entre dos planos.

Ejercicio. Calcula la distancia entre los planos.

𝝿1 : 1x −2y+3 z −3=0 𝝿2 : 1x −2y+3 z + 4=0

1 −2 3 −3
= = ≠ los planos son paralelos
1 −2 3 4

{
x=0+t
Hacemos pasar una recta cualquiera perpendicular a los planos r: y=0−2 t
z=0+3 t

Calculamos el punto de intersección con el plano pi1 1(0+t) −2 (0−2 t )+3(0+3 t )−3=0
3
t=
14

3 3 3
P¿(1 ,−2 , 3 )
14 14 14

Calculamos el punto de intersección con el plano pi1 1(0+t) −2 (0−2 t )+3(0+3 t )+ 4=0
−4
t=
14

−4 −4 −4
P*¿(1 ,−2 ,3 )
14 14 14

⃗ 1 3
PP∗¿=P−P∗¿ ( ,−1 , )¿ ¿
2 2

EJECUTABLE 13 PROCESSING.

14. Distancia entre recta y plano.

{
x=1−t
Ejercicio. Calcula la distancia entre la recta r: y=2 y el plano 𝝿 : x +¿ y+1z +1
z=1+ t
=0.

Primero estudiamos la posición relativa entre la recta y el plano

53

Vr ·⃗
nπ =(−1 , 0 , 1) ·(1 ,1 , 1)=(0) al ser la recta perpendicular al vector normal del plano
y no satisfacer su ecuación la recta es paralela al plano.

Para calcular la distancia hacemos pasar una recta perpendicular al plano que pase por
un punto p de la recta.

{
x=1+t
r: y=2+t recta que pasa por p y es perpendicular al plano pi
z=1+t

−5 −5 −5 −5
1+t + 2+t+ ¿ 1+t+ ¿ 1 =0 ⟶ t= P*¿(1+ ,2+ ,1+ ) P¿(1,2 , 1)
3 3 3 3

⃗ 5 5 5
PP∗¿=P−P∗¿ ( , , )¿ ¿
3 3 3

EJECUTABLE 14 PROCESSING.

15. Distancia entre dos rectas.

{ {
x=1−t x=1+ λ
Ejercicio. Calcula la distancia entre la recta r: y =0 y la recta s: y=2 λ .
z=t z=1

Realizo el vector ⃗
PrPs=⃗
Ps−⃗
Pr =(1 , 0 ,1)−(1 ,0 ,0)=(0 , 0 , 1)

( )( )

Vr −1 0 1
Formamos la matriz A y A* A¿


Vs ( )(
Vr = −1 0 1
1 2 0 ) A*¿ ⃗

Vs
PrPs
= 1 2 0
0 0 1

Como el Rg(A*)¿ 3 las rectas se cruzan.

Para calcular la distancia hago un plano que contenga a s y que sea paralelo a r.

Para eso utilizaremos los vectores directores de r y s, realizo el producto vectorial y


obtengo el vector normal del plano.


Vr x ⃗
Vs ¿ (−2 , 1 ,−2) por lo que el plano queda 𝝿1 : −2x +1y−2z + 4=0

{
x=1−2 t
Hago una recta que pase por r y sea perpendicular a pi m: y=0+ t
z=−2 t

54
13 −2 4
Calculo el punto de corte de m con el plano pi p* ¿( , , ) p ¿(1 , 0 , 0)
9 9 9

⃗ −4 2 −4 2
PP∗¿=P−P∗¿ ( , , )¿ d¿r,s¿=
9 9 9 3

EJECUTABLE 15 PROCESSING.

16. Dependencia de vectores y combinación lineal.

Ejercicio. Determina m para que los siguientes conjuntos de vectores sean


linealmente dependientes: a) u⃗ (m, –3, 2), ⃗v (2, 3, m), ⃗
w (4, 6, –4)

( )
m –3 2
DET = 2 3 m =¿ – 6 m 2 – 24 m – 24=– 6 (m2+ 4 m+4)=– 6 (m+ 2)2=0 → m=– 2
4 6 –4

Si m = –2, los vectores son linealmente dependientes.

EJECUTABLE 16 PROCESSING.

17. Ejercicio. Considera los siguientes vectores:

u⃗ (1, –1, 3), ⃗v (1, 0, –1), ⃗


w (m, 1, 0)

b) Halla los valores de m que hacen que u, v y w sean linealmente independientes

c) Para m = 1 escribe el vector s(3, 0, 2) como combinación lineal de u, v y w.

b) Los vectores son linealmente independientes si el rango de la matriz que forman es 3,


es decir, si el determinante de la matriz que forman no vale 0:

( )
1 –1 3
DET = 1 0 – 1 =m+ 4
m 1 0

Son linealmente independientes si m ≠ – 4

c) (3, 0, 2) = x (1, –1, 3) + y(1, 0, –1) + z (1, 1, 0)

Resolvemos el sistema:

{
x + y + z=3
–x + z=0
3 x – y=2

x¿ 1, y¿ 1, z¿ 1

55
a) EJECUTABLE 16 PROCESSING.

b) EJECUTABLE 17 PROCESSING.

1. EBAU. CUESTIÓN 5 julio 2022

Considere el plano π de ecuación π : x + y + z = 1 y la recta r dada por r:

{ax−z=a−1
y−x =0

a) Estudie la posición relativa del plano π y de la recta r en función del parámetro a.

a) Hallamos las ecuaciones paramétricas de r, es fácil poner x como parámetro.

{
x=t
r: { y=x
z=1−a+ax
y=t
z=1−a+at
Por tanto , ⃗v (1, 1, a) es un vector dirección

de r.
El vector ortogonal de π es ⃗
w (1, 1, 1)
El producto escalar
Para a = -2 los vectores ⃗v y ⃗
w son perpendiculares por tanto la recta y el plano son
paralelos.
Para a ≠ -2 los vectores ⃗v y ⃗
w no son perpendiculares por tanto la recta y el plano se
cortan. En particular si a = 1 los vectores son paralelos y por tanto r es perpendicular a.

EJECUTABLE 5 PROCESSING.

2. EBAU. CUESTIÓN 6 julio 2022

Considere las rectas r y s dadas por

r:
x−1 y z
= =
−1 1 1
y s: {x+2y=0z=1
b) Calcule la distancia de la recta r al plano x – y + 2z = 3

El plano π : x – y + 2z = 3 tiene como vector ortogonal el u⃗ (1, -1, 2)

El producto escalar de u⃗ · ⃗v = -1 -1 + 2= 0, por lo tanto los vectores son


perpendiculares y la recta y el plano son paralelos.

56
La distancia de la recta r al plano π es la distancia de un punto, por ejemplo P (1, 0,

0) de r al plano π. d(P, π) = | 1−3


| =
√ 1+1+ 4 √6
2

EJECUTABLE 14 PROCESSING.

3. EBAU. CUESTIÓN 6 junio 2020

Considere la recta r y el plano π dados por las siguientes ecuaciones:

x+1 y−2 z−1


r: = = π : x – 2y –z = 3
2 1 0

a) Estudie la posición relativa de la recta y el plano.

b) En caso de que la recta corte al plano, calcule el punto de corte y el ángulo que
forman.

En caso contrario, calcule la distancia entre la recta y el plano.

a) Para r: P (-1, 2, 1) es un punto y ⃗v (2, 1, 0) es un vector dirección.

El vector ortogonal de π es ⃗
w (1, -2, -1),

El producto escalar u⃗ · ⃗
w = 0 y como el punto P de r no verifica la ecuación de π
podemos afirmar que la recta y el plano son paralelos.

b) La distancia de r a π es la distancia de P a π d(P, π)= |


−1−4−1−4 10
√1+ 4+1
=
√6 |
a) EJECUTABLE 5 PROCESSING.

b) EJECUTABLE 14 PROCESSING.

4. EBAU. CUESTIÓN A3 junio 2020

x+1 y +3 z
Considere la recta r: = = y el plano π : x - 2y - z =-1.
−1 2 1

a) Estudie la posición relativa de la recta r y el plano π.

57
b) En caso de que la recta corte al plano, calcule el punto de corte y el ángulo
que forman. En caso de que la recta no corte al plano, calcule la distancia entre
ambos.

a) Para r: P(-1,-3,0) es un punto y u⃗ = (-1,-2,1) es un vector dirección.

El vector ortogonal de π es ⃗
w = (1, -2,-1),

Como u⃗ y ⃗w son proporcionales y por tanto paralelos, la recta y el plano se cortan y lo


hacen perpendicularmente.

b) El ángulo es pues 90º. Para hallar el punto de corte sustituimos las paramétricas de r:

{
x=−1−t
y=−3+ 2t en la ecuación de π:
z=t

{
x=−1−1=−2
-1 –t -2(-3+2t)-t = -1; 5-6t=-1; t=1, sustituyendo en r : y=−3+2=−1 Da como
z=1
punto de corte Q (-2,-1,1)

a) EJECUTABLE 5 PROCESSING.

b) EJECUTABLE 8 PROCESSING.

5. EBAU. CUESTIÓN B2 septiembre 2014

a) Compruebe que la recta corta al plano y calcula el ángulo que forman.

Considere la recta r y el plano π dado por las siguientes ecuaciones:

x+1 y +3 z
r: = = π : 7x - y =8
−1 2 1

a) Un vector dirección de la recta r es ⃗v= (3, -4,0); un vector ortogonal al plano π es ⃗


w=
(7, -1,0), el producto escalar de los dos es u⃗ · ⃗
w = 25, luego no son ortogonales por
tanto la recta no es paralela al plano y en consecuencia podemos afirmar que se cortan.

Veamos el ángulo cos (∝ )= |√ 25


|
25 √50
=
1
√2
arcos
1
√2
=45 º

a) EJECUTABLE 5 PROCESSING PARA ESTUDIAR LA POSICIÓN RELATIVA Y


EJECUTABLE 8 PROCESSING PARA CALCULAR EL ÁNGULO QUE FORMAN.

58
6. EBAU. CUESTIÓN A2 junio 2014

a) Determine para qué valor del parámetro a la recta r: {−x−2


x + y + z=1
y+ z=0
es perpendicular al plano π: -6x +ay +2z = 0.

b) Demuestre que si a= -8 la recta r corta al plano π en un punto y calcule


dicho punto de corte.

a) La recta viene dada como la intersección de planos, pasamos la receta a paramétricas


resolviendo el sistema de dos ecuaciones y tres incógnitas:

pasando z al segundo miembro para que quede como parámetro r: {−x−2


x + y=1−z
y=−z
sumando queda –y = 1 – 2z ; y= -1 + 2z, sustituyendo en la primera resulta r:

{
x=2−3t
y=−1+2 t
z=t

Para que la recta r y el plano π sean perpendiculares el vector dirección de aquella (-


3,2,1) y el vector ortogonal de éste (-6,a,2) han de ser paralelos o sea proporcionales
−6 a 2
= = por tanto la recta r y el plano π son perpendiculares cuando a = 4.
−3 2 1

b) sustituimos las paramétricas de r en la ecuación de π: -6x +8y +2z = 0

-6(2-3t)-8(-1+2t)+2t=0 resulta t=1; sustituyendo en las paramétricas resulta que el


punto de corte es (-1,1,1).

a) EJECUTABLE 5 PROCESSING. b) EJECUTABLE 8 PROCESSING.

7. EBAU. CUESTIÓN B2 mayores 2014

a) Estudie la posición relativa de las rectas r y s en función del parámetro a:

{
x=1+t
x x+ 1 z−2
r: y=−2−at s : = =
a 1 2
z=3+ t

a) r: { R(1 ,−2 , 3)
⃗r =(1 ,−a , 1) {
s:
S (0 ,−1, 2)
⃗s =(a ,1,2)

SR= (-1,1,-1)

59
| |
1 −a 1
a 1 2 = a 2+3 a−2=0 ; a=2 ;a=1 ;
−1 1 −1

Nunca pueden ser paralelas

Para a≠1,2 rango(r⃗ , ⃗s , ⃗


RS )= 3, las rectas se cruzan.

Para a=1, se cortan

Para a=2, se cortan.

EJECUTABLE 6 PROCESSING.

8. EBAU. CUESTIÓN B2 Muestra cn2 diciembre 2011

Considere las rectas r y s dadas por las ecuaciones r:


−6 a 2
= =
−3 2 1
s:{2 x−z
y=−1
=2

a) Determine la ecuación de la recta que es perpendicular común a r y s.

b) calcule la distancia entre r y s.

Hallemos un punto y un vector dirección de la recta

r: { punto P(4,3,5)
vector ⃗v =(3 ,−1,4 )

Para la otra recta, reordenamos el sistema para que queda la recta en paramétricas s:

{punto Q(0 ,−1 ,−2)


vector ⃗
w =(1,0,2)

a) Es inmediato ver que el ⃗v = (3,-1,4) y el ⃗


w =¿) no son proporcionales por tanto las
rectas se cortan ose cruzan:

La perpendicular común tiene como vector dirección el sector perpendicular a los


vectores dirección de las rectas dadas:

|
i⃗ ⃗j ⃗k
|
3 −1 4 =-2i⃗ -2 ⃗j + ⃗k tomando como vector : a⃗ =(−2,−2,1)
1 0 2

Ahora hallamos el plano que contiene a una de ellas y contiene a este vector:

Por ejemplo el plano que contiene a r : 7x -11y -8z +45 = 0

60
{
x=t
Ahora hallamos el punto de intersección de este plano con la recta s: y=−1
z=−2+2 t

7t -11(-1) -8(-2+2t) +45=0 ; t = 8 sustituyendo obtenemos el punto de corte: (8,-1,14)

x−8 y +1
La perpendicular común es = =z−14
−2 −2

b) Se haya el plano que contiene a r y es paralelo a s y luego hallar la distancia de un


punto cualquiera P de s al plano:

Plano π que contiene a r y es paralelo a s : tiene como vector ortogonal el ya


hallado a⃗ =(−2,−2,1), su ecuación general es pues -2x-2y+z+D=0 sustituyendo el
punto P(4,3,5): D=9, el plano π: -2x -2y +z +9 = 0

9
Entonces la d(Q, π)= =¿3
√9
EJECUTABLE 15 PROCESSING.

9. EBAU. CUESTIÓN B2 septiembre 2012

Considere las rectas r y s dadas por las ecuaciones

x y z +6 x−5 y−1 z −6
r: = = s: = =
7 a−4 5 a−6 3 −1 4

a) Estudie la posición relativa de r y s en función del parámetro a.

a)

Consideramos punto y vector dirección de cada recta r: { P(0,0 ,−6)


⃗v =(7 , a−4 ,5 a−6)
s:

{ Q(5,1,6)
w =(3 ,−1 , 4)

Estudiamos el rango de la matriz formada por los dos vectores:

(73 a−4 5 a−6


−1 4 )
= 28 -15a +18 = 0; a=
46
15

Por lo tanto, nunca son paralelos y las rectas se cruzan o se cortan.

Para que se corten ha de ser ran(⃗


PQ , ⃗v , ⃗
w ) = 2. Basta anular el determinante de la
matriaz que forman:

61
| |
5 1 12
7 a−4 5 a−6 = 24a -96 = 0; a=4
3 −1 4

Resumiendo: Para a=4, las rectas se cortan; para a ≠ 4 las rectas se cruzan.

EJECUTABLE 6 PROCESSING.

10. EBAU. CUESTIÓN A2 junio 2010

Calcular el punto más cercano al punto P=(1,3,0) de entre todos los puntos de la
recta determinada por el punto Q= (-2,2,1) y el vector ⃗v = (1,1,1). Calcular la
distancia del punto P a la recta.

Hallemos el plano π perpendicular a r por el punto P = (1,3,0): π : x + y + z +D= 0;


hacemos que pase por P=(1,3,0): 1 + 3 + D = 0; π : x + y + z – 4 = 0

Ahora hacemos la intersección de la recta r con π, sustituyendo las paramétricas de


r en la ecuación de π:

{
x=−2+t
r: y=2+ t
z=1+t

-2 + t +2 +t +1 +t + 1+ t – 4 = 0 ; t = 1, queda el punto de intersección Q=(-1, 3, 2)

d(P, r) =d(P,Q) ¿ √ (3−1)2 +(3−3)2 +(2)2=√ 8

EJECUTABLE 12 PROCESSING.

11. EBAU. CUESTIÓN B2 junio 2010

{
x=t
y +2 z−1
Comprobar que las rectas r: x +1= = y s: y=1+t no se cortan y
2 3
z=2−t
son paralelas. Calcular la distancia entre ellas.

Como las rectas no son paralelas, (los vectores no son proporcionales), la distancia entre
las dos rectas viene dada por la distancia de un punto de r2 al plano que contiene a r1 y
es paralelo a r2.

62
Veamos punto y vector dirección de cada recta:

{
x=t
r: x +1=
y +2 z−1
2
=
3 { P1(−1,−2 ,1)
s: ⃗
v 1=(1 ,2 , 3)
s: y=1+t
z=2−t
{⃗
P2(0,1 ,2)
v 2=(1, 1 ,−1)

| |
x +1 y +2 z−1
Plano π contenido a r y paralelo a s es π: 1 2 3 = 0; π: 5x-4y+z-4=0
1 1 −1

d(r,s)= d(p2, π)=|√ −4 +2−4


25+16+1
=| 6
√ 42

EJECUTABLE 6 PROCESSING PARA ESTUDIAR LA POSICIÓN RELATIVA DE LAS


DOS RECTAS.

EJECUTABLE 15 PROCESSING PARA CALCULAR LA DISTANCIA.

12. EBAU. CUESTIÓN 2A septiembre 2009

x−1 y
Calcule el punto de la recta r: = =z−1 más cercano al punto P=(1,-2,-7).
2 3

El punto buscado es el punto de intersección de la recta con el plano π perpendicular a


la recta por el punto P.

Para hallar el plano sirve como vector ortogonal el de dirección de la recta (2,3,1)

π: 2x + 3y + z +D = 0 haciendo que pase por P = (1,-2,-7), 2-6-7 +D=0 resulta D =


11, luego Π: 2x + 3y + z +11 = 0

Para hallar el punto de corte ponemos la recta como intersección de planos y


resolvemos el sistema que forman con la ecuación de π

r:
x−1 y
2
= =z−1
3 {
3 x−2 y=3
y−3 z=−3

{
2 x +3 y + z=−11
x−1 y
Queda el sistema r: = =z−1 s: 3 x−2 y =3 que resuelto queda x=-
2 3
y−3 z=−3
1, y = -3, z=0 que son las coordenadas del punto de la recta más cercano al punto P.

EJECUTABLE 12 PROCESSING.

63
13. EBAU. CUESTIÓN 2B septiembre 2009

x−1 y
Calcule la distancia entre las rectas: r1 : x = y = z; r2 : = =z−1
2 3

Como las rectas no son paralelas, la distancia entre las dos rectas viene dada por la
distancia de un punto de r2 al plano que contiene a r1 y es paralelo a r2.

Veamos punto y vector dirección de cada recta:

r1 : x=y=z ⃗{
P 1(0,0,0)
v 1=( 1, 1 ,1)
r2:
x−1 y
2
= =z−1
3 {⃗
P 2(1,0,1)
v 2=(2 ,3 , 1)

| |
x y z
Plano π conteniendo a r1 y paralelo a r2 es π: 1 1 1 =0; π: -2x + y + z =
2 3 1

d(r1,r2)= d(p2, π)= |√−2+1


4+ 1+1
=| 1
√6
EJECUTABLE 15 PROCESSING PARA CALCULAR LA DISTANCIA.

14. EBAU. CUESTIÓN 2B junio 2009

Calcule el punto del plano x + y + z = 1 más cercano al punto (1,2,-3). Calcule la


distancia entre ambos puntos.

El punto más cercano al P(1,2-3) del plano π: x + y + z -1 es el pie de la recta r


perpendicular al plano por P.

Como vector dirección de la recta nos sirve el vector ortogonal del plano:

{
x=1+ t
r:{P1(1,2 ,−3)
⃗v =(1 , 1 ,1)
r: y=2+t
z=−3+t

Para hallar el punto de intersección sustituimos los paramétricas de r en la general de π:

64
1
1 + t + 2 + t – 3 + t -1 = 0; 3t=1; t= ; ¿
3

4 7 8
El punto más próximo a P es el ( , ,− )
3 3 3

La distancia entre los dos puntos es

√ √3 = 0,57735
2 2 2
d = (1− 4 ) +(2− 7 ) +(−3+ 8 ) =
3 3 3 3

EJECUTABLE 11 PROCESSING .

15. EBAU. CUESTIÓN 2A septiembre 2006

Calcule la distancia del punto P = (1, -1, 3) a la recta r.

{
x=1+ λ
r: y =1−λ
z=1+2 λ
r: { Q(1,1,1)
⃗v =(1 ,−1 , 2)

El vector ⃗
PQ = (1-1, 1+1, 1-3) = (0, 2, -2)

La fórmula de la distancia de un punto a una recta es:

|⃗⃗v|
d(P,r)= PQ
|⃗v|

| |
i⃗ ⃗j ⃗k
⃗⃗v = 0 2 −2 = 2i⃗ -2 ⃗j -2k⃗
PQ
1 −1 2

d(P1,r2)=
√ 2 2
2 +(−2) +(−2)
2

=
√12 = √2
√1 +(−1) +2
2 2 2
√6
La forma constructiva de hallar la distancia (dada por la distancia entre el punto
dado y el punto de intersección del plano perpendicular con la recta), es más larga y
no compensa.

EJECUTABLE 12 PROCESSING .

65
16. EBAU. CUESTIÓN 2A junio 2006

Las trayectorias de dos aviones vienen dadas por las rectas:

{ {
x=1+ λ x=1−λ
r: y =1−λ r: y=λ
z=1+2 λ z=2

i) Estudie si las trayectorias se cortan, se cruzan o son coincidentes.

ii) Calcule la distancia mínima entre ambas trayectorias.

i) r1 : ⃗{ P( 1,1,1)
v 1=( 1,−1 ,2)
r2 : ⃗ {P(1,0,2)
v 2=(−1 ,1 , 0)

P 1 P2 =( 0, -1, 1)

Las rectas no son paralelas porque los vectores dirección no son proporcionales.

| |
0 −1 1
Rango(⃗
P 1 P2 ) = 1 −1 2 = 2≠ 0 , el rango es tres, las rectas se cruzan.
−1 1 0

ii) Para hallar la mínima distancia entre las rectas hallamos el plano π que contiene a r1
y es paralelo a r2.

| |
x−1 y−1 z −1
Π: 1 −1 2 = 0; -2x -2y + 4 =0; π: x + y -2 = 0
−1 1 1

Entonces d(r1, r2)= d(P2, π) = | 1+0+0−2


√1+1 |=
1
√2
a) EJECUTABLE 6 PROCESSING .

b) EJECUTABLE 15 PROCESSING .

66
17. EBAU. CUESTIÓN 2B junio 2006

La trayectoria de un proyectil viene dada por la recta:

{
x=2− λ
r: y =3+ λ
z=1+2 λ

i) Estudie si el proyectil impactará con la superficie del plano 3x + y –z = 0.

ii) La distancia entre P y Q es el modulo del vector ⃗


PQ =(-2, 2, 4).

PQ|= √ (−2)2 +(2)2 +(4)2= √ 24 = 2 √ 6 es la distancia recorrida.


|⃗
EJECUTABLE 5 PROCESSING .

18. EBAU. CUESTIÓN 1B junio 2006

i) Estudiar si los vectores ⃗


v 1= ( a ,−a ,1 ) , ⃗
v 2=(2 a ,1 , 1) y ⃗
v 3 = (1, -1, 1) son
linealmente independientes en función del valor del parámetro a.

i) Estudiamos el rango de la matriz formada por sus coordenadas, para ello hacemos su
determinante:

| |
a −a 1
2a 1 1 = -a –a -2a -1 +a -2a 2= -2a 2 – 3a -1 = 0;
1 −1 −1

−1
2a 2 + 3a + 1 = 0; a=-1; a= ;
2

−1
Para a≠-1 y a≠ los vectores son linealmente independientes.
2

EJECUTABLE 16 PROCESSING .

19. EBAU. CUESTIÓN 1.2 septiembre 2005

67
1. Se consideran los vectores: ⃗ u 1=( 1,1 , 2 ) ,

u 2=(−1,1 , 0 ) , ⃗
v 1=( 0 ,−1 ,1 ) y ⃗
v 2=( 1 ,−2 , 0 ) .

Demostrar que para todo número real a, el vector (-2a, 3a, a) es combinación lineal
de u1 y u2 y también de v1 y v2.

2. Elegir tres vectores linealmente independientes entre los u1, u2, v1 y v2 y


escribir el otro como combinación lineal de ellos.

1. Para ver que el vector (-2a, 3a, a) es combinación lineal de u1, u2 basta con estudiar
el rango de la matriz formada por sus coordenadas, para ello hacemos su determinante:

| |
1 1 2
−1 1 0 =0;
−2 a 3 a a

Tiene menores no nulos por tanto el tercero se puede escribir como combinación lineal
de los dos primeros.

De la misma forma v1 y v2:

| |
0 −1 1
1 −2 0 =0;
−2 a 3 a a

Tiene menores no nulos por tanto el tercero se puede escribir como combinación lineal
de los dos primeros.

2. Veamos el determinante formado por las coordenadas u1, u2, v1

| |
0 −1 1
1 −2 0 ≠0;
−2 a 3 a a

Luego esos tres vectores forman una base de R3, luego v2 se podrá escribir como
combinación lineal de ellos:

V2= xu1 + yu2 + zv1

X(1, 1, 2) + y(-1, 1, 0) + z(0, -1, 1) = (1, -2, 0) Separando coordenadas:

{ | |
x− y =1 1 −1 0
x+ y −z=−2 |M |= 1 1 −1 = 4;
2 x + z=0 2 0 1

68
| | | | | |
1 −1 0 1 1 0 1 −1 1
−2 1 −1 −1 1 −2 −1 −5 1 1 −2 1
X= = ; y= = ; z= = ;
0 0 1 4 2 0 1 4 2 0 0 2
4 4 −52

−1 5 1
Por tanto: v2 = u 1− u 2+ v 1
4 4 2

EJECUTABLE 17 PROCESSING .

20. EBAU. CUESTIÓN 1.2 junio 2005

1. Demostrar que cualquiera que sea el valor de a, los vectores: u1¿ ( a , 1 ,2 ) u2


¿ ( 1,1 , a ) u3¿ ( 3 a−2,1 ,6−2 a ) son linealmente independientes.

2. Si a = 2, escribir el vector w = (9, 2, 4) como combinación lineal de los vectores


u1 y u2.

1. Estudiamos el rango de la matriz formada por sus coordenadas, para ello hacemos su
determinante:

| |
a 1 2
1 1 a =0;
3 a−2 1 6−2a

Luego los vectores u1 u2 y u3 son linealmente dependientes.

2. se trata de escribir el vector w = (9,2,4) como combinación lineal de los vectores u1=
(2,1,2) y u2 = (1, 1, 2).

W= xu1 + u2; (9, 2, 4) = x(2, 1, 2) + y(1, 1, 2).

{
2 x + y =9
Separando coordenadas x+ y=2 La última ecuación es la segunda multiplicada
2 x +2 y=4
por 2. Restando las dos primeras llegamos a x= 7, por tanto y= -5.

Podemos escribir w= 7u1 -5u2

EJECUTABLE 17 PROCESSING .

69
70

También podría gustarte