Я создаю редактор 2D-уровней для своей игры, и вы можете работать с двумя типами геометрий, которые являются кругами и многоугольниками.
У меня все работает, поэтому я могу применить любую матрицу преобразования кполигоны и вершины будут преобразованы правильно.Сейчас я думаю о том, как применить матрицу преобразования к кругу.
Мой круг определяется позицией центра и радиусом.Проблема заключается в том, что, поскольку круг определяется только одной точкой, операция масштабирования матрицы приведет к тому, что круг просто переводится, а не масштабируется.
Я не уверен, что это сработает, но мое решениедолжно было быть, когда круг был преобразован, поместите две временные вершины на краю круга на противоположных сторонах, примените преобразования к этим вершинам, а затем воссоздайте положение (среднюю точку между двумя вершинами) и радиус (расстояние между двумявершины, разделенные на 2).
Есть ли лучший / более простой способ преобразования круга с использованием матриц преобразования?