rename assets/epaper.lua to assets/boot.lua
This commit is contained in:
parent
646f1eaf80
commit
45831590dc
4 changed files with 38 additions and 4 deletions
55
assets/boot.lua
Normal file
55
assets/boot.lua
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
local math = require('math')
|
||||
local paper = require('paper')
|
||||
|
||||
paper.init()
|
||||
paper.set_rotation("portrait")
|
||||
paper.clear()
|
||||
|
||||
local width = paper.get_width()
|
||||
local height = paper.get_height()
|
||||
|
||||
print(
|
||||
'width: ' .. width,
|
||||
'height: ' .. height
|
||||
)
|
||||
|
||||
-- easing functions taken from https://easings.net/
|
||||
|
||||
function ease_in_sine(x)
|
||||
return 1 - math.cos(x * math.pi / 2)
|
||||
end
|
||||
|
||||
function ease_in_out_sine(x)
|
||||
return -(math.cos(math.pi * x) - 1) / 2
|
||||
end
|
||||
|
||||
--
|
||||
-- actual sketch follows below
|
||||
--
|
||||
|
||||
local x = width / 2
|
||||
local max_radius = 128
|
||||
local min_radius = max_radius / 6
|
||||
local padding = max_radius
|
||||
local max_color = 0xDD
|
||||
local min_color = 0x33
|
||||
local steps = 72
|
||||
|
||||
-- background
|
||||
paper.fill_rect(0, 0, width, height, 0x22)
|
||||
|
||||
-- sketch
|
||||
for i = 1, steps do
|
||||
local n = i / steps
|
||||
local e1 = ease_in_sine(n)
|
||||
local e2 = 1 - ease_in_out_sine(ease_in_sine(n))
|
||||
local color = math.floor(max_color - (max_color - min_color) * e2)
|
||||
paper.fill_circle(
|
||||
x + math.sin((math.pi * 2) / n) * 32 * e1,
|
||||
padding + (height - max_radius - padding * 2) * e1,
|
||||
min_radius + (max_radius - min_radius) * e1,
|
||||
color
|
||||
)
|
||||
end
|
||||
|
||||
paper.update()
|
||||
Loading…
Add table
Add a link
Reference in a new issue