la funzione da cui sono partito scritta da Jim Bumgardner è la seguente:
function drawFern(px,py,a,rad,level) { var cx = px+Math.cos(a)*rad*trunkRatio; var cy = py+Math.sin(a)*rad*trunkRatio; lineTo(cx, cy); if (level > 0) { a += bendAngle; level--; drawFern(cx,cy,a-branchAngle,rad*branchRatio,level); moveTo(cx,cy); drawFern(cx,cy,a+branchAngle,rad*branchRatio,level); moveTo(cx,cy); } }
Con una sintassi semplificata il procedimento può anche essere scritto così:
R(i) : Livello del Ramo t : trasla la fine del ramo s : Scala r1,r2 : ruota in senso orario e antiorario R(i) = s(t[T(i-1)] r1[R(i-1)] r2[R(i-1)])
Purtroppo nel nostro caso non abbiamo un metodo dinamico basato sulla sostituzione, la struttura di base dell'albero è scolpita all'interno dell'applicazione.
0 comments:
Posta un commento