У меня возникли проблемы с разработкой того, как исчезать между двумя цветовыми векторами.Как затухать между двумя векторами по значению?
Два цвета:
Tinker::Vect3d<float> startCol(255,0,0);
Tinker::Vect3d<float> endCol(0,0,255);
У меня также есть входное значение от 0-100 "t1".
И один из моих Trys:
for(int i=0;i<nLEDs;i++){
const float fade = (255/100) * (t1 * sensitivity);
Tinker::Vect3d<float> finalColour(startCol*a + endCol*(1-a));
FTLEDColour col = { finalColour[0] , finalColour[1] , finalColour[2] };
}
Трассы в непрерывном цикле. Я пытаюсь начать с красного и лица на зеленый, исходя из входящего значения, поэтому 0 красное, а 100 - зеленое.
Умножение на '255/100' неверно, если ваше входное значение равно 0..100, и вы хотите масштабировать до 0..1 вам нужно разделить на 100. –
Я считаю, что затухание цвета улучшается с использованием другого цвета чем RGB. - http://stackoverflow.com/a/20469911/106092 –
Если кто-то хочет использовать библиотеку Tinker, вы можете найти ее на git hub https://github.com/Nicola17/ArduinoTinkerLibrary –