Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка по ИГС лаба№1.docx
Скачиваний:
13
Добавлен:
26.11.2018
Размер:
324.41 Кб
Скачать
  1. Моделирование исходной поверхности.

  2. Геометрическое преобразование.

  3. Определение цветов точек поверхности.

  4. Проецирование.

  5. Визуализация.

Приведем краткое описание данных классов.

Класс Library – класс-библиотека, содержащий необходимые для геометрических преобразований функции.

Метод/свойство/функция

Описание

NewellMethod

Функция, считающая нормаль сегмента

OrthogonalProj_XOY

Функция, задающая матрицу ортогонального проецирования

ScalarMult

Функция, считающая скалярное произведение двух векторов

VectorLen

Функция, вычисляющая длину вектора

ZRotateMatrix

Функция, задающая матрицу поворота вокруг оси х

YRotateMatrix

Функция, задающая матрицу поворота вокруг оси у

XRotateMatrix

Функция, задающая матрицу поворота вокруг оси z

Класс Equations – содержит параметрические уравнения различных поверхностей, инкапсулированные в методы.

Метод/свойство

Описание

Helicoid

Инкапсулирует параметрическое уравнение поверхности «Геликоид»

Класс GraphicsHelper – вспомогательный класс, содержащий некоторые методы, используемые для выполнения геометрических преобразований.

Метод/свойство

Описание

BaseMatrix

Поле, хранящее матрицу, накапливающую геометрические преобразования

CalculateScreen

Метод, выполняющий вычисление экранных координат точки

ProjectXY

Метод, выполняющий проецирование точки на плоскость XOY

Rotate

Метод, выполняющий преобразования поворота

Класс Figure – представляет полигонально заданную поверхность.

Метод/свойство

Описание

m_Polygons

Поле, хранящее массив полигонов поверхности

InnerColor

Свойство, хранящее внутренний цвет заливки поверхности

OuterColor

Свойство, хранящее внешний цвет заливки поверхности

Calculate

Метод, инициирующий вычисление всеми полигонами их положения

Figure

Конструктор класса. Принимает в качестве параметра массив точек поверхности, и выполняет построение полигонов на этих точках

Fill

Метод, выполняющий визуализацию поверхности, при этом выполняется заполнение полигонов с использованием flat-сглаживания

Stroke

Метод, выполняющий визуализацию каркаса поверхности

Класс Polygon – представляет собой отдельный полигон поверхности

Метод/свойство

Описание

Points

Свойство, хранящее массив точек вершин данного полигона

ScreenPoints

Свойство, хранящее массив экранных точек вершин данного полигона

Calculate

Метод, выполняющий геометрические преобразования точек вершин полигона и вычисляющий их экранные координаты

CalculateColor

Метод, выполняющий вычисление цвета закраски полигона

Fill

Метод, выполняющий закраску полигона

Polygon

Конструктор класса

Stroke

Метод, выполняющий визуализацию каркаса полигона

Класс Point3D – представляет точку в трехмерном пространстве

Метод/свойство

Описание

X

Свойство, хранящее координату X точки

Y

Свойство, хранящее координату Y точки

Z

Свойство, хранящее координату Z точки

Point3D

Конструктор класса

Форма приложения представлена классом MainForm.

Метод/свойство

Описание

m_Figure

Поле, хранящее объект Figure, представляющий поверхность

ChangeColor

Метод, вызываемый при изменении ползунков, определяющих цвет поверхности

Draw

Метод, осуществляющий визуализацию поверхности

FigureChanged

Метод, вызываемый при изменении ползунков, задающих параметры поверхности

Rebuild

Метод, выполняющий перепостроение поверхности на основании ее новых параметров

FillTypeRadioChanged

Метод, вызываемый при изменении способа визуализации поверхности

xTrackBar_Scroll

yTrackBar_Scroll

zTrackBar_Scroll

Методы, вызываемые при изменении значений ползунков, задающих углы поворота вокруг координатных осей