2009-10-15 9 views
1

Есть ли способ узнать диагональ четырехугольника, если я знаю только четыре стороны - без углов?Диагональ четырехугольника

Я понимаю, что я мог бы вычислить его с косинусов:

 
p = sqrt(a^2 + b^2 - 2*a*b*cos(α)) 
q = sqrt(b^2 + c^2 - 2*b*c*cos(β)) // or whatever you name these angles 

, но я не знаю, углы! Поэтому я как бы застрял здесь.

+0

-1 Это, похоже, не связано с программированием. – Achilles

+0

Это должно быть перенесено в Math: http://math.stackexchange.com/ – cyroxx

+0

У вас есть только стороны? нет очков? у вас есть расстояния от точек к точкам? – hfossli

ответ

6

Я не считаю, что это возможно, по крайней мере, не в общем случае. Я наименее верю, что для параллелограммов вы можете иметь несколько конфигураций углов, используя одинаковые стороны длины, а различные углы в конечном итоге дают вам разные длины для диагоналей.

Даже для непараллелограмм возможно иметь несколько конфигураций для одной и той же длины, и это даст вам разные диагональные длины.

Вам действительно нужно знать угол, чтобы рассчитать диагональ.

3

Как правило, четырехугольник не определяется однозначно по длине его сторон. Например, если все стороны равны, это может быть квадрат или любое из семейства алмазных фигур с равными противоположными углами. Все эти формы будут иметь разные диагонали, поэтому нет, это невозможно.

Если бы вы знали один угол, тогда это было бы возможно.

1

Рассмотрите возможность проведения четырех матчей. Поместите их в квадрат. Затем сжать два угла вместе. Другие углы будут перемещаться друг от друга, но стороны остаются прежними. Этот процесс тот же, если стороны не равны.

Как выясняется: вы не можете знать длину диагонали, если не знаете углов. Если это квадрат или прямоугольник (углы 90 градусов), это легко: Пифагор. В противном случае нельзя сказать, если вы не получите хотя бы один угол.

Смежные вопросы