#geometry #rotation
#геометрия #вращение
Вопрос:
У меня есть теоретический вопрос. У меня есть круг с динамически генерируемым количеством квадрантов, как на картинке. Таким образом, на картинке может быть больше или меньше квадрантов.
Теперь вопрос: как мне сделать возможным поворот каждого квадранта, чтобы одна сторона всегда была параллельна оси x.
Комментарии:
1. Вопрос не ясен.
2. У вас есть пример квадранта от точки A до F, от E до A снова. Сторона Af или Ae всегда должна быть параллельна оси x. Как мне рассчитать это для всех квадрантов? Если у вас есть конкретные вопросы, вы можете задать их.
3. @SeverinKoch В вашем примере
AE
выглядит вертикальным, поэтому поворотπ/2
сделает его горизонтальным. В общем случае вычислите наклонAE
, используяatan2
, например, затем поверните на противоположный угол.4. используйте [параметрическое уравнение окружности и начните с
angle = 0.0
[rad] с шагом2.0*Pi / n
[rad], гдеn
— количество секций круга («квадрантов»)5. @spektre Мне нравится твой подход. Однако как я могу создать формулу, которая использует другую формулу для разных квадрантов. Для первых 2 квадрантов я должен использовать (90 — 2,0 * PI / n), для третьего квадранта (2* 90 — 2.0 * PI / n), а для квадранта 4,5 — (90 — 2,0 * PI / n), из-за противоположного направления. Это только для круга из 5 квадрантов, поэтому я не могу использовать if-операторы. Я что-то читал о Transformation-matrix, не уверен, подходит ли это.