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

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

Запись от jogano размещена 19.01.2014 в 21:16
Показов 4849 Комментарии 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 вне форума
 
Новые блоги и статьи
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели. Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка: «Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер