michael_is_98
5:02:2006, 05:38
Ребята, у меня вопрос такого сорта. Пишу граф. библиотеку на Си, возник вопрос с выводом делений по осям (библотека строит графики функций). Сколько делений должно быть по каждой оси? Какой выбрать шаг по осям? Каково минимальное значение по оси?
В целом необходимо составить такую процедуру, которая имея на входе максимальное и минимальное значение по оси на выходе выдает минимальное деление, шаг делений, кол-во делений.
Например, если минимальное значение по оси x равно -1, максимальное 10, то тогда естественно предположить, что минимальное деление равно 0, шаг делений 2, кол-во делений 6.
(мы не говорим о программное реализации в рамках GDI, о перьях, пикселах,...)
Какие будут предложения?
grigsoft
5:02:2006, 07:36
По-моему это и есть единственная сложность во всей твоей библиотеке - все программы решают это по-разному, и совсем не многие делают хорошо. Вряд-ли есть универсальный алгоритм для этого, особенно учитывая возможные вещественные границы\деления.
Я бы сначала поискал в гугле, подумав над правильным переводом на английский (axis labelling algorithm - что-то даже находит).
michael_is_98
5:02:2006, 07:46
Не думаю, что это очень сложно. В конце концов можно фикс. число делений задать.
В Интернет подобные вопросы находил, но решение меня не совсем устраивало. Если кто-то создавал подобный компонент, то наверняка работал с масштабированием. Нужно красивое решение.