Sierpinski triangle/Graphical: Difference between revisions
Content added Content deleted
(formatting) |
(Added Love2D version) |
||
Line 915: | Line 915: | ||
seth 30 sierpinski 5 200</lang> |
seth 30 sierpinski 5 200</lang> |
||
=={{header|Lua}}== |
|||
{{libheader|LÖVE}} |
|||
<lang Lua>-- The argument 'tri' is a list of co-ords: {x1, y1, x2, y2, x3, y3} |
|||
function sierpinski (tri, order) |
|||
local new, p, t = {} |
|||
if order > 0 then |
|||
for i = 1, #tri do |
|||
p = i + 2 |
|||
if p > #tri then p = p - #tri end |
|||
new[i] = (tri[i] + tri[p]) / 2 |
|||
enl2d |
|||
sierpinski({tri[1],tri[2],new[1],new[2],new[5],new[6]}, order-1) |
|||
sierpinski({new[1],new[2],tri[3],tri[4],new[3],new[4]}, order-1) |
|||
sierpinski({new[5],new[6],new[3],new[4],tri[5],tri[6]}, order-1) |
|||
else |
|||
love.graphics.polygon("fill", tri) |
|||
end |
|||
end |
|||
-- Callback function used to draw on the screen every frame |
|||
function love.draw () |
|||
sierpinski({400, 100, 700, 500, 100, 500}, 7) |
|||
end</lang> |
|||
[[File:Love2D-Sierpinski.jpg]] |
|||
=={{header|Mathematica}}== |
=={{header|Mathematica}}== |