RGB 彩虹函数

转载于:http://www.tmirun.com/rgb-%E5%BD%A9%E8%99%B9%E5%87%BD%E6%95%B0/

下面这个函数用于彩虹RGB生成,原理参照这个图片:


<script>
/*reference page http://academe.co.uk/2012/04/arduino-cycling-through-colours-of-the-rainbow/*/
function rainbow(num){
    var num = num || 12;
    var step = 1 / (num/3);
    var colors = [];
    for(var i =0; i<num; i++){
        var r = channelColor(i*step*2 + 2);
        var g = channelColor(i*step*2);
        var b = channelColor(i*step*2 + 4);
        colors.push([r*255, g*255, b*255]);
    }
    function channelColor(num) {//0-1 inclement; 1-3 keep top, 3-4 declement, 4-6 keep bot;
        /*outPut 0-1*/
        while(num >= 6){
            num = num-6
        }
        if(num >=0 && num <1)
            return num;
        if(num >=1 && num <=3)
            return 1;
        if(num >3 && num <4)
            return 1-(num%1);
        if(num =>4 && num <6)
            return 0;
    }
    return colors;
}
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值