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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
belii0987
0 / 0 / 1
Регистрация: 17.10.2009
Сообщений: 49
#1

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

23.06.2010, 08:41. Просмотров 1510. Ответов 7
Метки нет (Все метки)

Пдоскажите пожалуйста как сделать поворот многоугольника на плоскости или подскажите литературу где можно об этом почитать
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2010, 08:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос поворот многоугольника на плоскости (C++):

Есть файл, в котором заданные координаты вершин выпуклого многоугольника на плоскости - C++
Есть файл, в котором заданные координаты вершин выпуклого многоугольника на плоскости. Написать программу, которая проверяет все введенные...

Найдите самую длинную диагональ многоугольника, заданного координатами своих вершин на плоскости - C++
Произвольный выпуклый многоугольник задан координатами своих вершин на плоскости. Найдите самую длинную диагональ данного многоугольника....

Даны точки на плоскости: расположить их так, чтобы они образовывали вершины выпуклого многоугольника - C++
На плоскости заданы N точек своими декартовыми координатами. Расположить эти точки в таком порядке, чтобы они образовывали вершины...

Многоугольник на плоскости задан целочисленными координатами своих N вершин в декартовой системе координат (найти площадь многоугольника) - C++
Здравствуйте форумчане! Необходим совет) собственно задача: Многоугольник на плоскости задан целочисленными координатами своих N...

Создать два класса: PointXY с данными x, y (точка на плоскости в декартовых координатах) и PointPolar с данными r, phi (точка на плоскости в полярных - C++
Создать два класса: PointXY с данными x, y (точка на плоскости в декартовых координатах) и PointPolar с данными r, phi (точка на плоскости...

замкнутость многоугольника - C++
добрый вечер.пишу игру точки.подскажите,плз,как можно реализовать вычисление замкнутости многоугольника?вот как в рисунке:надо...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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;
}
2
belii0987
0 / 0 / 1
Регистрация: 17.10.2009
Сообщений: 49
23.06.2010, 09:39  [ТС] #3
а как сделать в качестве центра мировых координат центр экрана.
0
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
23.06.2010, 09:58 #4
Цитата Сообщение от belii0987 Посмотреть сообщение
а как сделать в качестве центра мировых координат центр экрана.
а где это всё рисуется, в каком режиме
0
belii0987
0 / 0 / 1
Регистрация: 17.10.2009
Сообщений: 49
23.06.2010, 10:06  [ТС] #5
в графическом режиме vga в си вроде)))

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

но если хочется через мартицы я отговаривать не буду
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2010, 10:26
Привет! Вот еще темы с ответами:

Cторон многоугольника - C++
Многоугольник задан координатами своих вершин.Определить принадлежит ли заданная точка стороне этого многоугольника. Помогите...

Периметр многоугольника - C++
Данные координаты вершин многоугольника (x1, y1, x2, y2, .x10, y10). Напишите программу для вычисления его периметра (вычисления расстояния...

Площадь многоугольника - C++
Всем добрый вечер! Есть задача: Заданы координаты n последовательных вершин многоугольника. Определить его площадь. Входные данные...

Площадь многоугольника - C++
Найти площадь невыпуклого многоугольника(n-угольник). Входные данные: координаты точек. На output вывести площадь.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru