Программное обеспечение для построения полей изолиний

Страницы работы

Содержание работы

Министерство образования Республики Беларусь

Белорусский Национальный Технический Университет

Военно-технический факультет

Курсовая работа по Информатике

Программное обеспечение для построения полей изолиний

                                                                          Подготовил: курсант группы 115214

                                                                                           Амельянчик А.И.

                                                         Руководитель: Новиков А.А.

                                                                     Минск 2006

1. Разработанное программное обеспечение служит для автоматизации задачи построения изолинии, для функций заданных дискретным набором точек. В программе реализован алгоритм вычисления точек пересечения пространственных треугольников и плоскости изолинии (поверхности уровня) , с последующим построением линии по вычисленным координатам. Так же в программе реализовано построение триангуляционной  сетки , на которую была разбита заданная область определения фрагмента поверхности , и введен элемент управления курсор. Курсором можно указать точку в которой выводится отметка уровня поверхности (репер).

2. Постановка задачи.

Для проведения линии уровня нам сначала следует разбить заданную область определения поверхности на треугольники, то есть провести её триангуляцию {xi,yi} и значения zi для каждой пары {xi,yi}.

2.1 Физический и геометрический смысл.

Многие свойства месторождений полезных ископаемых мощность пласта, глубина залежей и т.д. формально могут быть описаны как функции двух переменных, которые в пространстве представляют собой некоторые поверхности (реальные или условные). Одним из основных методов отображения таких поверхностей в горной геометрии является способ изолиний. Также изолинии применяются для построения рельефа местности как основной приём  картостроения.

Геометрический смысл линии уровня заключается в том, что изолиния – это поверхность, полученная при пересечении плоскости, и поверхности заданного.

2.2  математические постановка задачи.

Для решения вопроса положения изолиний на плоскости необходимо вычислить положение изолиний в каждом треугольнике, моделирующем поверхность. То есть надо найти линию пересечения пространственного треугольника с плоскостью, определяющей значение изолинии. Проекция этого отрезка на плоскость xOy и является отдельным отрезком изолинии.

Обозначим , ,  координаты трёх вершин, образующих пространственный треугольник (фрагмент поверхности). Уравнение горизонтальной плоскости изолинии. Ребро треугольника ab пересекает плоскость изолинии , если  и , либо  и  в противном случае ребро треугольника ab лежит вне плоскости .

Для нахождения координат линий пересечения треугольника с плоскостью достаточно найти координаты пересечения плоскости  и каждой стороны треугольника. Для этого следует рассмотреть каждое из ребер треугольника.

Сначала определяем: пересекает вообще пространственный треугольник плоскость изолинии или нет, или он полностью лежит в этой плоскости. Для этого служат следующие неравенства:

, тогда сторона треугольника принадлежит плоскости, если () и ( ), то сторона треугольника не лежит в данной плоскости(Z0). Если ни одно из этих условий не выполняется, то точка пересечения грани треугольника и плоскости находится следующим образом:

  , где X1, Y1, Z1- координаты первой вершины ребра, X2, Y2, Z2- координаты второй вершины ребра, Z0- координата Z пересечения плоскости и грани треугольника.

Решая эти уравнения для каждого ребра треугольника, получаем линию пересечения плоскости и треугольника. Последовательно перебирая все треугольники, получаем всю изолинию данного уровня.

2.3 Исходящие данные.

Ввод первоначальных данных осуществляется: с клавиатуры - положение верхнего правого угла окна, в котором размещается изображение и длинна окна (X0, Y0, Lx, Ly),а также уровень требуемой изолинии(z0), с помощью текстового файла задаются координаты точек и последовательность их соединения в треугольники. Текстовый файл имеет следующую структуру: в первой строке задаётся количество точек для построения сетки, далее задаются координаты(x, y, z) всех точек, причём в каждой строке находится описание только одной точки, затем задаётся количество треугольников, в которые объединяются данные точки  и последовательность их соединения в треугольник. В каждой строке указываются номера трёх точек, образующих треугольник. Эти параметры находятся в программе в следующих переменных: Nt -количество точек, XYZ -массив для хранения координат точек, Ntr -количество треугольников, NNN- массив для хранения точек, образующих треугольники.  Структура массивов XYZ и NNN следующая. XYZ - двумерный массив, в который передаётся номер точки и три её координаты, NNN -двумерный массив, в который передаётся номер треугольника и номера точек, образующего его.

Файл данных имеет следующий вид:

8

2  2  11

1  4  7

2  5  7

3  4  32

5  3  158 

5  5  168

7  4  1074 

5  1  148

8

1 2 4

2 3 4

3 4 6

4 6 5

6 5 7

7 5 8

8 5 4

8 4 1

3.  Управление программой. Управление осуществляется при помощи курсора, который управляется с клавиатуры: клавиши влево, вправо, вниз, вверх предназначены для перемещения курсора по экрану; клавиша Enter служит для вывода в текущем месте экрана репера, клавиша Tab убирает, рисует треугольную сетку; клавиша Esc служит для выхода из программы.

Похожие материалы

Информация о работе