martes, 24 de noviembre de 2009

MRUV

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author program
*/
public class MovRecUniVar {

Matriz posicion;
Matriz velocidad;
Matriz aceleracion;

public MovRecUniVar(){

}

public MovRecUniVar(Vector3D pos, Vector3D velo, Vector3D ace){
posicion = pos;
velocidad = velo;
aceleracion = ace;
}

public void calculaPosición(Vector3D r0, Vector3D vel,Vector3D a,double t){
posicion = r0.suma(vel.productoVectorEscalar(t)).suma(a.productoVectorEscalar(Math.pow(t,2)/2));

}

public void calculaVelocidad(Vector3D vel0, Vector3D a, double t){
velocidad = vel0.suma(a.productoVectorEscalar(t));

}

public void calculaAceleracion(Vector3D vel, Vector3D vel0, double t){

//aceleracion = a;
aceleracion = (vel.productoVectorEscalar(Math.pow(1,1)/2)).resta(vel0.productoVectorEscalar(Math.pow(1,1)/2));
}
public static void main(String args[]){
MovRecUniVar m = new MovRecUniVar();
Vector3D r0 = new Vector3D(5,0,0);
Vector3D v0 = new Vector3D(0,0,0);
Vector3D a = new Vector3D(3,0,0);
Vector3D v = new Vector3D(10,0,0);
double t = 2;

m.calculaPosición(r0, v0, a, t);
m.calculaVelocidad(v0,a, t);
m.calculaAceleracion(v,v0,t);

System.out.println("Posicion a los 2s para r0 = \n " +m.posicion+
"\nvelocidad a t = 2s\n"+m.velocidad+"\n aceleracion\n"+m.aceleracion );
}

}

2 comentarios:

  1. hola jarra la aceleracion es constante:
    aceleracion = (vel.productoVectorEscalar(Math.pow(1,1)/2)).resta(vel0.productoVectorEscalar(Math.pow(1,1)/2));

    te falta la clase matriz y la clase vector3D sino no puede heredar la una de la otra

    ResponderEliminar
  2. Hola debes incluir la clase Matriz y vector 3D pues es donde inicialmente se ubican los métodos que utilizas en la clase MRUV...y la aceleracion en este movimiento es considerada una constante no hacia falta que la calcularas asi
    aceleracion = (vel.productoVectorEscalar(Math.pow(1,1)/2)).resta(vel0.productoVectorEscalar(Math.pow(1,1)/2));

    ResponderEliminar