Одномерный (глубокий) зум с изменением соотношения сторон
У меня есть набор данных, который (если рассматривать как изображение) гораздо шире, чем он высокий. (Данные собираются в одном измерении от 100 000 до 1 000 000 X-точек; каждое значение Y живет от 0 до 1. При его "естественном" разрешении вы можете думать об этом как об изображении с соотношением сторон около 100:1.)
Я хотел бы иметь возможность отображать эти данные в каком-то "масштабируемом пользовательском интерфейсе", таком как технология DeepZoom/Silverlight/Seadragon для больших изображений. Тем не менее, эти технологии предполагают, что (1) изображения почти квадратные и (2) при увеличении масштаба соотношение сторон не изменяется.
В идеале я хотел бы, чтобы эквивалентный инструмент масштабировал только одно измерение. Масштаб самого низкого разрешения будет отображать все данные с соотношением сторон 1:1. Каждый раз, когда вы увеличиваете масштаб, вы меняете соотношение сторон. В частности, вы можете удвоить разрешение по оси X и оставить разрешение только по оси Y. Таким образом, вы получите панорамируемую версию с соотношением сторон 2:1, затем 4:1, затем 8:1, возможно до 128:1 или 256:1. При самом высоком разрешении вы сможете увидеть локальную структуру данных (предположительно в самых интересных местах).
Есть ли эквивалент технологии DeepZoom, который позволил бы (на основе плитки) масштабировать только одно измерение? Или есть способ заставить DeepZoom сделать эту работу?
1 ответ
Прошло много времени с тех пор, как я задавал этот вопрос, и (в свете отсутствия ответов) я наконец вернулся и начал создавать свое собственное решение. Чтобы увидеть, как это выглядит, перейдите к Тайлеру, примеру того, как я хочу, чтобы вещи вели себя, на silicovore.com. Базовый код предоставляется Open Seadragon, текущей версией с открытым исходным кодом инструментов DeepZoom/Seadragon. На данный момент я не модифицировал базовый код; Я просто воспользовался несколькими зацепками, которые они установили для установки моих собственных обработчиков.
Пример работает не совсем корректно. Нажатие и перетаскивание в окнах основного дисплея может привести к нарушению ограничения вертикального выравнивания, а также к уменьшению масштаба слишком далеко (за пределы изображения 0-го уровня). Итак, обновляется вопрос: кто-нибудь может объяснить, как исправить проблемы в этом примере?