我正在 Javascript 中编写一个递归分形树程序。它的运作方式可以描述如下。
想象一只乌龟画一条线。从该行的末尾开始,它向左旋转,绘制一条线,然后向右旋转并绘制第二条线。对于绘制的两条新线重复此操作,依此类推,直到存在具有许多分支的漂亮分形树。
但是,我希望树开始变褐并且每个新分支变为绿色like this one here。我可以使每个右侧分支红色或每个左侧分支黄色,但我希望每个创建的分支比它的前任略微棕色和更绿色。我可以使用像length这样的整数变量来实现这一点,因为每个新分支的长度可以等于length - y
,每次都会生成更小的分支。
我怎么能用颜色做这个?它不像我可以做'中风(棕色 - (有点棕色))。
无论如何,为了恢复原状,我想在 Javascript 中使用一种方法来使每个分支生成的棕色和绿色比上一个更少,就像你如何使每个分支小于最后一个length = length - y
。
答案 0 :(得分:0)
CSS允许您以RGB格式(红色,绿色,蓝色)表示颜色。例如:白色,最常用CSS编码为#ffffff,可以编码为rgb(255,255,255)。
在RGB中,第二个参数的值越高 - 代表绿色 - 产生的颜色越绿。
从棕色开始,继续添加绿色和瞧!
https://jsfiddle.net/r9gajrdd/5/
let red = 118;
let green = 89;
let blue = 3;
let rgb;
for ( let i = 10; i--; ) {
green = Math.min(green + 10, 253);
rgb = `rgb(${red}, ${green}, ${blue})`;
}