双层矩阵

时间:2016-12-11 09:33:05

标签: java matrix double layer mandelbrot

我目前正试图将形状可视化为准备,然后最终继续观察Mandelbrot方程。我虽然已经解决了一些问题。在我的渲染方法中,我获取具有复杂值的矩阵,并将颜色矩阵放在其上。对于最高分辨率,这是有效的,因为colormatrix元素中的像素大小与complexmatrix中的元素具有相同的高度和宽度。我的问题是如何将其用于较低分辨率? :P

public void render(MandelbrotGUI gui) {
        gui.disableInput();
        Complex[][] complex = this.mesh(gui.getMinimumReal(), gui.getMaximumReal(), 
                gui.getMinimumImag(), gui.getMaximumImag(), gui.getWidth(), gui.getHeight());
        int res = 0;
        switch(gui.getResolution()){
        case 2048: res = 1;
        break;
        case 1024: res = 3;
        break;
        case 512: res = 5;
        break;
        case 256: res = 7;
        break;
        case 128: res = 9;
        break;
        }
        Color[][] picture = new Color[gui.getHeight()][gui.getWidth()];
        switch(gui.getMode()){
        case 32: 
            for(int k = 0; k < gui.getWidth(); k++){
                for(int i = 0; i < gui.getHeight(); i++){
                    if(Math.sqrt(complex[i][k].getAbs2()) > 1){
                        picture[i][k] = Color.BLACK;
                    }
                    else{
                        picture[i][k] = Color.WHITE;
                    }
                }
            }
            gui.putData(picture, 1*res, 1*res);
            gui.enableInput();
            break;
        case 64: break;
        }
    }

0 个答案:

没有答案