3 / 3 / 1
Регистрация: 12.10.2009
Сообщений: 81
1

Вращение фигур

05.09.2010, 11:49. Показов 9696. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Встретился с такой проблемой. Мне нада научиться вращать фигуры вокруг центра тяжести.
Облазил всё!!! Гдето встретил разговор про матричный поворот ,про новый базис и всё, но я не понял как это реализовать.
не могли бы вы мне намекнуть каким способом можно вращать фигуры?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2010, 11:49
Ответы с готовыми решениями:

Вращение фигур
Доброго времени суток! Нужна помощь. Суть такова: есть программа, которая выводит Фамилию Имя в...

Вращение фигур
Здравствуйте. Нужно сделать такое задание - человек может ввести радиус диска и ширину его...

Вращение трехмерных фигур
Ребят помогите пожалуйста!есть исходный код нужно добавить комментарии к строчкам unit Unit1; ...

Вращение 3-х мерных фигур
Дано: трехмерный примитив типа пирамида/призма. Может быть как срезанным так и нет. Задача:...

16
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
05.09.2010, 12:12 2
Какую технологию собираетесь использовать?
0
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
05.09.2010, 12:17 3
Вот формула вращения точки вокруг центра:
https://www.cyberforum.ru/cgi-bin/latex.cgi?x = \cos(\alpha)*x'-\sin (\alpha)*y'
https://www.cyberforum.ru/cgi-bin/latex.cgi?y = \sin(\alpha)*x'+\cos (\alpha)*y'
(x', y') - координаты старой точки относительно центра
(x, y) - координаты "перевернутой" точки относительно центра
альфа - угол поворота
Координаты центра (относительного начала области рисования) задаете сами.
1
3 / 3 / 1
Регистрация: 12.10.2009
Сообщений: 81
05.09.2010, 12:57  [ТС] 4
пишу в WINAPI C++
Евгений , вот например как повернуть прямоугольник с помощью этой формулы?

тупо применить эту формулу ко всем точкам фигуры?
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
05.09.2010, 12:58 5
Pavel1133, я имею в виду GDI, DirectX, OpenGL?
0
3 / 3 / 1
Регистрация: 12.10.2009
Сообщений: 81
05.09.2010, 13:05  [ТС] 6
обычный Winapi без direx i opengl
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
05.09.2010, 13:06 7
вращать, надеюсь в плоскости? или в пространстве?
0
3 / 3 / 1
Регистрация: 12.10.2009
Сообщений: 81
05.09.2010, 13:13  [ТС] 8
в плоскости

мне главное понять принцип вращения, помоги плиз . каким нибуть примером. Буду благодарен
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
05.09.2010, 13:15 9
https://www.cyberforum.ru/pascal/thread128537.html
похожая тема, изучите исходники
0
3 / 3 / 1
Регистрация: 12.10.2009
Сообщений: 81
05.09.2010, 15:05  [ТС] 10
мне вращение вокруг центра надо...
и на с++)
0
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
05.09.2010, 15:09 11
Цитата Сообщение от Pavel1133 Посмотреть сообщение
тупо применить эту формулу ко всем точкам фигуры?
Да.
Для фигур типа полигонов (n-угольник) вращаем только вершины. После этого "соединяем" эти вершины.
0
3 / 3 / 1
Регистрация: 12.10.2009
Сообщений: 81
05.09.2010, 15:22  [ТС] 12
вот формула евгения, но я както не понел как её приминять, вот я пробывал применить , но не так работает как хотелось

C++
1
2
3
4
5
6
7
8
9
                                x1=20;
            y1=20;
            x2=80;
            y2=60;
            x3=cos((float)PI/6)*x1-sin((float)PI/6)*y1;
            y3=sin((float)PI/6)*x1+cos((float)PI/6)*y1;
            x4=cos((float)PI/6)*x2-sin((float)PI/6)*y2;
            y4=sin((float)PI/6)*x2+cos((float)PI/6)*y2;
            Rectangle(hdc,x1,y1,x2,y2);
Добавлено через 1 минуту
PI я определил как 3.14

Добавлено через 45 секунд
потому что когда писал градус, например 45, оно ничего не ваводило
0
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
05.09.2010, 15:36 13
Вообще-то я сообщил, что (x', y') и (x, y) - это координаты точки относительно центра. Задайте координаты центра относительно левого верхнего угла (cx, cy).
И еще мне кажется что функция Rectangle не будет Вам рисовать перевернутый прямоугольник. Переворачивайте вершины и используйте функцию LineTo или что-то вроде того.

Не по теме:

Вы знакомы с понятием аффинное пространство?

0
3 / 3 / 1
Регистрация: 12.10.2009
Сообщений: 81
05.09.2010, 15:42  [ТС] 14
На вышке проходил в прошлом семестре, но я не очень понял его.

В задании у меня прямоугольник задаётся одной точкой и длинами сторон

то же самое задание и для треугольника

а тут получается для прямоугольника нада аж 4 точки
можно писать конечто сдоровеные параметры функции чтобы всё было от одной точки , но врятли это выход
0
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
05.09.2010, 16:12 15
Цитата Сообщение от Pavel1133 Посмотреть сообщение
В задании у меня прямоугольник задаётся одной точкой
Что за точка?

Цитата Сообщение от Pavel1133 Посмотреть сообщение
можно писать конечто сдоровеные параметры функции
А массивы точек в качестве параметров?
0
3 / 3 / 1
Регистрация: 12.10.2009
Сообщений: 81
05.09.2010, 17:32  [ТС] 16
спасибо за идею с массивом)

нащёт точки не поясняется, но я буду центральную.

не подскажешь как найти центр тяжести в треугольнике?
0
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
06.09.2010, 07:35 17
Цитата Сообщение от Pavel1133 Посмотреть сообщение
центр тяжести в треугольнике
Это точка пересечения медиан.

Добавлено через 1 минуту
Это в помощь: Точка пересечения двух пространственных прямых?
1
06.09.2010, 07:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2010, 07:35
Помогаю со студенческими работами здесь

Вращение фигур в консоли
Добавить в меню выбор и вращение выбранной фигуры. Если фигура после вращения пересечется с другой...

[OpenGL] вращение фигур мышкой
Вращение фигуры на клавиатуре я реализовал, теперь хочу, что бы можно было вращать фигуру с помощью...

OpenGL c++ Вращение нескольких фигур
Здравствуйте,недавно начала изучать OpenGL смотрел уроки на Ютюбе. Вот функция рисования display...

Вращение фигур вокруг своих вершин
Помогите пожалуйста с задачей. Есть трехмерная сцена. На ней имеют координаты три одинаковые...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru