Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Рисование графика (Паскаль)

4.6K
12 декабря 2006 года
SerG1nho
72 / / 30.10.2006
Плз, помогите.
Моя задача - нарисовать график 2*(sqr(sin(2*x))).
Пробовал это сделать с помощью PutPixel(x,y,color), но не судьба, потому как у меня ведь x т у получаются не Integer, а это процедура требует Integer.
Кто виноват и что делать?
Если можно, приложите фрагмент кода.
Заранее спасибо.
284
21 декабря 2006 года
michael_is_98
587 / / 25.02.2005
Все не так сложно. На самом деле можно (и возможно даже нужно) перейти от float к integer.
Все дело в том, что в единицу деления по оси ординат и оси абсцисс заклыдывается определенное число пикселей. А это число всегда целое.
Поэтому при рисовании графика нужно задать количество пикселей по горизонтали и вертикали, на которых будет рисоваться график (это целое число), а также минимальное и максимальное значения по оси абсцисс и оси ординат (это число может быть вещественным). При этом т.к. одно деление по оси абсцисс и оси ординат содержит одинаковое кол-во пикселей, то
shirina / (xMax-xMin)=visota / (yMax-yMin), где

shirina,visota - ширина,высота поля вывода в пикселах (целое)
xMax,xMin - макс./мин. деления по оси абсцисс (веществ)
yMax,yMin -----------------//------------ординат (веществ.)

Есть класс на Си++, можно посмотреть, но он не доделан.
7.6K
21 декабря 2006 года
Eternal Man
59 / / 07.07.2006
Советы:
*Для перехода от вещественного типа (real) к целочисленному (integer) используй функцию Round (integer:=Round(real));
*Для того чтобы график получился сплошным, приращение по Х должно быть достаточно небольшим;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог