Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





extraño error que no entiendo..

Iniciado por wintermute83, 19 de Diciembre de 2010, 01:27:40 PM

« anterior - próximo »

wintermute83

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);
    }

}

wintermute83

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.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.