1. Относительно подписей масштабов, здесь не
совсем та ошибка.
Следите за ходом мысли внимательно (все переменные по тексту обозначены курсивом)!
Ваше поле вывода имеет ширину 80мм. Подпись имеет кратность
20мм. (диалог "Свойства кривой / параметр "Кратность подписи
'мм'"). Это означает, что помимо левого и правого крайних значений должно
быть подписано еще 3 промежуточных линии сетки, и всего подписей должно быть
ровно пять (ширина (80)/кратность (20мм)+1).
Давайте для простоты обозначим через переменную "размах"
разность между крайним_правым и крайним_левым значениями
кривой для текущего масштаба. Для первого масштаба размах=10.0-2.0=8.0.
Подписи для первого масштаба в этом случае должны иметь такие значения
(напомню, надо подписать 5 линий включая границы поля):
Именно эти 2,
4, 6, 8,10 вы и видите на подписях первого масштаба. Теперь давайте посмотрим
на второй масштаб. Формулы такие же , но размах равен
20.0 - 2.0 = 18.0. Если вы подставите в приведенные выше
формулы это значение переменной размах, то вы получите точь-в-точь то,
что написано на планшете. Однако обратим внимание, что кратность масштабов 2
означает, что в каждом следующем масштабе на ширину поля вывода должно
приходиться вдвое больше физических единиц (размах), чем в предыдущем.
Таким образом, для нашего примера размах 2-го масштаба должен быть
равен размах2 = размах1 * 2 = 8.0 * 2
= 16.0. Из этого следует, что если ваш второй масштаб имеет смещение 2.0,
то его правая граница должна быть равна 2.0+16.0=18.0. Аналогичным образом
вычислив значение правой границы для остальных масштабов, получим:
Подставьте эти
значения в свойства кривой и тогда все подписи над линиями сетки примут
осмысленный вид.
Наша ошибка состоит в том, что все эти громоздкие
вычисления должны были бы происходить автоматически, при нажатии кнопки
"Кратно 2". Они собственно и происходят, но дают не тот
результат, который я расписал выше, а тот который вы прислали (в чем я публично
каюсь).
Итог: на вечер 25.02.2002 на сайте планируется публикация релиза
Опиум v1.08. Там это будет исправлено.
Е.А. Полищук