如何使用 for 循环使用拉斐尔图形绘制由小到大的矩形组成的塔?
How to draw a tower make of rectangles going from small to large using raphael graphics using a for loop?
我不知道如何使用 for 循环 8 次来绘制塔?
所以最终结果会是这样的
这是我的
setup = function() {
paper = Raphael ('pyramid', 500,500)
for (i=1; i <= 8; i+=1){
rect = paper.rect(80,i*5,i*15,5)
}
$(document).ready(setup)
作为 CH = Canvas 高度和 CW = Canvas 宽度,
每个方块的高度 H = CH/8。对于第一个,top = 0,bottom = H。对于第二个,top = H,bottom = H * 2。因此对于 n,top = (n - 1) * H.
最后的宽度是CW,每一步递减一个方差V,所以Width W = CW - (8 - n) * V。比如我们可以设置V = CW/8。该块居中,因此左 = (CW - W) / 2。
cw = 180;
ch = 180;
s = 8;
paper = Raphael('pyramid', cw, ch)
for (n = 1; n <= s; n += 1) {
h = ch / s;
t = h * (n - 1);
v = cw / s;
w = cw - (s - n) * v;
l = (cw - w) / 2;
paper.rect (l, t, w, h);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/raphael/2.3.0/raphael.min.js"></script>
<div id="pyramid"></div>
我不知道如何使用 for 循环 8 次来绘制塔?
所以最终结果会是这样的
这是我的
setup = function() {
paper = Raphael ('pyramid', 500,500)
for (i=1; i <= 8; i+=1){
rect = paper.rect(80,i*5,i*15,5)
}
$(document).ready(setup)
作为 CH = Canvas 高度和 CW = Canvas 宽度,
每个方块的高度 H = CH/8。对于第一个,top = 0,bottom = H。对于第二个,top = H,bottom = H * 2。因此对于 n,top = (n - 1) * H.
最后的宽度是CW,每一步递减一个方差V,所以Width W = CW - (8 - n) * V。比如我们可以设置V = CW/8。该块居中,因此左 = (CW - W) / 2。
cw = 180;
ch = 180;
s = 8;
paper = Raphael('pyramid', cw, ch)
for (n = 1; n <= s; n += 1) {
h = ch / s;
t = h * (n - 1);
v = cw / s;
w = cw - (s - n) * v;
l = (cw - w) / 2;
paper.rect (l, t, w, h);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/raphael/2.3.0/raphael.min.js"></script>
<div id="pyramid"></div>