mirror of
https://github.com/clockworkpi/PicoCalc.git
synced 2026-03-20 02:52:39 +01:00
update PicoCalc SD
This commit is contained in:
50
Bin/PicoCalc SD/lua/bubble.lua
Normal file
50
Bin/PicoCalc SD/lua/bubble.lua
Normal file
@@ -0,0 +1,50 @@
|
||||
-- Bubble Universe
|
||||
-- inspired by https://forum.clockworkpi.com/t/bubble-universe/19907
|
||||
|
||||
local w = 320
|
||||
local w2 = w/2
|
||||
local rad = 70
|
||||
local n = 20
|
||||
local nc = 120
|
||||
local step = 2
|
||||
local r = math.pi*2/n
|
||||
local x,y,t = 0,0,6
|
||||
local u,v,px,py
|
||||
|
||||
local res = 100
|
||||
|
||||
local sint = {}
|
||||
for i = 1, math.floor(math.pi*2*res) do
|
||||
sint[i] = math.sin(i/res)
|
||||
end
|
||||
|
||||
local function fsin(i)
|
||||
return sint[(math.floor(i*res)%#sint)+1]
|
||||
end
|
||||
|
||||
local function fcos(i)
|
||||
return sint[((math.floor((math.pi/2-i)*res))%#sint)+1]
|
||||
end
|
||||
|
||||
draw.enableBuffer(2)
|
||||
while true do
|
||||
if keys.getState(keys.esc) then break end
|
||||
draw.clear()
|
||||
for i = 0, n-1 do
|
||||
for c = 0, nc-1, step do
|
||||
u = fsin(i+y)+fsin(r*i+x)
|
||||
v = fcos(i+y)+fcos(r*i+x)
|
||||
x = u + t
|
||||
y = v
|
||||
px = u * rad + w2
|
||||
py = y * rad + w2
|
||||
draw.point(px, py,
|
||||
--draw.rectFill(px, py, 2, 2,
|
||||
colors.fromRGB(math.floor(63+i/n*192),
|
||||
math.floor(63+c/nc*192),168))
|
||||
end
|
||||
end
|
||||
t=t+0.02
|
||||
draw.blitBuffer()
|
||||
end
|
||||
draw.enableBuffer(false)
|
||||
Reference in New Issue
Block a user