@Override
    public double[] calculateJulia3DWithoutPeriodicity(Complex pixel) {
        iterations = 0;
        double temp = 0;

        Complex[] complex = new Complex[2];
        complex[0] = new Complex(pixel);
        complex[1] = new Complex(seed);//c

        Complex zold = new Complex();
        Complex zold2 = new Complex();

        if(parser.foundS()) {
            parser.setSvalue(new Complex(complex[0]));
        }

        if(parser2.foundS()) {
            parser2.setSvalue(new Complex(complex[0]));
        }

        if(parser.foundP()) {
            parser.setPvalue(new Complex());
        }

        if(parser2.foundP()) {
            parser2.setPvalue(new Complex());
        }

        for(; iterations < max_iterations; iterations++) {
            if((temp = complex[0].distance_squared(zold)) <= convergent_bailout) {
                Object[] object = {iterations, complex[0], temp, zold, zold2};
                double[] array = {Math.abs(out_color_algorithm.getResult3D(object)) - 100800, out_color_algorithm.getResult(object)};
                return array;
            }
            zold2.assign(zold);
            zold.assign(complex[0]);
            function(complex);

            if(parser.foundP()) {
                parser.setPvalue(new Complex(zold));
            }

            if(parser2.foundP()) {
                parser2.setPvalue(new Complex(zold));
            }

        }

        Object[] object = {complex[0], zold};
        double temp2 = in_color_algorithm.getResult(object);
        double result = temp2 == max_iterations ? max_iterations : max_iterations + Math.abs(temp2) - 100820;
        double[] array = {result, temp2};
        return array;

    }