Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CARTAGENA
Desarrollo e implementación de un
software para la representación gráfica
de geometría matemática para su
aplicación docente.
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.
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.
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.
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.
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.
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.
1. Lenguaje C.
5
Ilustración 1. Logo lenguaje c.
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.
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.
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++.
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.
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.
A continuación, se van a citar y explicar sus mejores características y sus mayores usos.
4. 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.
5. JavaScript.
10
Ilustración 5. Logo lenguaje JavaScript.
JavaScript está diseñado para que corra en los principales navegadores web como
pueden ser Chrome, FireFox, Opera, Explorer, etc.
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.
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.
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.
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.
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.
Éstas son algunas de las características de Processing que lo hacen apto para muchos
propósitos:
• 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.
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.
PeasyCam jcam;
void setup() {
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(0);
endShape();
// Fin código
Para escribir, "EJE X +" , "EJE Y +", "EJE Z+" utilicé el siguiente código.
// Inicio código
textSize(15);
18
text("EJE Y +", 0, 100, 0); // Escribe "EJE Y +" 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
stroke(0);
endShape();
strokeWeight(1);
textSize(5);
text(" " + i + " ", (i)*100, (0)*100, (0)*100); // crea los números del eje x
text(" " + i + " ", (0)*100, (i)*100, (0)*100); // crea los números del eje y
text(" " + i + " ", (0)*100, (0)*100, (i)*100); // crea los números del eje z
fill(0);
textSize(15);
19
}
// Fin código
// Inicio código
// Fin código
// Inicio código
20
beginShape(LINES);
endShape();
// Fin código
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);
endShape( );
22
puntosdeplano1 [0]= puntointerseccion1 [0] + 5*perpendicular
[0]/moduloperpendicular;
// Fin código
23
Ilustración 9. Representación plano en processing.
// Inicio código
dibujo2d();
// Fin código
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
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
}}
// Fin código
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(keyPressed==true) {
numero[0]=key-48;
numero2[0] = float(numero[0]);
numeropositivo[0]=numero[0];
print(numero[0]+" ");
//print(numero2[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){
if(menos[0]==1){
// 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.
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.
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)
29
Ilustración 12. Interfaz GeoGebra.
30
Ilustración 13. Interfaz GeoGebra.
31
7.- Comparació n processing versus
GeoGebra
{ {
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
Para calcular la distancia hago un plano que contenga a s y que sea paralelo a r.
⃗
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.
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.
34
6. Por últimos vamos a la herramienta de medir y obtenemos la distancia del
vector.
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.
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.
38
9.- Puntos a mejorar del proyecto.
Existen varios puntos que tienen aspectos a mejorar.
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.
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.
43
12.- Bibliografía.
1.
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.
⃗
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 )
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.
⃗
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.
Ejercicio. Halla el ángulo que forman los vectores u⃗ (1, 5, 0 ) y u⃗ (–3, 0, 2 ) .
En realidad, hay dos ángulos que tienen por coseno : +99.4 y -99.4 (260.6). Deberíamos
EJECUTABLE 3 PROCESSING.
4. Producto vectorial.
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.
{
x=1+t
y=2+t .
z=t
EJECUTABLE 5 PROCESSING.
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
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
EJECUTABLE 6 PROCESSING.
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.
{
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.
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.
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.
| 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.
{
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.
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.
{
x=1−t
Ejercicio. Calcula la distancia entre la recta r: y=2 y el plano 𝝿 : x +¿ y+1z +1
z=1+ t
=0.
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.
{ {
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
Para calcular la distancia hago un plano que contenga a s y que sea paralelo a r.
⃗
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.
( )
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
EJECUTABLE 16 PROCESSING.
( )
1 –1 3
DET = 1 0 – 1 =m+ 4
m 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.
{ax−z=a−1
y−x =0
{
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.
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
56
La distancia de la recta r al plano π es la distancia de un punto, por ejemplo P (1, 0,
EJECUTABLE 14 PROCESSING.
b) En caso de que la recta corte al plano, calcule el punto de corte y el ángulo que
forman.
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) EJECUTABLE 14 PROCESSING.
x+1 y +3 z
Considere la recta r: = = y el plano π : x - 2y - z =-1.
−1 2 1
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.
El vector ortogonal de π es ⃗
w = (1, -2,-1),
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.
x+1 y +3 z
r: = = π : 7x - y =8
−1 2 1
58
6. EBAU. CUESTIÓN A2 junio 2014
{
x=2−3t
y=−1+2 t
z=t
{
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
EJECUTABLE 6 PROCESSING.
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:
|
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:
60
{
x=t
Ahora hallamos el punto de intersección de este plano con la recta s: y=−1
z=−2+2 t
x−8 y +1
La perpendicular común es = =z−14
−2 −2
9
Entonces la d(Q, π)= =¿3
√9
EJECUTABLE 15 PROCESSING.
x y z +6 x−5 y−1 z −6
r: = = s: = =
7 a−4 5 a−6 3 −1 4
a)
{ Q(5,1,6)
w =(3 ,−1 , 4)
⃗
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.
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.
{
x=−2+t
r: y=2+ t
z=1+t
EJECUTABLE 12 PROCESSING.
{
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
x−1 y
Calcule el punto de la recta r: = =z−1 más cercano al punto P=(1,-2,-7).
2 3
Para hallar el plano sirve como vector ortogonal el de dirección de la recta (2,3,1)
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.
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
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
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
√ √3 = 0,57735
2 2 2
d = (1− 4 ) +(2− 7 ) +(−3+ 8 ) =
3 3 3 3
EJECUTABLE 11 PROCESSING .
{
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)
|⃗⃗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
{ {
x=1+ λ x=1−λ
r: y =1−λ r: y=λ
z=1+2 λ z=2
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
b) EJECUTABLE 15 PROCESSING .
66
17. EBAU. CUESTIÓN 2B junio 2006
{
x=2− λ
r: y =3+ λ
z=1+2 λ
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 .
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.
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.
| |
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.
| |
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:
{ | |
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 .
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
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).
{
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.
EJECUTABLE 17 PROCESSING .
69
70