Форум программистов, компьютерный форум CyberForum.ru

поворот многоугольника на плоскости - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
belii0987
0 / 0 / 1
Регистрация: 17.10.2009
Сообщений: 49
23.06.2010, 08:41     поворот многоугольника на плоскости #1
Пдоскажите пожалуйста как сделать поворот многоугольника на плоскости или подскажите литературу где можно об этом почитать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2010, 08:41     поворот многоугольника на плоскости
Посмотрите здесь:

замкнутость многоугольника C++
C++ Cторон многоугольника
Построение многоугольника C++
Многоугольник на плоскости задан целочисленными координатами своих N вершин в декартовой системе координат (найти площадь многоугольника) C++
C++ Создать два класса: PointXY с данными x, y (точка на плоскости в декартовых координатах) и PointPolar с данными r, phi (точка на плоскости в полярных
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
23.06.2010, 09:29     поворот многоугольника на плоскости #2
очень просто - повернуть его точки

поворот точки относительно 0
C++
1
2
3
4
5
6
7
8
9
void Rotate(double &X, double &Y, double Angle)
{
    double angle = Angle*M_PI/180;
    double cas_a = cos(angle);
    double sin_a = sin(angle);
    double x = X*cas_a - Y*sin_a;
    Y = X*sin_a + Y*cas_a;
    X = x;
}
belii0987
0 / 0 / 1
Регистрация: 17.10.2009
Сообщений: 49
23.06.2010, 09:39  [ТС]     поворот многоугольника на плоскости #3
а как сделать в качестве центра мировых координат центр экрана.
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
23.06.2010, 09:58     поворот многоугольника на плоскости #4
Цитата Сообщение от belii0987 Посмотреть сообщение
а как сделать в качестве центра мировых координат центр экрана.
а где это всё рисуется, в каком режиме
belii0987
0 / 0 / 1
Регистрация: 17.10.2009
Сообщений: 49
23.06.2010, 10:06  [ТС]     поворот многоугольника на плоскости #5
в графическом режиме vga в си вроде)))

Добавлено через 2 минуты
а где об этом можно почитать неподскажешь?
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
23.06.2010, 10:09     поворот многоугольника на плоскости #6
тогда не понимаю проблемы, это же простая математика
для поворота относительно любого центра С(x0, y0) - нужно сначала перенести поворачиваемую точку, чтобы центр С стал началом координат, повернуть, потом вернуть обратно
belii0987
0 / 0 / 1
Регистрация: 17.10.2009
Сообщений: 49
23.06.2010, 10:12  [ТС]     поворот многоугольника на плоскости #7
а как сделать в качестве центра мировых координат центр экрана?? там вроде чтото связвно с матрицей преобразования вроде
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2010, 10:26     поворот многоугольника на плоскости
Еще ссылки по теме:

Триангуляция многоугольника C++
Найдите самую длинную диагональ многоугольника, заданного координатами своих вершин на плоскости C++
Даны точки на плоскости: расположить их так, чтобы они образовывали вершины выпуклого многоугольника C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
23.06.2010, 10:26     поворот многоугольника на плоскости #8
например:
центр экрана С(100, 100)
точка A(15, 22)
угол 37

переносим: A - С = A(-85, -78)
поворачиваем: A(-20.9, -113.4)
переносим обратно: A + C = A(79.1, -13.4)

но если хочется через мартицы я отговаривать не буду
Yandex
Объявления
23.06.2010, 10:26     поворот многоугольника на плоскости
Ответ Создать тему
Опции темы

Текущее время: 10:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru