МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА №41
КУРСОВАЯ РАБОТА (ПРОЕКТ) ЗАЩИЩЕНА С ОЦЕНКОЙ
РУКОВОДИТЕЛЬ
старший преподаватель |
|
|
|
Н. А. Соловьева |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ
|
Построение поверхностей второго порядка |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
4616 |
|
|
|
А. В. Павлов |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2018
СОДЕР
5 ОПИСАНИЕ ТЕСТОВОГО НАБОРА 9
6 ПРИМЕРЫ РАБОТЫ ПРОГРАММЫ 10
ВЫВОД 12
ЛИСТИНГ ПРОГРАММЫ 13
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 26
ПОСТАНОВКА ЗАДАЧИ
Для разработки курсового проекта была предоставлена задача: постройте 3D график поверхности заданной входными коэффициентами с помощью библиотеки Matplotlib. На вход дается 10 коэффициентов задающих уравнение поверхности второго порядка.
Поверхность второго порядка — геометрическое место точек трёхмерного пространства, прямоугольные координаты которых удовлетворяют уравнению вида:
в котором по крайней мере один из коэффициентов отличен от нуля.
Вся работа выполнена в Python 3.7, с помощью таких библиотек как: matplotlib для построение 3д графиков, numpy для математический расчетов, sympy для расчёта корней уравнения и PyQt5 для от рисовки графического интерфейса.
1 Математичская модель алгоритма
Для определения к какому типу графика относится уравнения, я буду использовать метод инвариантов. Инварианты - это определители и суммы определителей, составленные из коэффициентов общего уравнения, которые не меняются при переносе и повороте системы координат. Эти инварианты следующие:
Рисунок 1 – Инварианты
Следующие два выражения, называемые семиинвариантами, являются инвариантами поворота декартовой прямоугольной системы координат:
Рисунок 2 – Семиинварианты
В случае, если I3 = 0, K4 = 0, семиинвариант K3 будет также и инвариантом переноса; в случае же I3 = 0, K4 = 0, I2 = 0, K3 = 0 семиинвариант K2 = 0 будет также и инвариантом переноса.[1]
Если I3 ≠ 0, то общее уравнение поверхности второго порядка при помощи поворота и переноса прямоугольной системы координат может быть приведено к следующему виду:
Где
В зависимости от того, какие знаки у чисел λ1, λ2, λ3 и K4/I3, определяется вид поверхности второго порядка.
Если числа λ1 λ2, λ3 одного знака, а K4/I3 имеет знак им противоположный, то общее уравнение поверхности второго порядка определяет эллипсоид.[2]
Если числа λ1 λ2, λ3 и K4/I3 одного знака, то общее уравнение поверхности второго порядка определяет мнимый эллипсоид.
Если числа λ1 λ2, λ3, а K4 = 0, то общее уравнение поверхности второго порядка определяет мнимый конус.
Если два корня характеристического уравнения имеют один знак, а третий корень и K4/I3 имеют знак, им противоположный, то общее уравнение поверхности второго порядка определяет однополостный гиперболоид.
Если два корня характеристического уравнения и K4/I3 имеют один и тот же знак, а третий корень характеристического уравнения им противоположный, то общее уравнение поверхности второго порядка определяет двуполостный гиперболоид.
Если два корня характеристического уравнения имеют один знак, третий корень имеет знак, им противоположный, а K4 = 0, то общее уравнение поверхности второго порядка определяет конус.
Если λ1 и λ2 имеют один знак, то общее уравнение поверхности второго порядка определяет эллиптический параболоид.
Если λ1 и λ2 имеют разные знаки, то общее уравнение поверхности второго порядка определяет гиперболический параболоид.
Если λ1 и λ2 одного знака, а K3/I2 имеет знак, им противоположный, то общее уравнение поверхности второго порядка определяет эллиптический цилиндр.[3]
Если λ1, λ2 и K3/I2 одного знака, то общее уравнение поверхности второго порядка определяет мнимый эллиптический цилиндр.
Если λ1 и λ2 имеют один знак, а K3 = 0, то общее уравнение поверхности второго порядка определяет две мнимые пересекающиеся плоскости.
Если λ1 и λ2 имеют разные знаки, а K3 ≠ 0, то общее уравнение поверхности второго порядка определяет гиперболический цилиндр.
Если λ1 и λ2 имеют разные знаки, а K3 = 0, то общее уравнение поверхности второго порядка определяет две пересекающиеся плоскости.
Если K2 < 0, то общее уравнение поверхности второго порядка определяет две параллельные плоскости.
Если K2 > 0, то общее уравнение поверхности второго порядка определяет две мнимые параллельные плоскости.
Если K2 = 0, то общее уравнение поверхности второго порядка определяет две совпадающие плоскости. .[1]
По типу полученной плоскости мы можем выбрать нужное нам каноническое уравнение
Рисунок 3 – Каноническое уравнение
После получение канонической формулы, мы создаем матрицу с числами, которые и будем поставлять в x и выражать через y. После полученных подсчётов мы будет рисовать график