舞台灯光控制系统c语言,很郁闷~再开源一个对数,线性,指数LED调光曲线获取算法...

本文介绍了一种使用C语言实现的舞台灯光对数调光算法,通过计算对数曲线并进行伽马校正,生成适合LED调光的PWM信号。算法包括对数调光光曲线的生成和数据的Gamma纠正,适用于不同调光级数和PWM级数的需求。
摘要由CSDN通过智能技术生成

//对数调光光曲线生成START//

//对数调光光曲线生成START//

procedure TForm1.LightWave(a,b:string; color:byte; style:string; Gamma:Double; show:boolean; func:byte);

var

PwmData: array[0..65535] of double;

//GammaData: array[0..65535] of integer;

PwmLeves:integer;

CurveLeves, i,j:integer;

Ratio, f:Double;

begin

//如果当前曲线为要显示指令

if  show = true then

begin

PwmLeves   := StrToInt(a); //求出PWM级数

CurveLeves := StrToInt(b);  //求出调光级数

//Ratio :=  (log10(PwmLeves)) / CurveLeves; //求出系数

j := 1;

//求出曲线

{for i := 0 to  CurveLeves - 1 do

begin

PwmData[i] := Power(10, (i + 1) * Ratio);

iXYPlot1.Channel[color].AddXY(i, trunc(PwmData[i])) ;

end;

iXYPlot1.Channel[color].AddXY(0, trunc(PwmData[0])) ;//画线性直线

}

//对曲线进行GAMMA纠正

Ratio :&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值