我試圖繪製一個像素寬度線,從畫布中心開始,並隨着繪製時的畫布寬度/高度比例而變化。如何繪製矩形螺旋?
var x = 0;
var y = 0;
var dx = 0;
var dy = -1;
var width = 200;
var height = 40;
//var i = width * height;
var counter = 0;
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext('2d');
setInterval(function(){
//for (i = Math.pow(Math.max(width, height), 2); i>0; i--) {
if ((-width/2 < x <= width/2) && (-height/2 < y <= height/2)) {
console.log("[ " + x + " , " + y + " ]");
ctx.fillStyle = "#FF0000";
ctx.fillRect(width/2 + x, height/2 - y,1,1);
}
if (x === y || (x < 0 && x === -y) || (x > 0 && x === 1-y) || (-width/2 > x > width/2) || (-height/2 > y > height/2)) {
// change direction
var tempdx = dx;
dx = -dy;
dy = tempdx;
}
counter += 1;
//alert (counter);
x += dx;
y += dy;
}, 1);
我想螺旋演變爲這樣的:
我希望能夠得到高度和寬度的公式之間的比例,所以我不需要計算畫布外點的座標。此外,其目的是爲了將螺旋圖形調整爲畫布比例。
任何幫助,將不勝感激。
這裏有一個的jsfiddle:http://jsfiddle.net/Mx3D8/ –
首先,'-width/2
謝謝,喬。但問題依然存在。 – HBT