domingo, 22 de noviembre de 2009

MRU

MRU
MATRIZ

public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;


public Matriz(){
}
public Matriz(int nF, int nC){
numeroFilas = nF;
numeroColumnas = nC;
matriz = new double [numeroFilas][numeroColumnas];

for(int i=0; i < numeroFilas; i++)
for(int j=0; j < numeroColumnas; j++)
matriz[i][j]=0;
}

public Matriz suma(Matriz b){
Matriz resultado;
if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){
resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++)
for(int j=0; j < this.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;
}
else
System.out.println("DIMENSIONES ERROR");
resultado=null;
return resultado;
}

public Matriz multiplicacion(Matriz b){
Matriz resultado;
if(this.numeroFilas == b.numeroColumnas){
resultado=new Matriz(this.numeroFilas,b.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++){
for(int j=0; j < b.numeroColumnas; j++){
for(int k=0; k < this.numeroFilas; k++)
resultado.matriz[i][j] += (this.matriz[i][k]*b.matriz[k][j]);
}
}
return resultado;
}
else
System.out.println("DIMENSIONES ERROR ");
resultado = null;
return resultado;
}
public String toString(){
String aux="\n[\n";
for(int i=0; i < numeroFilas; i++){
for(int j=0; j < numeroColumnas; j++){
aux += matriz[i][j]+" ";
}
aux+="\n";
}
aux+= "]";
return aux;
}
}

VECTOR3D

public class Vector3D extends Matriz {
private static Object v;
double coorX;
double coorY;
double coorZ;

public Vector3D (){
super(1,3);
}
public Vector3D(double x, double y, double z){
super(1,3);
this.matriz[0][0] = x;
this.matriz[0][1] = y;
this.matriz[0][2] = z;
coorX = x;
coorY = y;
coorZ = z;
}
public double magnitud(){
double resultado = 0;
//double suma;
for(int i = 0; i < 3; i++ ){
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);
return resultado;
}

public double magnitud1(){
double resultado;
resultado = this.coorX*this.coorX+this.coorY*this.coorY+this.coorZ*this.coorZ;
resultado = Math.sqrt(resultado);
return resultado;
}
public Vector3D unitario(){
Vector3D unitario = new Vector3D();
for(int i = 0; i < 3; i++)
unitario.matriz[0][i] = this.matriz[0][i]/this.magnitud();
return unitario;
}

public double productoEscalar(Vector3D v){
double resultado = 0;
for(int i = 0; i < 3; i++)
resultado += this.matriz[0][i]*v.matriz[0][i];

return resultado;
}
public double magnitud2(){
double resultado;
resultado = this.coorY*this.coorZ-this.coorY*this.coorZ;

return resultado;
}
public Vector3D productoCruz (Vector3D v){
Vector3D productocruz;
productocruz = new Vector3D();

productocruz.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
productocruz.matriz[0][1] = this.matriz[0][0]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][0];
productocruz.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return productocruz;
}
public static void main(String args[]){
Vector3D v1 = new Vector3D(-1, 1, -1);
Vector3D v2 = new Vector3D(0,2,0);
System.out.println(v1+"\n"+v2+"\n suma "+(v1.suma(v2)));
System.out.println("Coordenada x "+v1.coorX);
System.out.println(v1.magnitud()+"\n"+v1.magnitud1());
System.out.println(v1.unitario());
System.out.println((v1.unitario()).magnitud());
System.out.println("Producto escalar "+v1.productoEscalar(v2));
System.out.println("Producto cruz "+v1.productoCruz (v2));

}
}
MRU

public class MovRecUni {
Matriz posicion;
Matriz velocidad;
Matriz aceleracion;

public MovRecUni(){
}
public MovRecUni(Vector3D pos, Vector3D velo, Vector3D ace){
posicion = pos;
velocidad = velo;
aceleracion = ace;
}
public void calculaPosición(Vector3D r0, Vector3D vel,double t){
posicion = r0.suma(vel.productoVectorEscalar(t));

}
public void calculaVelocidad(Vector3D vel, double t){
velocidad = vel;
}
public void calculaAceleracion(double t){
Vector3D a = new Vector3D();
aceleracion = a;
}
public static void main(String args[]){
MovRecUni m = new MovRecUni();
Vector3D r0 = new Vector3D(1,0,-1);
Vector3D v = new Vector3D(0,5,0);
double t = 4;

m.calculaPosición(r0, v, t);
m.calculaVelocidad(v, t);
m.calculaAceleracion(t);
System.out.println("Posicion a los 2s para r0 = [i-k] y v0 =[5j] )\n
" +m.posicion+"\nvelocidad a t = 2s\n"+m.velocidad+"\n
aceleracion\n"+m.aceleracion );
}
}

No hay comentarios:

Publicar un comentario