LINUX.ORG.RU

Берем одну из точек в качестве вершины угла (естественно, предполагается, что точки не лежат в одной плоскости); из вершины к каждой точке проводятся прямые; строятся плоскости, в которых лежат каждая пара линий; а затем, например, строится пересечение этих плоскостей с единичной сферой и (например, интегрированием) находится площадь поверхности сферы, «выкусываемой» плоскостями. Это и будет искомый телесный угол.

Eddy_Em ☆☆☆☆☆
()

Двухгранный угол — это угол между нормалями к двум плоскостям, кажда из которых образована тройкой точек.

Нормаль по тройке точек построить легко — это векторное произведение векторов (p1 - p0) и (p2 - p0). Формулу компонентов векторного произведения в терминах компонентов векторов найдешь в гугле.

Итого: строим два вектора нормали

n1 = [p1 - p0, p2 - p0]

n2 = [p2 - p0, p3 - p0]

и далее вычисляем косинус угла между ними, он и будет искомым двугранным углом \phi (или его дополнением 180 - \phi)

cos \phi = (n1, n2)/|n1|/|n2|

unanimous ★★★★★
()
Ответ на: комментарий от unanimous

Формулу компонентов векторного произведения в терминах компонентов векторов найдешь в гугле.

я брал готовые пакеты типа scipy или numpy для манипуляций с векторами :)

true_admin ★★★★★
()
Ответ на: комментарий от Eddy_Em

Тьфу ты! Мне показалось - телесный угол.

А двугранный угол через четыре точки однозначно не построишь...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от ambivalentno

почему?

Потому что четырьмя точками однозначно не задашь 2 плоскости.

power
()

А тебе в голову не приходило, что в общем виде они образуют 12 разных двугранных углов?

anonymous
()
Ответ на: комментарий от ambivalentno

Не надо сомневаться, диэдральный угол определяется для *упорядоченной* четверки, единственная его неопределенность — углы \phi и 180 - \phi считаются одинаковыми

unanimous ★★★★★
()
Ответ на: комментарий от ambivalentno

Через три точки можно провести три отрезка и получить три внутренних двугранных угла. Через четыре - шесть отрезков и 12 внутренних двугранных углов. Какой выбрать?

// кстати, под двугранным углом обычно подразумевается угол между плоскостями, а не между отрезками (который - просто угол)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

А для упорядоченных точек по ссылке из вики, извиняюсь, девятиклассник должен уметь вычислить углы. Там же элементарщина: через векторные или скалярные произведения направляющих векторов граней угла.

Eddy_Em ☆☆☆☆☆
()

Причем здесь python и Development?!

С такими вопросами тебе к учителю геометрии в среднюю школу прямиком. Ну или на школьные порталы.

Rzhepish
()
Ответ на: комментарий от Eddy_Em

девятиклассник
через векторные или скалярные произведения

Покажи мне школу, где в 9ом классе изучают векторное произведение.

anonymous
()
Ответ на: комментарий от anonymous

Ну, в общем - элементарные геометрические построения же :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Rzhepish

Теперь вместо бэйсика учат питону?

А есть какая-то разница?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.