public static Punkt3D relativeToAbsolutePunkt3D(Punkt3D punkt,int direction)
    {
        Punkt3D p = new Punkt3D(punkt);
        if(direction == Consts.NORTH)
        {
            p.setX(p.abs()/Math.sqrt(2));
            p.setY(p.abs()/Math.sqrt(2));
        }
        else if(direction == Consts.EAST)
        {
            p.setX(-p.abs()/Math.sqrt(2));
            p.setY(p.abs()/Math.sqrt(2));
        }
        else if(direction == Consts.SOUTH)
        {
            p.setX(-p.abs()/Math.sqrt(2));
            p.setY(-p.abs()/Math.sqrt(2));
        }
        else if(direction == Consts.WEST)
        {
            p.setX(p.abs()/Math.sqrt(2));
            p.setY(-p.abs()/Math.sqrt(2));
        }
        else if(direction == Consts.NORTHWEST)
        {
            p.setX(p.abs());
            p.setY(0);
        }
        else if(direction == Consts.NORTHEAST)
        {
            p.setX(0);
            p.setY(p.abs());
        }
        else if(direction == Consts.SOUTHEAST)
        {
            p.setX(-p.abs());
            p.setY(0);
        }
        else if(direction == Consts.SOUTHWEST)
        {
            p.setX(0);
            p.setY(-p.abs());
        }
        return p;
    }