package sample.web3d;
import static util.Generic3DUtil.*;

public class RubicCube {
  
    public static void main(String[] args) {
        int i = 0, j = 0, sp = 30;
    
        start();
    
        pushMatrix();
    
        //素体
        fill(0x000000);
        box(90, 90, 90);
    
        //赤面
        fill(0xff3333);
        translate(-45, -46, 46);
        for(i = 0; i < 3; i++){
            for(j = 0; j < 3; j++){
                rect(1+sp*j, 1+sp*i, 28, 28);
            }
        }
    
        //黄面
        fill(0xffff33);
        translate(0, 0, -92);
        for(i = 0; i < 3; i++){
            for(j = 0; j < 3; j++){
                rect(1+sp*j, 1+sp*i, 28, 28);
            }
        }
    
        //青面
        fill(0x0000cc);
        rotateY(-PI / 2);
        translate(1, 0, -91);
        for(i = 0; i < 3; i++){
            for(j = 0; j < 3; j++){
                rect(1+sp*j, 1+sp*i, 28, 28);
            }
        }
    
        //白面
        fill(0xffffff);
        //rotateY(-PI / 2);
        translate(1, 0, 92);
        for(i = 0; i < 3; i++){
            for(j = 0; j < 3; j++){
                rect(1+sp*j, 1+sp*i, 28, 28);
            }
        }
 
        //緑面
        fill(0x00ff00);
        rotateX(-PI / 2);
        //translate(1, 0, 92);
        for(i = 0; i < 3; i++){
            for(j = 0; j < 3; j++){
                rect(1+sp*j, 1+sp*i, 28, 28);
            }
        }
    
        //橙面
        fill(0xff6600);
        //rotateX(-PI / 2);
        translate(0, 2, 92);
        for(i = 0; i < 3; i++){
            for(j = 0; j < 3; j++){
                rect(1+sp*j, 1+sp*i, 28, 28);
            }
        }
    
        finish();
        return;
    }

}