Цифровое моделирование на C#. Дмитрий Павлов
Чтение книги онлайн.

Читать онлайн книгу Цифровое моделирование на C# - Дмитрий Павлов страница 3

Название: Цифровое моделирование на C#

Автор: Дмитрий Павлов

Издательство: Издательские решения

Жанр:

Серия:

isbn: 9785006286184

isbn:

СКАЧАТЬ взяв переменную x, можно получить y. При этом переменная x называется независимой переменной, а y зависимой. Или говорят, что y является функцией x.

      Например: y = 2x + sin2x.

      Функция может быть задана следующим образом:

      x = X (t)

      y = Y (t)

      Здесь x и y являются функциями независимой переменной t. Такой способ задания функций называется параметрическим. Например, следующая пара функций определяет окружность радиусом 1:

      x=cos (t)

      y=sin (t)

      Построение графика в декартовой системе координат

      Для определенности мы начнем с построения графика функции, заданной явно в декартовой системе. Сформулируем шаги, необходимые для построения:

      – Получить список точек в обычной системе координат.

      – Получить список точек в компьютерной системе координат, преобразовав точки из обычной системы.

      – Соединить получившиеся точки линией.

      Ниже представлен пример кода, с помощью которого можно получить массив точек с координатами в обычной системе координат.

      Код достаточно простой, но поскольку мы с вами находимся в начале пути, немного комментариев к нему не будут лишними. Во-первых, в коде присутствуют границы отрезка, на котором мы собираемся строим наш график – это A и B. Во-вторых, сама функция f (x) задана локально и в нашем случае это y=x2. От исходной функции требуется, чтобы она была определена при всех значениях внутри заданного отрезка. Очевидно, что наша функция этому условию удовлетворяет. Далее, N – это число точек для построения. На самом деле выбор этого значения – сама по себе весьма интересная задача. От выбора числа N зависит, как будет выглядеть наш график. Понятно, что нет смысла брать слишком много точек, поскольку разрешение экрана конечно. С другой стороны, точек не может быть мало, иначе график будет угловатым и не будет отображать истинное поведение функции. Обратите внимание на формулу для вычисления X [i]. При i=0, X [i] =A, а при i=N-1 (максимальной значение i в цикле), мы получаем X [i] =B. Поскольку формула для X [i] линейна относительно i, значит в массиве X будут лежать значения от A до B с равномерным шагом.

      Согласно шагу 2, необходимо преобразовать данные из обычной системы координат в компьютерную. Экран монитора тоже представляет из себя декартову систему координат, с той лишь разницей, что ось Y здесь направлена вниз. Определим несколько величин:

      [A, B] – отрезок, на котором задана исходная функция.

      Ymax – максимальное значение функции на отрезке.

      Ymin – минимальное значение функции на отрезке.

      (X_win_min, Y_win_min) – левый верхний угол на экране монитора.

      (X_win_max, Y_win_min) – правый верхний угол на экране монитора.

      (X_win_min, Y_win_max) – левый нижний угол на экране монитора.

      (X_win_max, Y_win_max) – правый нижний угол на экране монитора.

СКАЧАТЬ