RosettaCodeData/Task/Sierpinski-triangle-Graphical/Pluto/sierpinski-triangle-graphical.pluto
2026-04-30 12:34:36 -04:00

20 lines
578 B
Text

require "bitmap"
local bmp
local function sierpinski_triangle(level, x, y, size)
if level > 0 then
local col = color.black
bmp:triangle(x, y, x + size, y, x, y + size, col, 1)
local size2 = size // 2
sierpinski_triangle(level - 1, x, y, size2)
sierpinski_triangle(level - 1, x + size2, y, size2)
sierpinski_triangle(level - 1, x, y + size2, size2)
end
end
local size <const> = 800
local level = 8
bmp = bitmap.of(size, size, color.white, "Sierpinski Triangle")
sierpinski_triangle(level, 20, 20, size - 40)
bmp:view()