12.07.2015 Views

Universidad de - Escuela Superior de Informática (UCLM ...

Universidad de - Escuela Superior de Informática (UCLM ...

Universidad de - Escuela Superior de Informática (UCLM ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAPÍTULO 5. ARQUITECTURA DE ATRAVELMódulo <strong>de</strong> procesamientoY: Contiene el valor correspondiente al eje <strong>de</strong> coor<strong>de</strong>nas Y. Es <strong>de</strong> tipo float ya que esimportante obtener suficiente precisión en los cálculos.Z: Contiene el valor correspondiente al eje <strong>de</strong> coor<strong>de</strong>nas Z. Es <strong>de</strong> tipo float al igual ypor el mismo motivo que los valores en los ejes anteriores.Algunas <strong>de</strong> las funciones <strong>de</strong>stacables <strong>de</strong> esta estructura son:1. Calcular el ángulo entre dos vectores: Permite calcular el ángulo que forman dosvectores en el espacio 3D. El pseudocódigo es el siguiente:Algoritmo 1 Calcular ángulo existente entre dos vectores.Entrada: Dados dos vectores en el espacio 3D <strong>de</strong> la forma V = (V x ,V y ,V z ) y U =(U x ,U y ,U z ).Salida: Devuelve un Float que expresa el número <strong>de</strong> grados que existe entre los dosvectores.√√Value = ((V x ·U x ) + (V y ·U y ) + (V z ·U z ))/( V 2 x +V 2 y +V z2 · U 2 x +U 2 y +U 2 z )nguloenradianes = arccosValuenguloengrados = math.<strong>de</strong>grees(nguloenradianes).<strong>de</strong>volver nguloengrados.En esta función se realiza el producto <strong>de</strong> los dos vectores, componente a componentey se calcula la diferencia entre el producto <strong>de</strong>l módulo <strong>de</strong> ambos vectores.Posteriormente se calcula el ángulo medido en radianes realizando la operación <strong>de</strong>Arcoseno <strong>de</strong> un ángulo. Por último, se pasa el ángulo medido en radianes a grados yes <strong>de</strong>vuelto el valor. El cálculo <strong>de</strong> este valor, está basado en los conceptos explicadosen la sección 3.2.3.2. Calcular si dos vectores unitarios se encuentran en la misma dirección: En estafunción se <strong>de</strong>terminada si dos vectores unitarios se encuentran en una direcciónsimilar o no. Para ello existe una constante o umbral cuyo valor permite establecer ellímite para establecer si dos vectores diferentes se encuentran en la misma dirección.Para calcular la dirección <strong>de</strong>l vector se calcula la diferencia en valor absoluto entrelos valores <strong>de</strong> los tres ejes <strong>de</strong> coor<strong>de</strong>nadas. Si la suma <strong>de</strong> todos los valores es superioral umbral previamente establecido, entonces se dice que los dos vectores no seencuentran en una dirección similar, por lo que se encuentran en distinta dirección.3. Calcular la distancia euclí<strong>de</strong>a entre dos puntos: Esta función permite calcular ladistancia entre dos puntos situados en el espacio euclí<strong>de</strong>o. El pseudocódigo es elsiguiente:101

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!