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

◆ Yves()

void animartrix_detail::ANIMartRIX::Yves ( )
inline

Definition at line 1174 of file animartrix_detail.hpp.

1174 {
1175
1176 get_ready();
1177
1178 a = micros(); // for time measurement in report_performance()
1179
1180 timings.master_speed = 0.001; // speed ratios for the oscillators
1181 timings.ratio[0] = 3; // higher values = faster transitions
1182 timings.ratio[1] = 2;
1183 timings.ratio[2] = 1;
1184 timings.ratio[3] = 0.13;
1185 timings.ratio[4] = 0.15;
1186 timings.ratio[5] = 0.03;
1187 timings.ratio[6] = 0.025;
1188 timings.offset[0] = 0;
1189 timings.offset[1] = 100;
1190 timings.offset[2] = 200;
1191 timings.offset[3] = 300;
1192 timings.offset[4] = 400;
1193 timings.offset[5] = 500;
1194 timings.offset[6] = 600;
1195
1197 timings); // get linear movers and oscillators going
1198
1199 for (int x = 0; x < num_x; x++) {
1200 for (int y = 0; y < num_y; y++) {
1201
1202 animation.dist = distance[x][y];
1203 animation.angle =
1204 polar_theta[x][y] + 2 * PI + move.noise_angle[5];
1205 animation.scale_x = 0.08;
1206 animation.scale_y = 0.08;
1207 animation.scale_z = 0.08;
1208 animation.offset_y = -move.linear[0];
1209 animation.offset_x = 0;
1210 animation.offset_z = 0;
1211 animation.z = 0;
1212 float show1 = render_value(animation);
1213
1214 animation.dist = distance[x][y];
1215 animation.angle =
1216 polar_theta[x][y] + 2 * PI + move.noise_angle[6];
1217 ;
1218 animation.scale_x = 0.08;
1219 animation.scale_y = 0.08;
1220 animation.scale_z = 0.08;
1221 animation.offset_y = -move.linear[1];
1222 animation.offset_x = 0;
1223 animation.offset_z = 0;
1224 animation.z = 0;
1225 float show2 = render_value(animation);
1226
1227 animation.angle = polar_theta[x][y] + show1 / 100 +
1228 move.noise_angle[3] + move.noise_angle[4];
1229 animation.dist = distance[x][y] + show2 / 50;
1230 animation.offset_y = -move.linear[2];
1231
1232 animation.offset_y += show1 / 100;
1233 animation.offset_x += show2 / 100;
1234
1235 float show3 = render_value(animation);
1236
1237 animation.offset_y = 0;
1238 animation.offset_x = 0;
1239
1240 float show4 = render_value(animation);
1241
1242 pixel.red = show3;
1243 pixel.green = show3 * show4 / 255;
1244 pixel.blue = 0;
1245
1248 }
1249 }
1250 }
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
fl::HeapVector< fl::HeapVector< float > > polar_theta
#define PI
Definition math_macros.h:63

References a, animation, calculate_oscillators(), distance, get_ready(), move, num_x, num_y, PI, pixel, polar_theta, render_value(), rgb_sanity_check(), setPixelColorInternal(), show1, show2, show3, show4, timings, x, and y.

+ Here is the call graph for this function: