Я пытаюсь пометить анимированную круговую диаграмму, и у меня возникли большие проблемы с приведением повернутых объектов в соответствие с тригонометрически расположенными объектами. Так, например, если у меня есть кусок пирога, середина которого равна углу тета и повернута на n градусов в анимации движения, а затем я пытаюсь расположить метку с кодом, подобным этому:
label.x = center.x + Math.cos((theta + n)/180 * Math.PI) * radius;
label.y = center.y + Math.sin((theta + n)/180 * Math.PI) * radius;
метка часто не выровнена по центру кусочка пирога. Поскольку я также сильно увеличиваю круговую диаграмму, ошибка становится достаточно значительной, что иногда приводит к тому, что метка пропускает круговую часть. Ошибка кажется относительно непредсказуемой, и она очень похожа на ошибку округления, но я не вижу никакого очевидного округления (функции триггера оценивают до десяти или около того десятичных знаков, которых здесь должно быть более чем достаточно).
Как мне правильно расположить эти ярлыки?