Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
GranD1K
1 / 1 / 0
Регистрация: 13.04.2015
Сообщений: 43
1

Двумерные преобразования

21.12.2015, 22:10. Просмотров 301. Ответов 6
Метки нет (Все метки)

Здравствуйте.
Работаю с 2d преобразованиями на форме.

Загружаю из файла, набор отрезков с координатами.Произвожу некоторые преобразования(смещение,вращение и т.п.)
Как мне можно сделать совмещенную матрицу обратных преобразований?т.е. чтобы координаты пришли к исходному состоянию при загрузке. Использую однородные координаты.

У меня были следующие попытки составления:
1)D*(C*(B*A))
A-перенос;B-масштабирование;C-поворот; D-отражение и составлял к нему обратную матрицу
2)Такое же перемножение но без отражения
3)Простое перемножение обратных матриц каждого преобразования
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2015, 22:10
Ответы с готовыми решениями:

Преобразования матриц в С#
В действительной матрице размера n x m (n, m <10) упорядочить строки по...

Аффинные преобразования изображения
Добрый день. Написал небольшое приложение, которое осуществляет поворот...

Операция преобразования типа
Привет всем!!! Кто это видет! Проблема заключается в том что я не до конца...

Преобразования типа в DateTime
Вопрос следующего характера. В некотором файле имееться заголовок в котором...

Преобразования с использованием System.Encoding
Вобщем я перехожу на С# и столкнулся с проблемой преобразования. В статье...

6
kolorotur
Эксперт .NET
10488 / 8676 / 2157
Регистрация: 17.09.2011
Сообщений: 14,895
Завершенные тесты: 1
22.12.2015, 11:14 2
Цитата Сообщение от GranD1K Посмотреть сообщение
Произвожу некоторые преобразования(смещение,вращение и т.п.)
Как мне можно сделать совмещенную матрицу обратных преобразований?т.е. чтобы координаты пришли к исходному состоянию при загрузке.
Вам нужно найти обратную матрицу от вашей матрицы преобразований и применить ее к изображению.
Обратную матрицу можно найти с помощью метода Invert класса Matrix, живущего в пространстве System.Drawing.Drawing2D сборки System.Drawing.dll.
0
GranD1K
1 / 1 / 0
Регистрация: 13.04.2015
Сообщений: 43
22.12.2015, 11:30  [ТС] 3
а как определить текущую матрицу преобразований?.т.е. я загрузил,и допустим.отразил вокруг начала координат,повернул вокруг произвольной точки и т.д. таких вариаций множество и у всех ведь различная матрица.
0
kolorotur
Эксперт .NET
10488 / 8676 / 2157
Регистрация: 17.09.2011
Сообщений: 14,895
Завершенные тесты: 1
22.12.2015, 14:46 4
Цитата Сообщение от GranD1K Посмотреть сообщение
а как определить текущую матрицу преобразований?
Текущая матрица преобразований — это произведение всех матриц преобразований, которые применялись к изображению.
0
GranD1K
1 / 1 / 0
Регистрация: 13.04.2015
Сообщений: 43
22.12.2015, 15:50  [ТС] 5
да я это понимаю. тогда мне нужно записывать в переменную все преобразования применяемые к изображению, а потом к ним находить обратную матрицу?
0
kolorotur
Эксперт .NET
10488 / 8676 / 2157
Регистрация: 17.09.2011
Сообщений: 14,895
Завершенные тесты: 1
22.12.2015, 15:52 6
Цитата Сообщение от GranD1K Посмотреть сообщение
тогда мне нужно записывать в переменную все преобразования применяемые к изображению, а потом к ним находить обратную матрицу?
Да, причем сразу же "бесплатно" получаете функционал Undo
0
GranD1K
1 / 1 / 0
Регистрация: 13.04.2015
Сообщений: 43
22.12.2015, 15:53  [ТС] 7
хорошо, я попробую. спасибо
0
22.12.2015, 15:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2015, 15:53

Преобразования битовых данных в файл
Здравствуйте! Подскажите пожалуйста как преобразовать данные полученные через...

Ошибка преобразования строки в дату
Всем привет! Есть следующий код: DateTime ActDate =...

Преобразования над объектом Graphics
Есть примерно такой код: class DrawObject { public PointF Location {...


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

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

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