NetNado
  Найти на сайте:

Учащимся

Учителям



Задание Визуализация двумерных скалярных полей методом линий уровня. Постановка задачи


Задание 1, вариант 3.

Задание 1. Визуализация двумерных скалярных полей методом линий уровня.
1. Постановка задачи.
Рассматривается прямоугольник в котором вводится равномерная сетка размером :

В узлах сетки заданы двумерные скалярные значения fij, , . Значения fij могут быть получены, например, в результате численного решения сеточной задачи.
Требуется разработать элемент управления для визуализации двумерного скалярного поля методом линий уровня, считая известными значения N1, N2, l1, l2, двумерный массив значений fij и набор констант M1, M2, С1, С2, …, CK.
2. Алгоритм построения изображения скалярного поля.
Линии уровня f(x,y) = Ci строятся независимо для каждого значения Сk .
Введенная сетка


разбивает прямоугольник на элементарных прямоугольников . Значения в вершинах новой сетки можно найти при помощи билинейной интерполяции (см п.3).
Рассмотрим задачу построения отрезка линии уровня в отдельно взятом прямоугольнике . Найдем знаки величин в вершинах прямоугольника. Возможны следующие принципиально различные случаи расположения отрезка линии уровня и разных знаков в вершинах элементарного прямоугольника.
+ + - + - -



+ - + - + +
Таким образом, линия уровня разделяет вершины с разными знаками величины . Для нахождения точки пересечения линии уровня с горизонтальной и вертикальной границами элементарного прямоугольника можно воспользоваться следующими формулами
, (1)
. (2)
Здесь P – точка пересечения линии уровня с границей прямоугольника, а Pij = (xi, yj) – вершина элементарного прямоугольника.
Применение формул (1) и (2) гарантирует стыковку отрезков линии уровня в соседних элементарных прямоугольниках.
3. Билинейная интерполяция значений сетки.
Нам известны значения в точках сетки fij, , . Но для вычисления по формулам (1) и (2) требуются значения cкалярного поля f(P) в произвольной точке P = (x,y). Величину f(P) будем искать при помощи билинейной интерполяции по следующей формуле

где , .

4. Требования к реализации.
Исходное скалярное поле должно быть реализовано в виде класса, предоставляющего методы и/или свойства для:

  • Нахождения значения в произвольной точке методом билинейной интерполяции (см. п. 3).

  • Построения линии уровня для заданной константы. Это метод должен возвращать объект типа “Линия уровня” , представляющий собой массив всех отрезков линии уровня.

  • Получения размеров скалярного поля.


Классы “Скалярное поле” и “Линия уровня” должны быть размещены в отдельной сборке. Класс “Скалярное поле” должен быть оформлен как компонент. Конструктор класса “Скалярное поле” должен заполнять скалярное поле некоторыми значениями.

Элемент управления для отображения скалярного поля должен быть размещен в отдельной сборке и предоставлять свойства для задания массива констант С1, С2, …, CK.

и значений M1, M2.

страница 1


скачать

Другие похожие работы: