Russian Qt Forum
Ноябрь 24, 2024, 03:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как делают зум?  (Прочитано 4519 раз)
once_again_abc
Гость
« : Сентябрь 06, 2011, 10:15 »

Очень простой и сложный вопрос. Я не спрашиваю о технических деталях. Меня интересуют принципы - что такое правильный зум? Как правильно изменять оси разметку оси координат? Как правильно выбирают "шаг" зума? Какими принципами руководствуются при реализации зума?
Никогда такого не делал, сижу голову ломаю =)
Смотрел пример из всем известной книги Саммерфилда, но что-то мне этот метод не нравится...
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Сентябрь 06, 2011, 10:28 »

например QGraphicsView::scale(). или что конкретно надо зуммировать? картинку?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Странник
Гость
« Ответ #2 : Сентябрь 06, 2011, 10:31 »

не бывает зума правильного и неправильного - бывает удобный и неудобный. а здесь уже все определяется спецификой задачи и личными предпочтениями пользователей.
Записан
once_again_abc
Гость
« Ответ #3 : Сентябрь 06, 2011, 10:44 »

объясните пожалуйста для начала как правильно "зумить" значения координатных осей.
например по оси Х у нас есть изначально следующие значения: 0.5 0.6 0.7 0.8 0.9. 1.1 1.2

вот когда говорят об увеличении (не масштабировании!), как правильно "увеличить" шкалу оси Х, чтобы оставаться в указанном формате значений и с максимальным числом отметок на оси?

ПС. kambala, мне нужно понять как делается зум руками, без помощи классов Qt и сторонних библиотек.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #4 : Сентябрь 06, 2011, 11:33 »

коэффициент разбиения интервала (шаг) меняется при зуме - в соответствии с этим и перерисовывать оси и графики.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
once_again_abc
Гость
« Ответ #5 : Сентябрь 06, 2011, 15:44 »

подскажите хороший алгоритм зума. алгоритм Хекбертса (nice numbers) буксует на определенных диапазонах.
чтобы не зарываться в математику, как можно упростить задачу и сделать зум как можно более глубоким?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.119 секунд. Запросов: 23.