正方形運算規則下的圖形編程

之前我們講了正三角形運算規則下的圖形編程。

正方形運算規則下的圖形編程

它有3種運算規則,如果我們使用4種運算規則,會有什麼情況發生呢?


下面,我定義了一個正方形運算規則。


大家可以想象一個正方形或者十字。


①0代表什麼都沒發生


②-2代表向上


③+2代表向下


④-1代表向左


⑤+1代表向右


現在我們隨便輸入一些數字,讓它們使用上面的任一規則,看最後會發生什麼?


OK,我們預設了這幾組數字。

第一組:1、3、5、7

第二組:1、2、6、9

第三組:1、2、4、6

第四組:5、5、6、6

第五組:3、4、5、6


現在開始:


第一組:

正方形運算規則下的圖形編程

第二組:

正方形運算規則下的圖形編程

第三組:

正方形運算規則下的圖形編程

第四組:

正方形運算規則下的圖形編程

第五組:

正方形運算規則下的圖形編程

你們一會兒可以複製代碼,自己玩,只要顯示器夠大,理論上可以有無限多的組合。


(新建一個文本文檔,複製下面的代碼,然後保存退出,把文件名後綴改成.html,用瀏覽器打開,就可以執行程序了)


代碼如下:



輸入數字:


<button>確定/<button>


<canvas>



function p(a,b,c,d){


var r=20;

var s=30;

var x0=700;

var y0=800;


var br=document.createElement("br");

document.body.appendChild(br);


var v=document.getElementById("myCanvas");

var cxt=v.getContext("2d");


cxt.fillRect(x0, y0, 20, 20);

cxt.fill();


for(x1=-2;x1<3;x1++){

for(x2=-2;x2<3;x2++){

for(x3=-2;x3<3;x3++){

for(x4=-2;x4<3;x4++){


var x=x0

+(

(x1%2)*a+

(x2%2)*b+

(x3%2)*c+

(x4%2)*d

)*s;


var y=y0

+(

parseInt(x1/2)*a+

parseInt(x2/2)*b+

parseInt(x3/2)*c+

parseInt(x4/2)*d

)*s;


cxt.beginPath();

cxt.fillStyle ="#000000";

cxt.fillRect(x, y, 20, 20);

cxt.closePath();

cxt.fill();

}

}

}

}

}


分享到:


相關文章: