Страница: 1 |
Страница: 1 |
Вопрос: График функции
Добавлено: 21.08.10 18:12
Автор вопроса: Yu24 | Web-сайт:
Хочу сделать в Visual Basic 2008 программу для построения графика функции, для начала линейной.
Получилось многое, но когда дошел до самого построения функции обнаружилась следующая проблема:
Если брать цикл по оси Х, то получаются большие промежутки вертикали в случае с которая проходит почти вертикально, если брать цикл по У, то большие промежутки по горизонтали. В случае с линейной функцией можно сразу чертить прямую, но в этом случае 2 проблемы:
1)Это будет работать только с линейной функцией
2)Возникли проблемы с типами данных, так как координаты прямой должны быть integer, а у меня там деление...
И еще надо работающий код, разрешающий вводить в текстовое поле только цифры и запятую (или точку).
Заранее спасибо.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #1
Добавлено: 21.08.10 19:03
режь шаг по X или Y ..
Номер ответа: 2
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #2
Добавлено: 21.08.10 21:35
Простейший вариант - в цикле с определенным шагом рассчитываешь точки и соединяешь их линиями. Будет работать с любой функцией (нужно будет для всяких гипербол учесть что могут быть разрывы в графике). Чем меньше шаг, тем плавнее будет линия, и тем больше времени нужно будет на построение.
Рассчеты все вести в double, перед отображением логические координаты переводить в физические (пикселы) с учетом масштаба и смещения начала координат. Дробную часть округлять.
Номер ответа: 3
Автор ответа:
Yu24
ICQ: 552411142
Вопросов: 1
Ответов: 1
Web-сайт:
Профиль | | #3
Добавлено: 21.08.10 22:00
Вроде понятно. Спасибо.
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 22.08.10 19:19
Юзал.. вполне приличный контрол для отображения всевозможных 2D графиков..