Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 2 из 4 |
[ Сообщений: 36 ] | На страницу Пред. 1, 2, 3, 4 След. |
|
Автор | Сообщение | |
---|---|---|
nuget |
|
|
michel писал(а): Гораздо проще сразу подсчитать длину диагоналей через площади треугольников, на которые диагонали разбивают четырехугольник. согласен. я думал что задача с диагоналями решается просто, но найти формулу не удалось. даже не знаю с какой стороны подойти, просмотрел несколько учебников по геометрии, но ничего подобного нет. |
||
Вернуться к началу | ||
nuget |
|
|
Решение найдено (см. mc_gip_4.pdf) с применением итерационного метода:
- Метод Ньютона - Метод бисекции |
||
Вернуться к началу | ||
Li6-D |
|
|
Для справки - у задачи есть и прямой метод решения (без итераций).
Алгебраически она сводится к решению уравнения 3-ей степени. Например, для невыпуклого четырехугольника с заданными в теме сторонами есть еще один корень: 117.48353346564145955680... Поэтому задание или с хитрецой или не до конца продумано. Код и пример расчета: /*Заданные стороны и площадь четырехугольника*/ Здесь все 50 знаков правильные. О точном калькуляторе можно посмотреть в похожей теме: http://mathhelpplanet.com/viewtopic.php?f=28&t=53132 |
||
Вернуться к началу | ||
За это сообщение пользователю Li6-D "Спасибо" сказали: michel, nuget |
||
nuget |
|
|
Li6-D писал(а): Для справки - у задачи есть и прямой метод решения (без итераций). интересный алгоритм. спасибо а что за метод используется, кто его разработал? |
||
Вернуться к началу | ||
Li6-D |
|
|
Метод заключается в том, что искомая диагональ [math]x[/math] удовлетворяет следующему уравнению:
[math]{x^6}+ a1 \cdot{x^4}+ a2 \cdot{x^2}+ a3 = 0[/math] (1), где: [math]a1 = - \frac{{{a^2}+{c^2}+{b^2}+{d^2}}}{2}[/math]; [math]a2 = \frac{1}{2}\left( {{a^2} + {c^2}} \right)\left( {{b^2} + {d^2}} \right) - {a^2}{c^2} - {b^2}{d^2}[/math]; [math]a3 = \frac{1}{2}({a^2} + {c^2} - {b^2} - {d^2})({a^2}{c^2} - {b^2}{d^2})[/math]. Это уравнение 3-ей степени относительно квадрата диагонали. Его можно решить с помощью формулы Кардано. Комплексные и отрицательные корни отбрасываем. Из положительных корней извлекаем корень и получаем требуемое. Формулу (1) можно вывести (попробуйте самостоятельно) из соотношения Бретшнайдера для произведения квадратов диагоналей непересекающегося четырехугольника: [math]{e^2}{f^2}={a^2}{c^2}+{b^2}{d^2}- 2acbd\cos \left({\angle A + \angle C}\right)[/math]. В нашем случае [math]e=f=x[/math] . |
||
Вернуться к началу | ||
nuget |
|
|
Li6-D, вы привели два уравнения:
1. x^3+a1*x^2+a2*x+a3=0 2. x^6+a1*x^4+a2*x^2+a3=0 уравнение (1) можно определить численно в Mathcad, уравнение (2) вычисляется только символьно. - почему численный результат уравнения (1) равен 117.4835334656, в место 241.6579007199? - почему вы определили в условии решение: 3#(sqrt dt-q)-3#(sqrt dt+q), в случае если dt >=0, при каком раскладе это условие выполняется? - каким образом вы определили коэффициенты (a1, a2, a3)? |
||
Вернуться к началу | ||
Li6-D |
|
|
Уравнения (1) и (2) алгебраически разрешимы по формуле Кардано.
В коде я решал уравнение (1) и затем извлекал квадратный корень из полученного результата, таким образом получал решение уравнения (2). Причем использовал одну и ту же переменную. Возможно это не самый хороший стиль программирования, что не важно на этом форуме. 241.6579007199 и 117.4835334656 - это два подходящих решения уравнения (2). На рисунке приведены четырехугольники с этими диагоналями (выделены красным): От того какой будет знак у переменной dt зависит число действительных корней уравнения 3-ей степени. Посмотрите формулу Кардано, тогда поймете зачем проводится проверка знака. В данном случае будет три решения (два положительных и одно отрицательное). По идее надо дописать код, чтобы он тупо считал все решения, даже комплексные. Как показала практика, нет однозначного результата. Коэффициенты a1,a2,a3 считаются в коде по формулам в моем предыдущем сообщении. Для данных сторон получается: a1=-58800; a2=-161520000; a3=10801664000000. |
||
Вернуться к началу | ||
nuget |
|
|
Li6-D писал(а): 241.6579007199 и 117.4835334656 - это два подходящих решения уравнения (2). значение 117.4835334656 не является длиной диагонали, и не является одной из сторон. исходя из представленного вами алгоритма, решение верно, но при этом есть вопросы. возможно, уравнение (2) дает верный результат, но как это соотнести с тем что проедставляет алгоритм? я думаю, уравнение должно быть составлено таким образом, чтобы искомая (x) представляла однозначное определение площади выпуклого четырехугольника. Li6-D писал(а): Посмотрите формулу Кардано, тогда поймете, зачем проводится проверка знака. я пробовал различные варианты исходных парараметров (a,b,c,d), даже с отрицательными числами, ни один не удовлетворяет условию dt>0. Li6-D писал(а): Коэффициенты a1,a2,a3 считаются в коде по формулам в моем предыдущем сообщении. это понятно, но от куда вы взяли определение? |
||
Вернуться к началу | ||
nuget |
|
|
Li6-D, я перевел представленный вами алгоритм в формат документа Mathcad (см. mc_gip_5.pdf). для удобства, я разбил решение условия на две части (q1, q2). получается следующее, если dt=0, то результат всегда (q1=q2). поскольку, в данном алгоритме условие dt>0 не выполняется, то можно просто удалить вариант решения q2.
|
||
Вернуться к началу | ||
Li6-D |
|
|
117.4835 является длиной диагонали для самопересекающего четырехугольника.
На рисунке он справа. Стороны четырехугольника белые, диагонали красные (по 117.4835). Как понять какой будет четырехугольник? Наверное больший корень соответствует выпуклому четырехугольнику. Но в поставленной задаче не было сказано, что четырехугольник должен быть выпуклым. Раз dt<=0 (что еще не доказано), то в данной задаче имеем три действительных корня. То есть не все так однозначно. Попробую доработать код и тоже поэкспериментировать со всеми тремя корнями. Формулы для a1, a2, a3 выведены исходя из соотношения Бретшнайдера и теоремы косинусов. Вывод не привожу - кому нужны мои каракули. |
||
Вернуться к началу | ||
На страницу Пред. 1, 2, 3, 4 След. | [ Сообщений: 36 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Определить угол между сторонами произвольного 4-угольника
в форуме Тригонометрия |
5 |
706 |
28 апр 2018, 17:35 |
|
Определение числа простых чисел для произвольного интервала
в форуме Размышления по поводу и без |
5 |
342 |
26 авг 2020, 16:18 |
|
Функция стороны правильного n-угольника
в форуме Размышления по поводу и без |
0 |
190 |
30 мар 2020, 18:23 |
|
Задача о диагоналях правильного 18-угольника | 16 |
1925 |
18 июл 2014, 16:44 |
|
Формула стороны правильного n-угольника
в форуме Геометрия |
9 |
509 |
13 янв 2019, 22:48 |
|
Сколько существует разных покрасок 7-угольника? | 1 |
190 |
26 июн 2020, 15:36 |
|
Сумма расст. от точки круга к вершинам n-угольника постоянна
в форуме Геометрия |
12 |
406 |
14 июн 2018, 19:32 |
|
Центральное проецирование произвольного четырехугольника
в форуме Геометрия |
0 |
484 |
27 янв 2017, 23:25 |
|
неравенство для элементов произвольного триугольника
в форуме Геометрия |
1 |
209 |
15 мар 2018, 13:26 |
|
Определить плоскость относительно произвольного тела | 4 |
150 |
06 июн 2022, 23:04 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: Jeni Jekova и гости: 18 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |