Я пытаюсь нарисовать призму и анимировать ее с помощью CoreAnimation.Но я не могу найти хорошее решение, чтобы нарисовать веер из цветов радуги.

Есть несколько способов сделать это, у каждого из них есть свои недостатки:
- Я мог бы просто использовать изображение.Но я разрешаю пользователю увеличивать масштаб сцены и избегать любых артефактов.
- Использование
CAGradientLayer
создает прекрасную радугу.К сожалению, теперь существует перекос (или сжатие) для преобразования прямоугольной радуги в треугольник. - Простой эффект перекоса слоя может быть получен путем изменения элемента матрицы m34 матрицы преобразования слоя.Но я не смог получить форму треугольника (потому что слой должен был бы быть бесконечного размера).
- OpenGL.Это сработает, но, может быть, есть более простой способ.
Есть предложения?