crossplatform.ru

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


  Ответ в Изменение системы координат
Введите ваше имя
Подтвердите код

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

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


Последние 10 сообщений [ в обратном порядке ]
ViGOur Дата 31.5.2012, 15:31
 
Цитата(ViGOur @ 31.5.2012, 16:02) *
да, всё будет работать...

Trisch Дата 31.5.2012, 15:23
 
Цитата(ViGOur @ 31.5.2012, 15:02) *
да, всё будет работать...


извиняюсь не geometry(), а setGeometry().
ViGOur Дата 31.5.2012, 15:02
  да, всё будет работать...
Trisch Дата 31.5.2012, 15:01
  А будет ли с преобразованными координатами работать такая функция как geometry()?
wiz29 Дата 31.5.2012, 12:35
 
Цитата(Trisch @ 31.5.2012, 12:27) *
Я смотрел в эту сторону))) Но в этом случае я без понятия как получит координаты мыши в новой системе координат(((



Нужно просто трансформировать позицию из системы T1(начальная система координат с началом в левом верхнем углу) в систему Т2 (новая система координат)

Например:

есть экран size == (200, 100)
пусть Т1 - нормальная оконная система координат (с центром в левом верхнем углу и осью У направленной вниз)
пусть Т2 - новая система координат (с началом в левом нижнем углу и осью У направленной вверх)

тогда матрица трансформации для перехода из Т1 в Т2 будет иметь след вид.
QTransform transform;
transform.translate(0, 100);
transform.scale(1.0, -1.0);

далее трансформации позиции в новую систему координат:
QPoint mousePosT1 = ...;
QPoint mousePosT2 = transform.map(mousePos);

если надо получить обратно то:
QPoint posT2 = ...;
QPoint posT1 = transform.inverted().map(posT2);
(в случае переноса системы координат с использованием невырожденных аффинных преобразований обратное преобразование всегда существует)
Trisch Дата 31.5.2012, 11:27
 
Цитата(ViGOur @ 30.5.2012, 17:11) *
Смотри: Система координат - Преобразования

А вообще думаю будет полезным перечитать всё, поп поводу Системы координат. :)


Я смотрел в эту сторону))) Но в этом случае я без понятия как получит координаты мыши в новой системе координат(((
ViGOur Дата 30.5.2012, 17:11
  Смотри: Система координат - Преобразования

А вообще думаю будет полезным перечитать всё, по поводу Системы координат. :)
Trisch Дата 30.5.2012, 16:08
  В виджетах начало координат находится в верхнем левом углу. Можно ли сделать так чтобы она находилась, к примеру, в нижнем правом углу? Если можно то как?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 16.4.2024, 22:31