crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в зеркальное отображение графика
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
BRE Дата 25.6.2009, 14:55
 
Цитата(SABROG @ 25.6.2009, 15:50) *
Я правильно понимаю?

QMatrix xRefrect(-1.0, 0.0, 0.0, 1.0, 0.0, 0.0);
QMatrix yRefrect(1.0, 0.0, 0.0, -1.0, 0.0, 0.0);

Я давненько с этим не сталкивался, но очень похоже... :)
SABROG Дата 25.6.2009, 14:50
  Я правильно понимаю?

QMatrix xRefrect(-1.0/*m11*/, 0.0/*m12*/, 0.0/*m21*/, 1.0/*m22*/, 0.0/*dx*/, 0.0/*dy*/);
QMatrix yRefrect(1.0/*m11*/, 0.0/*m12*/, 0.0/*m21*/, -1.0/*m22*/, 0.0/*dx*/, 0.0/*dy*/);


* m11 - горизонтальное растягивание (horizontal scale)
* m22 - вертикальное растягивание (vertical scale)
* m21 - горизонтальный сдвиг (horizontal shearing)
* m12 - вертикальный сдвиг (vertical shearing)

В итоге:
m11 = -1.0 - растягивание в сторону уменьшения (отражение по горизонтали)
m22 = 1.0 - вертикальное растягивание (1.0 - оригинальная высота изображения, без изменений)

m11 = 1.0 - горизонтальное растягивание (1.0 - оригинальная ширина изображения, без изменений)
m22 = -1.0 - вертикальное растягивание в сторону уменьшения (отражение по вертикали)

В итоге приходим к scale(-1.0, 1.0); и scale(1.0, -1.0);
BRE Дата 25.6.2009, 14:23
 
Цитата(karabura @ 25.6.2009, 14:48) *
Ок, спасибо, буду пробовать. Тяжеловато конечно в аффинных преобразованиях разбираться, ну придёться

Там матрица примитивная. :)
Набери в гугле: "матрица отражения"
или зайти сюда: http://www.intuit.ru/department/graphics/d...3dhlsl/1/3.html
(это первая ссылка по запросу). ;)
karabura Дата 25.6.2009, 13:48
  Ок, спасибо, буду пробовать. Тяжеловато конечно в аффинных преобразованиях разбираться, ну придёться
BRE Дата 25.6.2009, 12:58
 
Цитата(karabura @ 25.6.2009, 12:09) *
Просмотрел документацию на форуме - про графические представления и координаты. Не могу никак найти способ зеркального отображения
содержимого QGraphicsView. У него же координаты с левого верхнего начинаются, график нужно отобразить зеркально вниз.
Вращение получается, зеркалирование нет. Как лучше сделать, чем воспользоваться?

Так матрицу преобразований можно установить.
Нужно по аффинным преобразованиям информацию глянуть.
SABROG Дата 25.6.2009, 12:46
  Попробуй scale() с отрицательным значением.
karabura Дата 25.6.2009, 11:09
  Просмотрел документацию на форуме - про графические представления и координаты. Не могу никак найти способ зеркального отображения
содержимого QGraphicsView. У него же координаты с левого верхнего начинаются, график нужно отобразить зеркально вниз.
Вращение получается, зеркалирование нет. Как лучше сделать, чем воспользоваться?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 19.4.2024, 6:05