![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 05.12.2012
Сообщений: 3
|
![]()
Задание : повернуть треугольник ABC относительно оси Oz на угол alpha и относительно оси Oy на угол beta.
Входные данные: координаты точек A, B, C и углы поворота (в градусах). Выходные данные: координаты нового треугольника, матрица преобразования. Делаю на C# получилось реализовать поворот вокруг OZ используя формулу: x = x*cos(a) - y*sin(a) y = x*sin(a) + y*cos(a), где а - угол поворота. Скорее всего нужно переписывать код. Чтобы строило и поворачивало по матрицам. Не знаю как это сделать... Поворот вокруг OZ(матрица 4х4): cos -sin 0 0 sin cos 0 0 0 0 1 0 0 0 0 1 Поворот вокруг Oy(матрица 4х4): cos 0 sin 0 0 1 0 0 -sin 0 cos 0 0 0 0 1 |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
И в чем проблема?
Может в том, что Вы думаете, что записанный так поворот должен поворачивать фигуру относительно центра экрана? Нет, вокруг верхнего левого угла. Притом хорошо, если это угол клиентской области Вашего окна, а не всего экрана. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 05.12.2012
Сообщений: 3
|
![]()
Думал над вариантом переноса треугольника в начало координат, там повернуть и перенести обратно.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
И еще один момент:
сначала Вы вычисляете х, а потом - у, но при вычислении у Вы используете новое значение х, а нужно - старое. Следует сначала запомнить значение х, затем вычислить новое, а затем вычислять у не по новому, а по запомненному х. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Компьютерная графика | F1nk | Помощь студентам | 0 | 17.03.2011 14:47 |
Компьютерная графика на С++ | Nikolai2010 | Общие вопросы C/C++ | 10 | 06.06.2010 19:04 |
Компьютерная графика на C# | Mclaren | Софт | 0 | 02.06.2010 23:57 |
компьютерная графика | Черная тень | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 11.01.2009 07:29 |