Графика в С, поворот нарисованного обьекта
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
-
- Сообщения: 7
- Зарегистрирован: 13 апр 2010, 15:40
- Контактная информация:
Пишу игрушку на си, надо повернуть обьект на 90 градусов, как то сохраняя обьект или подругому
Какой графической библиотекой пользуешься?
Поумнеть несложно, куда труднее от дури избавиться.
-
- Сообщения: 7
- Зарегистрирован: 13 апр 2010, 15:40
- Контактная информация:
пользуюсь <Graphics.h>
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Матрицы поворота не проходил в курсе аналитической геометрии или компьютерной графики?
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
-
- Сообщения: 7
- Зарегистрирован: 13 апр 2010, 15:40
- Контактная информация:
нет, покамест не проходил, вот искал книжки, да не нашел подходящей... а вобще такое возможно? добустим, нарисовал я треугольник, закрасил и хочу повернуть на 90 гр.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Конечно возможно.
1. Очищаем экран.
2. Переносим начало координат в ту точку, вокруг которой будем поворачивать (то есть пересчитываем соответствующим образом все координаты вершин).
3. Умножаем векторы, соответствующие вершинам на матрицу поворота.
4. Переносим начало координат обратно в левый верхний угол.
5. Выводим треугольник, воспользовавшись новыми полученными координатами точек.
6. Заливаем треугольник.
1. Очищаем экран.
2. Переносим начало координат в ту точку, вокруг которой будем поворачивать (то есть пересчитываем соответствующим образом все координаты вершин).
3. Умножаем векторы, соответствующие вершинам на матрицу поворота.
4. Переносим начало координат обратно в левый верхний угол.
5. Выводим треугольник, воспользовавшись новыми полученными координатами точек.
6. Заливаем треугольник.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
-
- Сообщения: 7
- Зарегистрирован: 13 апр 2010, 15:40
- Контактная информация:
Стоит попробовать, =)) есть че попроще?
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Проще не бывает. Сложнее вариантов масса.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
-
- Сообщения: 7
- Зарегистрирован: 13 апр 2010, 15:40
- Контактная информация:
Пожалуйста, напиши пример программы, если не сложно, например поворот прямоугольника при нажатии клавиши "пробел"
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Мне не сложно, но что из этого вынесешь ТЫ?
Предлагаю тебе попытаться написать самому и постить сюда вопросы, с которыми не будешь справляться самостоятельно.
Предлагаю тебе попытаться написать самому и постить сюда вопросы, с которыми не будешь справляться самостоятельно.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.