gpt4 book ai didi

c++ - 平滑一个总是更新的值?

转载 作者:行者123 更新时间:2023-11-28 07:14:22 26 4
gpt4 key购买 nike

你将如何平滑一个总是更新的值,代码:

int nLEDs = 25; // Number of LED's 
int sensitivity = 1;

int incomingByte = 0;
int r = 0;
int g = 0;
int b = 0;
int a = 0;

void loop() {

if (Serial.available() > 0) {
incomingByte = Serial.parseInt();
a = (255 / 100) * (incomingByte * sensitivity);
}

// some code
}

void fade(){
for(int i=0;i<nLEDs;i++){
r = a;
g = 0;
b = 0;

FTLEDColour col = { r , g , b };
}
}

void ColourFade(){
for(int i=0;i<nLEDs;i++){
r = a;
g = 255 - a;
b = 0;

FTLEDColour col = { r , g , b };
}
}

关于淡入淡出方法,您将如何平滑值的变化而不是仅仅跳跃?如果可能的话。

最佳答案

取而代之的是:

value = NewValue

做这样的事情:

value = (Value * 7 + NewValue + 7) / 8

这将导致 value 为旧值的 7/8 和新值的 1/8,导致它逐渐“漂移”到新值,而不是一下子跳到那里。

关于c++ - 平滑一个总是更新的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20458110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com