|
4 / 4 / 0
Регистрация: 03.04.2009
Сообщений: 190
|
|
Вращение фигуры25.09.2010, 12:12. Показов 3387. Ответов 9
Метки нет (Все метки)
Как можно сделать вращение фигуры??
Например, дан треугольник (имеется в виду графический режим в borland c++ 3.1)
0
|
|
| 25.09.2010, 12:12 | |
|
Ответы с готовыми решениями:
9
вращение фигуры вращение фигуры вращение фигуры |
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 25.09.2010, 12:20 | |
|
довольно просто
надо над каждой вершиной сделать матричное преобразование
1
|
|
|
4 / 4 / 0
Регистрация: 03.04.2009
Сообщений: 190
|
|
| 25.09.2010, 15:50 [ТС] | |
|
т.е. для координаты х=xcosa-ysina,
а для y=xsina+xcosa ?
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 25.09.2010, 15:52 | |
|
да, так для каждой точки фигуры, однако один момент - поворот идет относительно (0,0), если нужно относительно центра фигуры, то нужно пересчитать в относительные координаты (где 0,0 центр фигуры) и там уже вращать
1
|
|
|
4 / 4 / 0
Регистрация: 03.04.2009
Сообщений: 190
|
|
| 28.09.2010, 13:39 [ТС] | |
|
А как пересчитать в относительные координаты??
0
|
|
|
80 / 85 / 19
Регистрация: 07.05.2009
Сообщений: 336
|
|
| 28.09.2010, 14:21 | |
|
1
|
|
|
4 / 4 / 0
Регистрация: 03.04.2009
Сообщений: 190
|
|
| 28.09.2010, 14:42 [ТС] | |
|
т.е. для х это будет так - х=(x-x0)cosa-(y-y0)sina?
где x0,y0 - координаты центра вот так не работает ((
0
|
|
|
80 / 85 / 19
Регистрация: 07.05.2009
Сообщений: 336
|
|
| 28.09.2010, 14:55 | |
|
out_х=(x-x0)cosa-(y-y0)sina
out_x и x не одно и тоже. x,y,x0,y0 - это входные данные. и да, в итоге должно быть так: out_х=x0+((x-x0)*cos(a)-(y-y0)*sin(a));
1
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 28.09.2010, 15:34 | |
|
a91, выполните в три шага
1. Перенесите координаты тоже самое достигается домножением на матрицу перехода 2. сделайте поворт 3. верните обратно а потом уже соединяйте в одно действие Можно все действия записать матрицами, их перемножить и в одно действие использовать смотрите матчасть http://ru.wikipedia.org/wiki/Матрица_перехода
1
|
|
|
4 / 4 / 0
Регистрация: 03.04.2009
Сообщений: 190
|
|
| 30.09.2010, 15:52 [ТС] | |
|
Да, теперь все работает!!
Я тогда забывал после преобразования координат конкретной фигуры прибавлять координаты ее центра
0
|
|
| 30.09.2010, 15:52 | |
|
Помогаю со студенческими работами здесь
10
Программа вычисления местонахождения точки относительно фигуры (лежит ли точка внутри, на контуре или вне фигуры) Вращение фигуры Вращение фигуры Вращение фигуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 31.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 30.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|