У меня есть SVG с группой независимых дуг, которые перемещаются вокруг общего источника.По событию пользователя эти дуги могут изменять как свои радиусы, так и начальный / конечный углы.В другом пользовательском событии пользователь может изменить вид с 2d на поддельный 3d (орфографический?) С помощью следующего преобразования CSS, как описано здесь :
translate(0px, ${t*5 - i*t*40}px)
rotateX(${t*60}deg)
rotateZ(${t*-30}deg)
scale(1.0)
t - логический флаг, указывающий, является ли перспективапредставление включено или выключено, если флаг = 0, тогда фактическое преобразование не выполняется.
Мой код, иллюстрирующий пример, можно посмотреть здесь: https://codepen.io/stopyransky/pen/MZPbjg
После нажатия кнопки для запуска перспективывид, что он изменяется правильно, но дуговые переходы (радиусы / угол) теперь испорчены.
Мой вопрос, как исправить, чтобы переходы дуг оставались правильными?Я предполагаю, что мне нужно изменить функции, которые изменяют способ построения дуги в tweenAngles и tweenRadii, но я понятия не имею, какими должны быть эти переходы.Я пытался отменить переходы, когда флаг равен 0, но это не помогает.