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

◆ Complex_Kaleido()

void animartrix_detail::ANIMartRIX::Complex_Kaleido ( )
inline

Definition at line 2689 of file animartrix_detail.hpp.

2689 {
2690
2691 get_ready();
2692
2693 timings.master_speed = 0.009; // master speed
2694
2695 timings.ratio[0] = 0.025; // speed ratios for the oscillators, higher
2696 // values = faster transitions
2697 timings.ratio[1] = 0.027;
2698 timings.ratio[2] = 0.031;
2699 timings.ratio[3] = 0.0053; // speed ratios for the oscillators, higher
2700 // values = faster transitions
2701 timings.ratio[4] = 0.0056;
2702 timings.ratio[5] = 0.0059;
2703
2705
2706 // float size = 1.5;
2707
2708 for (int x = 0; x < num_x; x++) {
2709 for (int y = 0; y < num_y; y++) {
2710
2711 animation.dist = distance[x][y];
2712 animation.angle = 5 * polar_theta[x][y] + 10 * move.radial[0] +
2713 animation.dist / 2;
2714 animation.z = 5;
2715 animation.scale_x = 0.07;
2716 animation.scale_y = 0.07;
2717 animation.offset_z = 0;
2718 animation.offset_x = -30 * move.linear[0];
2719 animation.offset_y = 0;
2720 animation.low_limit = 0;
2722
2723 animation.dist = distance[x][y];
2724 animation.angle = -5 * polar_theta[x][y] + 12 * move.radial[1] +
2725 animation.dist / 2;
2726 animation.z = 500;
2727 animation.scale_x = 0.07;
2728 animation.scale_y = 0.07;
2729 animation.offset_z = 0;
2730 animation.offset_x = -30 * move.linear[1];
2731 animation.offset_y = 0;
2732 animation.low_limit = 0;
2734
2735 animation.dist = distance[x][y];
2736 animation.angle = -5 * polar_theta[x][y] + 12 * move.radial[2] +
2737 animation.dist / 2;
2738 animation.z = 500;
2739 animation.scale_x = 0.05;
2740 animation.scale_y = 0.05;
2741 animation.offset_z = 0;
2742 animation.offset_x = -40 * move.linear[2];
2743 animation.offset_y = 0;
2744 animation.low_limit = 0;
2746
2747 animation.dist = distance[x][y];
2748 animation.angle = 5 * polar_theta[x][y] + 12 * move.radial[3] +
2749 animation.dist / 2;
2750 animation.z = 500;
2751 animation.scale_x = 0.09;
2752 animation.scale_y = 0.09;
2753 animation.offset_z = 0;
2754 animation.offset_x = -35 * move.linear[3];
2755 animation.offset_y = 0;
2756 animation.low_limit = 0;
2758
2759 show5 = screen(show4, show3);
2761
2762 // float linear1 = y / 32.f;
2763 // float linear2 = (32-y) / 32.f;
2764
2765 float radius = radial_filter_radius; // radius of a radial
2766 // brightness filter
2767 float radial = (radius - distance[x][y]) / distance[x][y];
2768
2769 pixel.red = radial * (show1 + show2);
2770 pixel.green = 0.3 * radial * show6; //(radial*(show1))*0.3f;
2771 pixel.blue = radial * show5;
2772
2774
2776 }
2777 }
2778 }
uint32_t x[NUM_LAYERS]
Definition Fire2023.ino:82
uint32_t y[NUM_LAYERS]
Definition Fire2023.ino:83
fl::HeapVector< fl::HeapVector< float > > distance
float render_value(render_parameters &animation)
void calculate_oscillators(oscillators &timings)
virtual void setPixelColorInternal(int x, int y, rgb pixel)=0
float colordodge(float &a, float &b)
fl::HeapVector< fl::HeapVector< float > > polar_theta
float screen(float &a, float &b)

References animation, calculate_oscillators(), colordodge(), distance, get_ready(), move, num_x, num_y, pixel, polar_theta, radial_filter_radius, render_value(), rgb_sanity_check(), screen(), setPixelColorInternal(), show1, show2, show3, show4, show5, show6, timings, x, and y.

+ Here is the call graph for this function: