Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

Войти
Регистрация
Восстановить пароль
 
GranD1K
1 / 1 / 0
Регистрация: 13.04.2015
Сообщений: 43
#1

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

21.12.2015, 22:10. Просмотров 244. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Двумерные преобразования (C#):

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

Аффинные преобразования изображения - C#
Добрый день. Написал небольшое приложение, которое осуществляет поворот нарисованного объекта методом Оуэна и Македона, т.е. тремя...

Преобразования типа в DateTime - C#
Вопрос следующего характера. В некотором файле имееться заголовок в котором одно из полей - FTIME (4 байта) = Дата и время в стандартном...

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

Афинные преобразования для полигона - C#
Добрый вечер,необходимо по точкам построить полигон,а потом реализовать перемещение,поворот и масштаб для него. Может кто то делал...

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

6
kolorotur
Эксперт .NET
9206 / 7719 / 1236
Регистрация: 17.09.2011
Сообщений: 13,295
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
9206 / 7719 / 1236
Регистрация: 17.09.2011
Сообщений: 13,295
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
9206 / 7719 / 1236
Регистрация: 17.09.2011
Сообщений: 13,295
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
Привет! Вот еще темы с ответами:

Преобразования над объектом Graphics - C#
Есть примерно такой код: class DrawObject { public PointF Location { get; set; } public float ScaleX { get; set; } ...

Ошибка преобразования строки в дату - C#
Всем привет! Есть следующий код: DateTime ActDate = DateTime.Parse(MyDate); Параметр MyDate приходит с удаленного сервера в...

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

Всевозможные преобразования типов в C#, нужны примеры - C#
Преобразование типов в C# Открываю тему по тематике связаной с преобразованием разных типов (величин) в другие типы данных. Прошу пишите...


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

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

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