gsl-shell.git - gsl-shell

index : gsl-shell.git
gsl-shell
summary refs log tree commit diff
path: root/demos/fractals.lua
diff options
context:
space:
mode:
Diffstat (limited to 'demos/fractals.lua')
-rw-r--r--demos/fractals.lua 12
1 files changed, 8 insertions, 4 deletions
diff --git a/demos/fractals.lua b/demos/fractals.lua
index a5828316..84ceb3c1 100644
--- a/demos/fractals.lua
+++ b/demos/fractals.lua
@@ -1,16 +1,19 @@
-
-use 'stdlib'
+use 'math'
+use 'graph'
+use 'iter'
local function c_generator(n, n_angle, len_frac, g)
local exp, real, imag = complex.exp, complex.real, complex.imag
local w, r, k = ilist(|| 0, n+1), #g
local s = len_frac^n
- local sz = cnew(n_angle, 1, |k| s * exp(2i*pi*(k-1)/n_angle))
+ local sz = matrix.cnew(n_angle, 1, |k| s * exp(2i*pi*(k-1)/n_angle))
- local sh = ilist(|k| g[k%r+1] - g[(k-1)%r+1], 0, r-1)
+ local sh = ilist(|k| g[(k-1)%r+1] - g[(k-2)%r+1], r)
local a = (g[1]*n) % n_angle
+ print('sh', sh)
+
local z = 0
return function()
if w[n+1] == 0 then
@@ -18,6 +21,7 @@ local function c_generator(n, n_angle, len_frac, g)
z = z + sz[a+1]
for j=1,n+1 do
w[j] = (w[j] + 1) % r
+ print(j, w[j], sh[w[j]+1], a)
a = (a + sh[w[j]+1]) % n_angle
if w[j] ~= 0 then
break
generated by cgit v1.2.3 (git 2.39.1) at 2025年10月02日 21:06:08 +0000

AltStyle によって変換されたページ (->オリジナル) /