Sto provando a rompere il codice il più possibile.
Ci sono problemi quando si prova a combianre diff_shapes() con altre regole. Nello specifico, se diff_shapes() è la regola applicata in orizzontale, la regola che dovrebbe essere applicata in verticale è applicata solo alla prima colonna (Sq1, Sq4, Sq7).
Viceversa, se diff_shapes() è la regola applicata in verticale, la regola che dovrebbe essere applicata in orizzontale è applicata solo sulla prima riga (Sq1, Sq2, Sq3)
rot_h <-apply(Raven(st1=cof(e.hexagon()),
hrule=c("rotation"),vrule=c("identity")))
draw(rot_h)rot_v <-apply(Raven(st1=cof(pentagon()),
hrule=c("rotation"),vrule=c("identity")))
draw(rot_v)rot_hv <-apply(Raven(st1=cof(pentagon()),
hrule=c("rotation"),vrule=c("rotation")))
draw(rot_hv)s_h = apply(Raven(st1=pentagon(),
hrule=c("size"),
vrule=c("identity")))
draw(s_h)s_v = apply(Raven(st1=pentagon(),
hrule=c("identity"),
vrule=c("size")))
draw(s_v)s_hv = apply(Raven(st1=pentagon(),
hrule=c("size"),
vrule=c("size")))
draw(s_hv)lwd_h = apply(Raven(st1=circle(),
hrule=c("lwd"),
vrule=c("identity")))
draw(lwd_h)lwd_v = apply(Raven(st1=circle(),
hrule=c("identity"),
vrule=c("lwd")))
draw(lwd_v)lwd_hv = apply(Raven(st1=circle(),
hrule=c("lwd"),
vrule=c("lwd")))
draw(lwd_hv)lty_h = apply(Raven(st1=circle(),
hrule=c("lty"),
vrule=c("identity")))
draw(lty_h)lty_v = apply(Raven(st1=circle(),
hrule=c("identity"),
vrule=c("lty")))
draw(lty_v)lty_hv = apply(Raven(st1=circle(),
hrule=c("lty"),
vrule=c("lty")))
draw(lty_hv)rs_hv = apply(Raven(st1=pentagon(),
hrule=c("rotation"),
vrule=c("size")))
draw(rs_hv)rs_vh = apply(Raven(st1=pentagon(),
hrule=c("size"),
vrule=c("rotation")))
draw(rs_vh)lwdr_hv = apply(Raven(st1=e.hexagon(),
hrule=c("lwd"),
vrule=c("rotation")))
draw(lwdr_hv)lwdr_vh = apply(Raven(st1=e.hexagon(),
hrule=c("rotation"),
vrule=c("lwd")))
draw(lwdr_vh)lwds_hv = apply(Raven(st1=e.hexagon(),
hrule=c("lwd"),
vrule=c("size")))
draw(lwds_hv)lwds_vh = apply(Raven(st1=e.hexagon(),
hrule=c("size"),
vrule=c("lwd")))
draw(lwds_vh)ltyr_hv = apply(Raven(st1=e.hexagon(),
hrule=c("lty"),
vrule=c("rotation")))
draw(ltyr_hv)ltyr_vh = apply(Raven(st1=ellipse(),
hrule=c("rotation"),
vrule=c("lty")))
draw(ltyr_vh)ltys_hv = apply(Raven(st1=e.hexagon(),
hrule=c("lty"),
vrule=c("size")))
draw(ltys_hv)ltys_vh = apply(Raven(st1=triangle(),
hrule=c("size"),
vrule=c("lty")))
draw(ltys_vh)#Horizontal
M<-apply(Raven(st1=cof(circle(),square(),pentagon()),hrule=c("diff_shapes"),vrule=c("identity")))
draw(M)#Vertical
M<-apply(Raven(st1=cof(circle(),square(),pentagon()),hrule=c("identity"),vrule=c("diff_shapes")))
draw(M)# Top Left Low Right
M<-apply(Raven(st1=cof(circle(),square(),pentagon()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(M)Il problema di shapes è che non funziona con alcune delle forme
M<-apply(Raven(st1=cof(circle(), triangle(), pentagon()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(M)M<-apply(Raven(st1=cof(circle(), ellipse(), pentagon()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(M)M<-apply(Raven(st1=cof(circle(), ellipse(), e.hexagon()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(M)Ma<-apply(Raven(st1=cof(circle(), ellipse(), lily()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(Ma)Mb<-apply(Raven(st1=cof(circle(), ellipse(), star()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(Mb)M<-apply(Raven(st1=cof(circle(), ellipse(), v.arc.left.down()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(M)M<-apply(Raven(st1=cof(v.arc.right.down(), h.arc.right.down(), v.arc.left.down()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(M)Gli archetti funzionano tutti
M<-apply(Raven(st1=cof(s_vertical(), s_horizontal(), s_horizontal.inv()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(M)M<-apply(Raven(st1=cof(s_vertical.inv(), s_horizontal(), s_horizontal.inv()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(M)M1<-apply(Raven(st1=cof(horizontal.eight(), vertical.eight(), s_horizontal.inv()),hrule=c("diff_shapes"),vrule=c("diff_shapes")))
draw(M1)Le figure cambiano per riga. La rotazione è applicata solo sulla prima colonna
M<-apply(Raven(st1=cof(square(), ellipse(), triangle()),hrule=c("diff_shapes"),vrule=c("rotation")))
draw(M)Le figure cambiano per colonna. La rotazione è applicata solo sulla prima riga
M<-apply(Raven(st1=cof(square(), ellipse(), triangle()),vrule=c("diff_shapes"),hrule=c("rotation")))
draw(M)Le figure cambiano per riga, ma il cambio di linea è applicato solo sulla prima colonna
M<-apply(Raven(st1=cof(square(), ellipse(), triangle()),hrule=c("diff_shapes"),vrule=c("lwd")))
draw(M)M<-apply(Raven(st1=cof(square(), ellipse(), triangle()),hrule=c("diff_shapes"),vrule=c("lty")))
draw(M)Le figure cambiano per colonna, ma i contorno cambia solo sulla prima riga.
M<-apply(Raven(st1=cof(square(), ellipse(), triangle()),vrule=c("diff_shapes"),hrule=c("lwd")))
draw(M)M<-apply(Raven(st1=cof(square(), ellipse(), triangle()),vrule=c("diff_shapes"),hrule=c("lty")))
draw(M)Le figure cambiano per riga. La dimensione cambia solo sulla prima colonna
M<-apply(Raven(st1=cof(square(), ellipse(), triangle()),hrule=c("diff_shapes"),vrule=c("size")))
draw(M)Le figure cambiano per colonna. La dimensione cambia solo sulla prima riga.
M<-apply(Raven(st1=cof(square(), ellipse(), triangle()),vrule=c("diff_shapes"),hrule=c("size")))
draw(M)Le figure cambiano per riga. Il riempimento cambia solo sulla prima colonna
M<-apply(Raven(st1=cof(square(), ellipse(), triangle()),hrule=c("diff_shapes"),vrule=c("fill")))
draw(M)Le figure cambiano per colonna. Il rimepimento cambia solo sulla prima riga.
M<-apply(Raven(st1=cof(square(), ellipse(), triangle()),vrule=c("diff_shapes"),hrule=c("fill")))
draw(M)