App inventor 2 en español
Cómo programar los teléfonos móviles con Android.
Curso de App inventor 2 en español - Juan Antonio Villalpando
-- Tutorial de iniciación de App Inventor 2 en español --
Volver al índice del tutorial
___________________________
167.- Cálculo del módulo de un vector 3D.
p167_javascript_vector_3d.aia
- Tenemos tres vectores: x, y, z.
- Queremos calcular su suma vectorial v, es decir su módulo.
- Para calcular el módulo v, utilizamos esta expresión.
- Esto se puede hacer facilmente con los bloques de App Inventor, pero en esta ocasión vamos a realizarlo con JavaScript.
- Utilizaremos este código:
modulo_vector.htm |
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head><body>
<script>
datos = window.AppInventor.getWebViewString(); // Entrada de datos.
datos = datos + ":";
variables = datos.split(":");
x = variables[0];
y = variables[1];
z = variables[2];
vector = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2));
window.AppInventor.setWebViewString("" + vector); // Salida de datos.
</script>
</body></html>
|
_________________
- Diseño.
- Ponemos un VisorWeb, en esta ocasión lo pondremos No Visible desde el Diseño, ya que simplemente lo utilizamos para ejecutar el código JavaScript, pero no es necesario que muestre ninguna información.
_________________
- Bloques.
- Mientras estamos depurando el programa con App inventor dejamos la dirección que está puesta:
file:///mnt/sdcard/AppInventor/assets/modulo_vector.htm.
Cuando lo vayamos a Generar para obtener el archivo de instalación .apk, previamente cambiamo la dirección del archivo a:
file:///android_asset/modulo_vector.htm
_________________
- Comentarios.
- En esta línea:
window.AppInventor.setWebViewString("" + vector); // Salida de datos.
- Prueba la diferencia de poner:
window.AppInventor.setWebViewString(vector); // Salida de datos.
_________________
- Propuesta.
- Situa un Sensor Acelerómetro. Obtén sus componentes de aceleración X, Y, Z y calcula el vector aceleración como hemos visto en este tutorial.
__________________________________
|