Прежде чем закончить с этим примером, рассмотрим более подробно используемое выражение. Это выражение оперирует величиной типа Point3, с помощью которой определяется количество красного, зеленого и синего цвета. Первая компонента этой величины отвечает за красный цвет. Поскольку в цветовой системе RGB желтый цвет состоит в равной степени из красного и зеленого, нам нужно, чтобы красный цвет был видимым в течение оставшихся двух третей от общей продолжительности анимации. Вам потребуется следующее выражение: if(NT>=.33,255,0)
Это значит, что, когда нормированное время перейдет за две трети суммарной продолжительности анимации, значение красного компонента станет равным 255, а до этого момента оно будет равно 0.
Вторая компонента величины типа Point3 отвечает за зеленый цвет. Зеленый цвет должен быть виден на протяжении первых двух третей анимации. Во второй трети в сочетании с красным он даст желтый цвет. Поэтому на месте второй компоненты величины Point3 используется выражение if(NT<.66,255,0)
Смысл этого выражения таков: если нормированное время меньше двух третьих суммарной продолжительности анимации, то значение зеленой компоненты будет максимальным, в противном случае оно будет равно 0.
Третья компонента величины типа Point3 отвечает за синий цвет. Но синий цвет не входит в состав ни зеленого, ни красного, ни желтого. Поэтому значение этой компоненты равно 0 в течение всей анимации.
Полное выражение (см. п. 4 упражнения) выглядит так: [if(NT>=.3 3,2 55,0), if(NT<.66,255, 0) ,0]