FastLED 3.9.15
Loading...
Searching...
No Matches

◆ resetParticle()

void resetParticle ( P & p,
uint32_t tt )

Definition at line 58 of file Luminova.h.

58 {
59 // Original: x=360,y=360 (center), a=t*1.25 + noise(I)*W, f=t%2*2-1, g=I,
60 // s=5
61 int I = (int)(tt / 50);
62 p.x = (WIDTH - 1) / 2.0f;
63 p.y = (HEIGHT - 1) / 2.0f;
64
65 // noise(I)*W -> use 1D Perlin noise via inoise8
66 uint8_t n1 = inoise8(I * 19); // arbitrary scale
67 float noiseW = (n1 / 255.0f) * WIDTH;
68
69 p.a = tt * 1.25f + noiseW; // base angle component
70 p.f = (tt & 1) ? +1 : -1; // alternate direction
71 p.g = I;
72 p.s = 3.0f; // lower initial intensity for small grids
73 p.alive = true;
74}
#define WIDTH
Definition advanced.h:36
#define HEIGHT
Definition advanced.h:37
int g
Definition Luminova.h:49
int f
Definition Luminova.h:48
bool alive
Definition Luminova.h:51
float y
Definition Luminova.h:46
float s
Definition Luminova.h:50
float a
Definition Luminova.h:47
float x
Definition Luminova.h:46
uint8_t inoise8(uint16_t x, uint16_t y, uint16_t z)
8-Bit, fixed point implementation of Perlin's noise.
Definition noise.cpp:570

References P::a, P::alive, P::f, P::g, HEIGHT, inoise8(), P::s, WIDTH, P::x, and P::y.

Referenced by loop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: