the boundary conditions also constrain it within the frame. can also add additional constraints, like the hole in this one. obvious next step is reading a mask from a bitmap graphic file instead of defining it with code.

Part of the algorithm is solving the Laplace equation for electric field strength. I do this by repeatedly applying boundary conditions, blurring, and normalizing. Typically I do 16 or more iterations of this between each next point selection and plotting, because when doing only 2 the image looks weird. But I somehow like the effect, not sure how to control it better...

added a horizontal shift when plotting each circle (think this one was 1x radius)

takes a couple of minutes for an image at this resolution, but going bigger is slow - I guess it's O(dpi^4) which means doubling pixel dimensions will take 16x as long...

guess is because it's definitely O(dpi^2) per added pixel (need to solve Laplace equation for electric field), and number of added pixels is probably O(dpi^2) itself (to get to a fixed image density, the tree is 33% filled). pixels (actually, rasterized circles getting progressively smaller) are added one by one, with field solving in between each.

varying the power across the image gives a nice effect

tweaked some parameters and it went all weird - this one adds (alpha * (number of boundary pixels) ^ beta) new points each step, with alpha = 0.5 and beta = 0.25.

something went bad in this one (power 10), don't know why the thicker vertical/horizontal lines are there... they're not there in the previous image with 1/2 the iterations, but the texture is not so full....

first image upthread has the power parameter at 100, pretty sure the rectilinear stuff is an artefact of the pixel grid. with power 10 the lines are much more wiggly (image coming soon)

algorithm based on:

doi.org/10.1103/PhysRevLett.52

> Fractal Dimension of Dielectric Breakdown
> L. Niemeyer, L. Pietronero, and H. J. Wiesmann
> Phys. Rev. Lett. 52, 1033 – Published 19 March 1984
> Abstract
> It is shown that the simplest nontrivial stochastic model for dielectric breakdown naturally leads to fractal structures for the discharge pattern. Planar discharges are studied in detail and the results are compared with properly designed experiments.

experimenting with dielectric breakdown models

the original version too large to toot also has error checking and saves/loads FFTW wisdom to disk so that it doesn't crash on bad input (etc) and is faster

./ts i.wav o.wav

<complex.h>
<math.h>
<sndfile.h>
<fftw3.h>
C 2
F 65536
A 2048
J 1
O (A/4)
double w[A],a[A][C],b[A][C];double _Complex p[F],q[F],r[C][F],u[C][F],v[C][F];int main(int K,char**V){SF_INFO m={0};SNDFILE*f=sf_open(V,SFM_READ,&m);SF_INFO n={0,m.samplerate,m.channels,SF_FORMAT_WAV|SF_FORMAT_FLOAT,0,0};SNDFILE*g=sf_open(V,SFM_WRITE,&n);fftw_plan T=fftw_plan_dft_1d(F,p,q,FFTW_FORWARD,FFTW_PATIENT|FFTW_DESTROY_INPUT);fftw_plan S=fftw_plan_dft_1d(F,q,p,FFTW_BACKWARD,FFTW_PATIENT|FFTW_DESTROY_INPUT);for(int i=0;i<A;++i)w[i]=(0.5-0.5*cos(6.283185307179586*i/A))*8.2e-3;for(int c=0;c<C;++c)for(int i=0;i<F;++i){r[c][i]=0;u[c][i]=0;v[c][i]=1;}while(A==sf_readf_double(f,&a,A)){sf_seek(f,J-A,SEEK_CUR);for(int c=0;c<C;++c){for(int i=0;i<A;++i){if(i<A-O)b[i][c]=b[i+O][c];else b[i][c]=0;}for(int i=0;i<A;++i)p[i]=w[i]*a[i][c];for(int i=A;i<F;++i)p[i]=0;fftw_execute(T);for(int i=0;i<F;++i){r[c][i]=u[c][i];u[c][i]=q[i];double _Complex l0=u[c][i]/r[c][i];l0/=cabs(l0);double _Complex l=l0;for(int s=O/J;s>1;s>>=1)l*=l;v[c][i]*=l;v[c][i]/=cabs(v[c][i]);if(v[c][i]==0||!(v[c][i]==v[c][i])||isinf(cabs(v[c][i])))v[c][i]=1;q[i]=cabs(u[c][i])*v[c][i];}fftw_execute(S);for(int i=0;i<A;++i)b[i][c]+=w[i]*p[i];}sf_writef_double(g,&b,O);}return 0;}

found an old netlabel music playlist I compiled (2009)

kpu105 - Winnie The Shit - 06 - Drip
disrupt - Roots Matrix EP - 2. THC 1138
Volfoniq vs Trema - JTR NET07 - 1. Recreadub
disrupt - JTR NET 17 - The Brink Of Destruction
XUDUX - PSICOTROPICODELIA MUSIC # 3: Sonicodelic - 2. Bowl 5b
this one - dsr005 - 4. monkey with chopsticks
misk - [qnb005] misk - pathos - outta20s
this one - tunnel music - 12. heavy dub
kpu105-Winnie-The-Shit-07-Where-Are-The-Brights.mp3
Gras - [gruen005] Gras - 10. 10 - Horizont
Skytree - Knotwork - 5. And Then I am Not What Is
Wisp - Fungus FLAP - 2. Flabby Smuts
Hugoboy - 8th Floor - 6. Ketaminimal
Elektrabel - Smash Piece EP - 4. Smash ST (Zahn's Enemy mix)
Hugoboy - Penguin Love - 2. Monkey's Boogie
Dataman - [stadt002] Abstrahism - 2. 02 - Flova
Seahorse Drivers - We Deliver Soul - 6. Liquid People
Talek - Emoxion All Stars - 15. Slippery When Wet

claude boosted

1.
It's release day! At #kamizdat we proudly present a pretty awesome electronic EP by Shekuza. OUT NOW - https://shekuza.bandcamp.com/album/coriolis-effect   #CreativeCommons

2.
It's Kamizdat Rentgen time - day for live music - locally and via stream! Shekuza trio (modular+percusionista+visualista) + Terranigma (+ visualista) + Nulla https://youtu.be/DXNqaiw0PYs

3.
It's https://bandcamp.com Day! Labels/artists get 100% of what you pay (minus PayPal fees). Support independent musicmaking! 