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

◆ Complex_Kaleido()

void animartrix_detail::ANIMartRIX::Complex_Kaleido ( )
inline

Definition at line 2710 of file animartrix_detail.hpp.

2710 {
2711
2712 get_ready();
2713
2714 timings.master_speed = 0.009; // master speed
2715
2716 timings.ratio[0] = 0.025; // speed ratios for the oscillators, higher
2717 // values = faster transitions
2718 timings.ratio[1] = 0.027;
2719 timings.ratio[2] = 0.031;
2720 timings.ratio[3] = 0.0053; // speed ratios for the oscillators, higher
2721 // values = faster transitions
2722 timings.ratio[4] = 0.0056;
2723 timings.ratio[5] = 0.0059;
2724
2726
2727 // float size = 1.5;
2728
2729 for (int x = 0; x < num_x; x++) {
2730 for (int y = 0; y < num_y; y++) {
2731
2732 animation.dist = distance[x][y];
2733 animation.angle = 5 * polar_theta[x][y] + 10 * move.radial[0] +
2734 animation.dist / 2;
2735 animation.z = 5;
2736 animation.scale_x = 0.07;
2737 animation.scale_y = 0.07;
2738 animation.offset_z = 0;
2739 animation.offset_x = -30 * move.linear[0];
2740 animation.offset_y = 0;
2741 animation.low_limit = 0;
2743
2744 animation.dist = distance[x][y];
2745 animation.angle = -5 * polar_theta[x][y] + 12 * move.radial[1] +
2746 animation.dist / 2;
2747 animation.z = 500;
2748 animation.scale_x = 0.07;
2749 animation.scale_y = 0.07;
2750 animation.offset_z = 0;
2751 animation.offset_x = -30 * move.linear[1];
2752 animation.offset_y = 0;
2753 animation.low_limit = 0;
2755
2756 animation.dist = distance[x][y];
2757 animation.angle = -5 * polar_theta[x][y] + 12 * move.radial[2] +
2758 animation.dist / 2;
2759 animation.z = 500;
2760 animation.scale_x = 0.05;
2761 animation.scale_y = 0.05;
2762 animation.offset_z = 0;
2763 animation.offset_x = -40 * move.linear[2];
2764 animation.offset_y = 0;
2765 animation.low_limit = 0;
2767
2768 animation.dist = distance[x][y];
2769 animation.angle = 5 * polar_theta[x][y] + 12 * move.radial[3] +
2770 animation.dist / 2;
2771 animation.z = 500;
2772 animation.scale_x = 0.09;
2773 animation.scale_y = 0.09;
2774 animation.offset_z = 0;
2775 animation.offset_x = -35 * move.linear[3];
2776 animation.offset_y = 0;
2777 animation.low_limit = 0;
2779
2780 show5 = screen(show4, show3);
2782
2783 // float linear1 = y / 32.f;
2784 // float linear2 = (32-y) / 32.f;
2785
2786 float radius = radial_filter_radius; // radius of a radial
2787 // brightness filter
2788 float radial = (radius - distance[x][y]) / distance[x][y];
2789
2790 pixel.red = radial * (show1 + show2);
2791 pixel.green = 0.3 * radial * show6; //(radial*(show1))*0.3f;
2792 pixel.blue = radial * show5;
2793
2795
2797 }
2798 }
2799 }
int y
Definition simple.h:93
int x
Definition simple.h:92
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: