/**
  Clase Triangulo. Permite expresar las funciones
de Trigonometria para un triangulo rectangulo (aquel
que tiene un angulo de 90 grados)
  Autor: Gustavo De la Cruz y el 312
  Fecha: 17 de Agosto 2001
*/
public class Triangulo {
  //propiedades
/** Propiedad que contiene el valor del 
   hipotenusa 
*/
  public double hipotenusa;
/** Propiedad que contiene el valor del 
   cateto Adyacente 
*/
  public double catetoAdyacente;
/** Propiedad que contiene el valor del 
    cateto Opuesto
*/
  public double catetoOpuesto;
/** Propiedad que contiene el valor del
angulo formado por el cateto Adyacente y
el hipotenusa
*/
  public double anguloA;
/** Propiedad que contiene el valor del
angulo formado por el cateto Opuesto y
el hipotenusa
*/
  public double anguloB;
//metodos
/** Calcula el hipotenusa de un triangulo
  a partir del catetoAdyacente y catetoOpuesto
  usando la relacion b*b + c*c
  @return Valor del hipotenusa
*/
  public double Hipotenusa() {
    double d = catetoAdyacente*catetoAdyacente +
      catetoOpuesto*catetoOpuesto;
    return Math.sqrt(d); 
  }
/** Calcula el catetoAdyacente  de un triangulo
  a partir del hipotenusa y catetoOpuesto
  usando la relacion a*a - b*b
  @return Valor del cateto adyacente
*/
  public double Adyacente() {
    double d = hipotenusa*hipotenusa -
       catetoOpuesto*catetoOpuesto;
    return Math.sqrt(d);
  }
/** Calcula el catetoOpuesto  de un triangulo
  a partir del hipotenusa y catetoAdyecente
  usando la relacion a*a - c*c
  @return Valor del cateto opuesto
*/
  public double Opuesto() {
    double d = hipotenusa*hipotenusa -
       catetoAdyacente*catetoAdyacente;
    return Math.sqrt(d);
  }
/** Calcula el AnguloOpuesto  de un triangulo
  a partir del hipotenusa y catetoOpuesto
  usando la relacion angsin(b/a)
  @return Valor del angulo opuesto en radianes
*/
  public double anguloOpuesto()  {
    double d = catetoOpuesto / hipotenusa;
    anguloB= Math.asin(d);
    return anguloB;
  }
/** Calcula el AnguloAdyacente  de un triangulo
  a partir del hipotenusa y catetoAdyacente
  usando la relacion angsin(c/a)
  @return Valor del angulo adyacente en radianes
*/

  public double anguloAdyacente()  {
    double d = catetoAdyacente / hipotenusa;
    anguloA= Math.acos(d);
    return anguloA;
  }
}//Triangulo