Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.01.15;
Скачать: CL | DM;

Вниз

Как объединить несколько матриц для SetWorldTransform()?   Найти похожие ветки 

 
K-1000 ©   (2016-02-29 17:00) [0]

Делаю так:

1. SetWorldTransform().
2. Рисую картинку с поворотом.
3. Сбрасываю трансформ: ModifyWorldTransform(MWT_IDENTITY).

Дело в том, что помимо картинок с поворотом, используется ещё "глобальная" трансформация всего DC. Т.е. нужно как-то объединить матрицы трансформации в одну. Как это сделать?

Знаю, что установленные "до" матрицы можно получить вызвав GetWorldTransform().


 
han_malign ©   (2016-02-29 17:26) [1]


> Т.е. нужно как-то объединить матрицы трансформации в одну.
>  Как это сделать?

GetWorldTransform(restore)
ModifyWorldTransform(...) - объединить матрицы трансформации в одну
SetWorldTransform(restore) - Сбрасываю трансформ


 
han_malign ©   (2016-03-01 08:09) [2]

можно еще попробовать
SaveDC
ModifyWorldTransform
...
RestoreDC
- теоретически - это правильней...


 
K-1000 ©   (2016-03-01 18:01) [3]


> han_malign ©  


Помогла функция CombineTransform().


 
han_malign ©   (2016-03-02 12:38) [4]


> Помогла функция CombineTransform().

- я то понял, что у тебя стек трасформаций...

По идее - ModifyWorldTransform(xform, MWT_RIGHTMULTIPLY) это примерно то-же самое, что SetWorldTransform(CombineTransform(GetWorldTransform, xform))

Если с коммутацией не напутал... По формулам
x" = x * eM11 + y * eM21 + eDx;
y" = x * eM12 + y * eM22 + eDy;
-  вроде правое умножение (x, y, 1)*XFORM


 
K-1000 ©   (2016-03-02 13:32) [5]


>  han_malign ©


Хм, не обращал как-то раньше внимания на MWT_RIGHTMULTIPLY. :)
Спасиб, может быть пригодится когда-нибудь.



Страницы: 1 вся ветка

Текущий архив: 2017.01.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
15-1448919001
Юрий
2015-12-01 00:30
2017.01.15
С днем рождения ! 1 декабря 2015 вторник


15-1445860992
DayGaykin
2015-10-26 15:03
2017.01.15
PHP и Java для Web


15-1456992174
Pavia
2016-03-03 11:02
2017.01.15
Сертификация ПО и патентные исследования


6-1281776559
Симулятор
2010-08-14 13:02
2017.01.15
Как сделать симуляцию в индиевских серверах?


2-1419963322
AlexeyTG
2014-12-30 21:15
2017.01.15
Чтение из HKEY_LOCAL_MACHINE правильно ли реализовано