Hola a todos! estoy teniendo un problemilla de esos que te vuelven loco.
Estoy haciendo una clase sencilla para usar vectores (matemáticos), y todo iba bien hasta que he introducido el método multiplicar.
Muchas gracias!
si quiero sumar un vector hago lo siguiente :
Vector vec = new ( 0,0,0 );
Vector vec2 = new ( 0,0,0 );
Vector sum = new ( 0,0,0 );
sum = vec.add(vec2); // hasta aquí bien sin embargo..
sum = vec.multiply(5); // Cuando imprimo en pantalla las componentes de sum me dice que NAN, por que????
A continuacion la clase vector que uso.
public class Vector {
private float x,y,z;
public Vector ( float x, float y, float z){
this.x = (x);
this.y = (y);
this.z = (z);
}
public float getX(){
return x;
}
public float getY(){
return y;
}
public float getZ(){
return z;
}
public void setX(float x){
this.x = x;
}
public void setY(float y){
this.y = y;
}
public void setZ ( float z ){
this.z = z;
}
public Vector add ( float x,float y,float z ){
float nx,ny,nz;
nx=(this.getX()+x);
ny=(this.getY()+y);
nz=(this.getZ()+z);
return new Vector(nx,ny,nz);
}
public Vector multiply ( float scalar ) {
float nx,ny,nz;
nx = (this.getX()*scalar);
ny = (this.getY()*scalar);
nz = (this.getZ()*scalar);
return new Vector(nx,ny,nz);
}
}
Lo encontré! Siento haber soltado la duda pero pensé que sería por algo mas conceptual.
Resulta que no, que uno de los vectores a los que llamaba valía 0 porque no se actualizaba como debía, de ahí 0/algo = NaN
Gracias de todas formas.