Kronecker product based fractals: Difference between revisions
Content added Content deleted
(Added Factor) |
|||
Line 1,781: | Line 1,781: | ||
See [https://github.com/thundergnat/rc/blob/master/img/kronecker-vicsek-perl6.png Kronecker-Vicsek], [https://github.com/thundergnat/rc/blob/master/img/kronecker-carpet-perl6.png Kronecker-Carpet] and [https://github.com/thundergnat/rc/blob/master/img/kronecker-six-perl6.png Kronecker-Six] images. |
See [https://github.com/thundergnat/rc/blob/master/img/kronecker-vicsek-perl6.png Kronecker-Vicsek], [https://github.com/thundergnat/rc/blob/master/img/kronecker-carpet-perl6.png Kronecker-Carpet] and [https://github.com/thundergnat/rc/blob/master/img/kronecker-six-perl6.png Kronecker-Six] images. |
||
=={{header|Phix}}== |
|||
<lang Phix>function kronecker(sequence a, b) |
|||
integer ar = length(a), |
|||
ac = length(a[1]), |
|||
br = length(b), |
|||
bc = length(b[1]) |
|||
sequence res = repeat(repeat(0,ac*bc),ar*br) |
|||
for ia=1 to ar do |
|||
integer i0 = (ia-1)*br |
|||
for ja=1 to ac do |
|||
integer j0 = (ja-1)*bc |
|||
for ib=1 to br do |
|||
integer i = i0+ib |
|||
for jb=1 to bc do |
|||
integer j = j0+jb |
|||
res[i,j] = a[ia,ja]*b[ib,jb] |
|||
end for |
|||
end for |
|||
end for |
|||
end for |
|||
return res |
|||
end function |
|||
function kroneckern(sequence m, integer n) |
|||
sequence res = m |
|||
for i=2 to n do |
|||
res = kronecker(res,m) |
|||
end for |
|||
return res |
|||
end function |
|||
procedure show(sequence m) |
|||
for i=1 to length(m) do |
|||
string s = repeat(' ',length(m[i])) |
|||
for j=1 to length(s) do |
|||
if m[i][j] then s[j] = '#' end if |
|||
end for |
|||
puts(1,s&"\n") |
|||
end for |
|||
puts(1,"\n") |
|||
end procedure |
|||
constant vicsek = {{0,1,0}, |
|||
{1,1,1}, |
|||
{0,1,0}}, |
|||
siercp = {{1,1,1}, |
|||
{1,0,1}, |
|||
{1,1,1}}, |
|||
xxxxxx = {{0,1,1}, |
|||
{0,1,0}, |
|||
{1,1,0}} |
|||
show(kroneckern(vicsek,4)) |
|||
show(kroneckern(siercp,4)) |
|||
show(kroneckern(xxxxxx,4))</lang> |
|||
Output same as Julia/Kotlin |
|||
=={{header|Python}}== |
=={{header|Python}}== |