erdos/src/draw/rcorn.lua

34 lines
805 B
Lua

return function(draw)
function draw:rcorn(x, y, d, p)
p = p or 1
if p == 1 then self -- bot-right
:arc(LINE, x - d, y - d, d, 0, math.pi / 2)
:triang(FILL, x, y - d, 0, d, -d/2, d)
:triang(FILL, x - d, y, d / 1.5, -d / 4, d, 0)
elseif p == 2 then self -- bot-left
:arc(LINE, x + d, y - d, d, math.pi / 2, math.pi)
:triang(FILL, x, y - d, 0, d, d/2, d)
:triang(FILL, x, y, d / 1.5, -d / 4, d, 0)
elseif p == 3 then self -- top-right
:arc(LINE, x - d, y + d, d, math.pi * 1.5, math.pi * 2)
:triang(FILL, x, y, 0, d, -d/2, 0)
:triang(FILL, x - d, y, d / 1.5, d / 4, d, 0)
elseif p == 4 then self -- top-left
:arc(LINE, x + d, y + d, d, math.pi, math.pi * 1.5)
:triang(FILL, x, y, 0, d, d/2, 0)
:triang(FILL, x, y, d / 1.5, d / 4, d, 0)
end
return self
end
end