VECTORES EN EL ESPACIO

Anuncio
HTML CON JAVASCRIPT
VECTORES EN EL ESPACIO
PRODUCTO ESCALAR, VECTORIAL Y MIXTO DE VECTORES
Vamos a construir un documento en formato HTML que se pueda visualizar con un navegador y en el que
incluiremos una pequeña aplicación en JavaScript que nos permita calcular el producto escalar, vectorial y
mixto de tres vectores cualesquiera. Considera los vectores u(2,2,1), v(4,3,0) y w(0,12,5) ¿Cómo hallar el
producto escalar uv, el producto vectorial uxv y el producto mixto (u,v,w) automáticamente?
Lo que pretendemos construir se ilustra en la siguiente figura:
Si es preciso consulta la introducción a los documentos HTML que se incluye en el documento intro.
CÓDIGO
Introduce el siguiente documento HTML en el Bloc de notas (Notepad) o utiliza el procedimiento de “copiar y
pegar”. Puedes guardarlo en formato “solo texto” con nombre vectores.htm. No olvides la extensión .htm
para que sea interpretado como un documento en formato HTML y puedas visualizarlo en tu navegador
(Explorer o similar).
<html>
<head>
<title>Vectores</title>
<script >
function calcular()
{
ux=parseFloat(document.vect[0].value);
uy=parseFloat(document.vect[1].value);
uz=parseFloat(document.vect[2].value);
vx=parseFloat(document.vect[3].value);
vy=parseFloat(document.vect[4].value);
vz=parseFloat(document.vect[5].value);
wx=parseFloat(document.vect[6].value);
wy=parseFloat(document.vect[7].value);
wz=parseFloat(document.vect[8].value);
document.vect.uv.value=ux*vx+uy*vy+uz*vz;
uvx= uy*vz-uz*vy ; uvy=-ux*vz+uz*vx ; uvz= ux*vy-uy*vx;
document.vect.uvx.value=uvx ; document.vect.uvy.value=uvy ; document.vect.uvz.value=uvz;
document.vect.uvw.value=(ux*vy*wz+uy*vz*wx+vx*wy*uz)-(uz*vy*wx+uy*vx*wz+vz*wy*ux);
document.vect.mu.value= Math.sqrt(ux*ux+uy*uy+uz*uz);
document.vect.mv.value= Math.sqrt(vx*vx+vy*vy+vz*vz);
document.vect.mw.value= Math.sqrt(wx*wx+wy*wy+wz*wz);
document.vect.uxv.value= Math.sqrt(uvx*uvx+uvy*uvy+uvz*uvz);
}
</script>
</head>
<body text=white bgcolor=blue>
Introduce las coordenadas de tres vectores:
<form name="vect">
u =<input type="text" size="3"><input type="text" size="3"><input type="text" size="3"><BR>
v =<input type="text" size="3"><input type="text" size="3"><input type="text" size="3"><BR>
w=<input type="text" size="3"><input type="text" size="3"><input type="text" size="3">
<input type="button" value="Calcular" onClick="calcular()"><BR><BR>
|u|=<input type="text" size="5"name="mu">
|v|=<input type="text" size="5"name="mv">
|w|=<input type="text" size="5"name="mw"><BR>
Producto escalar............u v = <input type="text" size="3" name="uv"><BR>
Producto vectorial.......u x v=( <input type="text" size="3"name="uvx">,
<input type="text" size="3"name="uvy">,
<input type="text" size="3"name="uvz">)<BR>
Producto mixto..........(u,v,w)=<input type="text" size="3"name="uvw"><BR>
Módulo del producto vectorial....|uxv|=<input type="text" size="3"name="uxv"><BR>
</form>
</body>
</html>
DESCRIPCIÓN:
Hay que distinguir dos partes:
•
La primera es la cabecera ( incluida entre <head> y </head>) y contiene un título del documento y una
construcción con JavaScript ( incluida entre <script> y </script>) que contiene una función calcular( )
para obtener los diferentes productos y módulos a partir de los valores introducidos en el formulario que
luego se describe.
La función calcular comienza leyendo los datos introducidos en las casillas del formulario vect. Las 9
primeras casillas (numeradas de 0 a 8) contienen las coordenadas de los tres vectores. Al leerlos se les
antepone la función ParseFloat para que los valores sean considerados como números. Con estos valores
se obtiene el producto escalar uv y se asigna al valor de la casilla del formulario vect denominada uv.
Esto se consigue con la expresión document.vect.uv.value= . De igual forma se obtiene el producto
mixto (determinante) y las coordenadas del producto vectorial y se asignan a la “propiedad value” de las
casillas correspondientes del formulario. Para hallar la raíz cuadrada que aparece en el cálculo de
módulos se utiliza la función Math.sqrt(..).
•
La parte final ( incluida entre <body> y </body>) contiene lo que realmente se visualiza en pantalla. Tras
un título aparece el “formulario vect” ( definido entre <form> y </form>) que contiene 9 casillas para
albergar las coordenadas de los vectores u, v y w, un botón “Calcular” que al ser pulsado ( OnClick)
invoca la función calcular( ) y varias casillas inferiores para mostrar los diferentes resultados. Al invocar
la función calcular() se desencadena la lectura de datos y el cálculo y escritura de resultados en las
casillas inferiores.
UTILIZACIÓN:
Para abrir el documento creado basta hacer doble clic con el ratón sobre su nombre y el navegador nos
mostrará en pantalla el formulario en blanco.
Para introducir el vector u(2,2,1) sitúa el cursor sobre la primera casilla y escribe 2, en la segunda casilla 2, y
en la tercera 1. Puedes saltar a cada casilla siguiente pulsando la tecla tabulador. Introduce a continuación las
coordenadas de los otros vectores v y w. No olvides el signo si algún coeficiente es negativo. Al pulsar el
botón Calcular obtendrás los resultados en las casillas inferiores.
PRÁCTICA:
•
Introduce en la hoja las coordenadas de los siguientes vectores u, v y w y obtén los correspondientes
productos escalar, vectorial y mixto, así como sus respectivos módulos.
u:=[1, 2, 1]
v:=[-1, 1, -1]
w:=[0, 3, 0]
u:=[0, 0, 0]
v:=[-1, 1, -2]
w:=[0, 2, -1]
u:=[123, 675, 432]
v:=[-317, 401, -212]
w:=[10, 27, -19]
u:=[3.51 , 1.37 , 2.41]
v:=[-1.23 , 2.31 , -7.22]
w:=[0.11 , 2.43 , -1.06]
•
Para tres vectores u,v y w cualesquiera halla los siguientes productos deduciendo de los resultados las
correspondientes propiedades:
Producto escalar:
uv
vu
uu
Producto vectorial:
uxv
Producto mixto:
(u,v,w) (v,u,w)
vxu
uxu
u0
( vector 0(0,0,0) )
u x 3u ( toma como vector v el triple de u)
•
Considera los vectores i=[1, 0, 0], j=[0, 1, 0] y k=[0, 0, 1]. Halla los siguientes productos
vectoriales:
ixj
ixk
jxk
jxi
kxj
kxi
Ten en cuenta en cada caso qué vector debes introducir en la hoja como u y como v.
AMPLIACIÓN
Puedes completar el documento para hallar el ángulo formado por los vectores u y v.
Para ello debes añadir una casilla más al formulario (name=”angulo”) y en la función “calcular” incluir en
una línea la siguiente expresión que calcula el cociente entre el producto escalar y el producto de los
módulos:
Document.vect.angulo.value=
(uv=ux*vx+uy*vy+uz*vz)/( Math.sqrt(ux*ux+uy*uy+uz*uz)* Math.sqrt(vx*vx+vy*vy+vz*vz))
Si previamente asignamos a uv, mu y mv el producto escalar y los módulos, la expresión se reduce a la
siguiente:
Document.vect.angulo.value=uv/(mu*mv)
Puesto que el modulo de un vector (a,b,c) se utiliza varias veces puedes definir una función de la siguiente
forma:
function modulo(a,b,c)
{ return Math.sqrt(a*a+b*b+c*c) }
Inclúyelo antes de la función calcular() ( después de la línea <script > ) y modifica las líneas
correspondientes a:
módulo de u
= modulo(ux,uy,uz)
Módulo de v
= modulo(vx,vy,vz)
Módulo de w
= modulo(wx,wy,wz)
Módulo de uxv
=modulo(uvx,uvy,uvz)
También puedes ampliar el formulario e incluir casillas para hallar la suma de los dos vectores u+v y el
producto de un escalar k por el vector u. Para ello deberás insertar una casilla en el bloque inicial para
introducir el valor de k y dos filas de tres casillas en el bloque final para mostrar las coordenadas de u+v y de
ku. En la función calcular() deberás añadir las líneas correspondientes para leer k, y para calcular y mostrar
u+v y ku.
Descargar