![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Randol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 10.6.2007 Репутация: нет Всего: нет |
дано функция f(x)
как мне нарисовать функцию на win форме? с помощю кокого функции или метода можна сделать это? |
|||
|
||||
Walker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: 1 Всего: 16 |
Делается это средствами GDI+. Концептуально ничего сложного - у тебя же набор точек есть, раз функция известна. - Задай цикл по области определения функции (меняй значения x). Шаг (дискретизацию) выбираешь в зависимости от нужной тебе точности - вычисляй y и рисуй точку по двум координатам. Только учти - система координат в окошках MS ориентирована по другому - начало координат - верхняя левая точка окна. Ось X направлена стандартно, а Y вниз. Поэтому следи за знаками.
Кратко об использовании GDI+. Основа для рисования - объект Graphics, который представлет собой псевдоповерхность для рисования. Он абстрагирует тебя от аппаратной платформы - собираешься ты выводить свой рисунок на экран ли монитора, на принтер или на плоттер. У Graphics определена куча методов, позволяющих строить на нём элементарные геометрические фигуры, точки, прямые, ломаные, сплайны, рисовать битмапы. Получить Graphics для отображения твоего изображения на каком-либо контроле проще всего можно использовав метод CreateGraphics нужного тебе контрола. Подпишись на событие Paint этого контрола и отрисовывай всё, что тебе нужно в нём, так как картинка не запоминается, и при сворачивании окошка или его перекрывании рисунок пропадает, а этот метод вызывается при перерисовке каждый раз. Для принудительной перерисовки при изменений данных используй метод контрола Invalidate(). Удачи! Это сообщение отредактировал(а) Walker - 26.11.2007, 10:35 -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |