Форум программистов, компьютерный форум, киберфорум
jogano
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  

Сведение квадратичной формы к каноническому виду

Запись от jogano размещена 19.01.2014 в 21:16
Показов 4860 Комментарии 3
Метки геометрия

Есть квадратичная форма https://www.cyberforum.ru/cgi-bin/latex.cgi?Ax^2+2Bxy+Cy^2+2Dx+2Ey+F=0, которую нужно свести к каноническому виду. Последовательность действий такая:
1) Выполняется центрирование - перенос начала системы координат в такую точку https://www.cyberforum.ru/cgi-bin/latex.cgi?(x_0;y_0), чтобы коэффициенты https://www.cyberforum.ru/cgi-bin/latex.cgi?D,E были бы равны по 0. Т.е. вводятся новые координаты https://www.cyberforum.ru/cgi-bin/latex.cgi?(x';y') такие, чтобы https://www.cyberforum.ru/cgi-bin/latex.cgi?x=x'+x_0; y=y'+y_0. В общем виде https://www.cyberforum.ru/cgi-bin/latex.cgi?(x_0;y_0)=\left(\frac{BE-CD}{AC-B^2}; \frac{BD-AE}{AC-B^2}\right). Подставив вместо x , y выражения https://www.cyberforum.ru/cgi-bin/latex.cgi?x'+\frac{BE-CD}{AC-B^2},\: y'+\frac{BD-AE}{AC-B^2}, получаем центрированное уравнение https://www.cyberforum.ru/cgi-bin/latex.cgi?Ax'^2+2Bx'y'+Cy'^2+F-\frac{AE^2-2BDE+CD^2}{AC-B^2}=0. Свободный член обозначим как https://www.cyberforum.ru/cgi-bin/latex.cgi?F'=F-\frac{AE^2-2BDE+CD^2}{AC-B^2}.
Центрированное уравнение: https://www.cyberforum.ru/cgi-bin/latex.cgi?Ax'^2+2Bx'y'+Cy'^2+F'=0.
2) Далее систему координат, если это необходимо, поворачиваем вокруг нового начала координат так, чтобы коэффициент при произведении https://www.cyberforum.ru/cgi-bin/latex.cgi?x'y' был бы равен 0. Если у исходной кривой https://www.cyberforum.ru/cgi-bin/latex.cgi?B=0, то поворачивать систему координат не нужно - кривая после центрирования уже приведена к каноническому виду. При https://www.cyberforum.ru/cgi-bin/latex.cgi?B\ne 0 необходим поворот осей координат.
При повороте системы координат https://www.cyberforum.ru/cgi-bin/latex.cgi?(x';y') на угол https://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha против часовой стрелки получаем новую систему координат https://www.cyberforum.ru/cgi-bin/latex.cgi?(x";y"). Формулы для преобразования такие:
https://www.cyberforum.ru/cgi-bin/latex.cgi?x'=x''\cdot \cos\alpha-y''\cdot \sin\alpha ;\;  y'=x''\cdot \sin\alpha +y''\cdot \cos\alpha.
Подставляя эти выражения вместо https://www.cyberforum.ru/cgi-bin/latex.cgi?x',y' в уравнение центрированной кривой и приравнивая коэффициент при https://www.cyberforum.ru/cgi-bin/latex.cgi?x''y'' к 0, получаем угол поворота. Этот коэффициент равен https://www.cyberforum.ru/cgi-bin/latex.cgi?(C-A)\sin 2\alpha +2B\cos 2\alpha
Возможны два варианта:
- https://www.cyberforum.ru/cgi-bin/latex.cgi?A=C, тогда https://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha = \frac{\pi}{4} и кривая принимает канонический вид https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
<br />
(A+B)x''^2+(A-B)y''^2+F'=0
- https://www.cyberforum.ru/cgi-bin/latex.cgi?A\ne C, тогда угол ищется из уравнения https://www.cyberforum.ru/cgi-bin/latex.cgi?tg2\alpha=\frac{2B}{A-C} (в зависимости от знака тангенса берем угол https://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha в пределах https://www.cyberforum.ru/cgi-bin/latex.cgi?(-\frac{\pi}{4};\:\frac{\pi}{4})). Тогда новые коэффициенты канонического уравнения https://www.cyberforum.ru/cgi-bin/latex.cgi?A'x''^2+C'y''^2+F'=0 будут равны
https://www.cyberforum.ru/cgi-bin/latex.cgi?A'=A\cos^2\alpha+2B\sin\alpha \cos\alpha +C\sin^2\alpha,
https://www.cyberforum.ru/cgi-bin/latex.cgi?C'=A\sin^2\alpha-2B\sin\alpha \cos\alpha +C\cos^2\alpha

Еще раз насчет системы координат - начало координат системы https://www.cyberforum.ru/cgi-bin/latex.cgi?(x'';y'') лежит в точке https://www.cyberforum.ru/cgi-bin/latex.cgi?(x_0;\: y_0), а оси повернуты вокруг этой точки на угол https://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha (против часовой стрелки, если https://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha >0 ) по отношению к осям системы (x;y).
Метки геометрия
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 3
Комментарии
  1. Старый комментарий
    Вообще-то, квадратичной формой (недавно как раз гуглил) все упорно называют однородный многочлен второго порядка, то бишь, без первых/нулевых степеней. Переменных там не обязательно две. И уж совершенно точно: квадратичная функция — это функция, а у тебя уравнение кривой второго порядка.
    Запись от iifat размещена 29.01.2014 в 15:15 iifat вне форума
  2. Старый комментарий
    Аватар для Matan!
    Цитата Сообщение от iifat
    Вообще-то, квадратичной формой (недавно как раз гуглил) все упорно называют однородный многочлен второго порядка, то бишь, без первых/нулевых степеней. Переменных там не обязательно две. И уж совершенно точно: квадратичная функция — это функция, а у тебя уравнение кривой второго порядка.
    Ну уж нет.В инете могут писать что угодно,но квадрат.форма определена правильно.Другое дело,каноническая квадратичная форма,содержащая только квадраты с коэффициентами 1.
    Запись от Matan! размещена 20.03.2014 в 09:32 Matan! вне форума
  3. Старый комментарий
    Аватар для jogano
    Цитата Сообщение от iifat
    Вообще-то, квадратичной формой (недавно как раз гуглил) все упорно называют однородный многочлен второго порядка, то бишь, без первых/нулевых степеней. Переменных там не обязательно две. И уж совершенно точно: квадратичная функция — это функция, а у тебя уравнение кривой второго порядка.
    Я писал так, как эта задача формулируется для студентов. Пусть будет кривая второго порядка. О квадратичной функции у меня ни слова.
    Запись от jogano размещена 20.03.2014 в 12:00 jogano вне форума
 
Новые блоги и статьи
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи с помощью арктангенса для метода обработки данных из double buffering.
Hrethgir 10.04.2025
Публикация в доработке, метод арктангенса в комментариях внизу. Вообще изначально я пренебрёг квадратурой числа, но потом понял, что для вычисления приблизительного значения - сгодится, формулу. . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер