Barnsley fern: Difference between revisions
Content deleted Content added
No edit summary |
Added Julia language |
||
Line 755: | Line 755: | ||
Page with BarnsleyFernjs.png |
Page with BarnsleyFernjs.png |
||
</pre> |
</pre> |
||
=={{header|Julia}}== |
|||
<lang julia># v0.6 |
|||
function barnsleyfern(n::Integer)::Matrix{Float64} |
|||
const FUNCTIONS = ( |
|||
(x, y) -> (0, 0.16y), |
|||
(x, y) -> (0.85x + 0.04y, -0.04x + 0.85y + 1.6), |
|||
(x, y) -> (0.2x - 0.26y, 0.23x + 0.22y + 1.6), |
|||
(x, y) -> (-0.15x + 0,28y, 0.26x + 0.24y + 0.44)) |
|||
rst = Matrix{Float64}(n, 2) |
|||
rst[1, :] = 0.0 |
|||
for row in 2:n |
|||
r = rand(0:99) |
|||
if r < 1; f = 1; |
|||
elseif r < 86; f = 2; |
|||
elseif r < 93; f = 3; |
|||
else f = 4; end |
|||
rst[row, 1], rst[row, 2] = FUNCTIONS[f](rst[row-1, 1], rst[row-1, 2]) |
|||
end |
|||
return rst |
|||
end |
|||
</lang> |
|||
=={{header|Kotlin}}== |
=={{header|Kotlin}}== |