Двугранные углы треугольной пирамиды

Форум пользователей пакета Maple

Модератор: Admin

Alexdemath
Сообщения: 22
Зарегистрирован: Вт ноя 23, 2010 3:56 pm
Контактная информация:

Двугранные углы треугольной пирамиды

Сообщение Alexdemath » Сб сен 07, 2013 1:32 pm

Подскажите, как в Maple найти двугранные углы (внутренние между гранями) треугольной пирамиды
A(xA,yA,zA), B(xB,yB,zB), C(xC,yC,zC), D(xD,yD,zD).

Знаю, что их 6:

(ABC,ABD), (ABC,AСD), (ABC,BСD), (ABD,AСD), (ABD,BСD), (ACD,BСD).

Например, для A(-2,1,-1), B(-3,1,3), C(-4,2,-1), D(-2,3,1).

Может у кого-то "завалялась" готовая процедура :)

алексей_алексей
Сообщения: 1776
Зарегистрирован: Вс май 01, 2005 9:02 pm

Re: Двугранные углы треугольной пирамиды

Сообщение алексей_алексей » Сб сен 07, 2013 4:20 pm

Неплохо было бы заглянуть в geom3d[FindAngle] (> ? geom3d)…

Alexdemath
Сообщения: 22
Зарегистрирован: Вт ноя 23, 2010 3:56 pm
Контактная информация:

Сообщение Alexdemath » Сб сен 07, 2013 8:22 pm

Спасибо разобрался.

Но оно вычисляет какой-то угол между плоскостями пирамиды: может оказаться как внешний, так и внутренний; а нужен именно внутренний.

Но уже, вроде бы, разобрался с алгоритмом.

алексей_алексей
Сообщения: 1776
Зарегистрирован: Вс май 01, 2005 9:02 pm

Сообщение алексей_алексей » Сб сен 07, 2013 9:32 pm

В пакете ещё имеется geom3d[triangle], возможно, это сможет поспособствовать совместно с другими функциями вычислению нужного угла…

Kitonum
Сообщения: 2084
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Сообщение Kitonum » Вс сен 08, 2013 1:01 am

Alexdemath писал(а):...

Но уже, вроде бы, разобрался с алгоритмом.

Уточните, помощь уже не требуется?

Alexdemath
Сообщения: 22
Зарегистрирован: Вт ноя 23, 2010 3:56 pm
Контактная информация:

Сообщение Alexdemath » Вс сен 08, 2013 1:22 am

Kitonum писал(а):
Alexdemath писал(а):...

Но уже, вроде бы, разобрался с алгоритмом.

Уточните, помощь уже не требуется?

Надо очень. Мой алгоритм что-то хромает :(

Спасибо, что откликнулись.

IVVA
Сообщения: 1036
Зарегистрирован: Вт апр 05, 2005 6:44 pm

Сообщение IVVA » Вс сен 08, 2013 7:29 pm

Вот сделано в Маткаде.
Думаю разберетесь.
Изображение

Kitonum
Сообщения: 2084
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Сообщение Kitonum » Вс сен 08, 2013 10:05 pm

IVVA писал(а):Вот сделано в Маткаде.
Думаю разберетесь.
...

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

Идея общего подхода:

1. Берётся точка, гарантированно лежащая внутри тетраэдра. Проще всего взять центроид. См.

http://en.wikipedia.org/wiki/Centroid

Обозначим через О .

2. Находим проекции точки О на те грани, угол между которыми ищем. В пакете geom3d есть соответствующая команда. Можно и без пакета по известным формулам из аналитической геометрии. Обозначим полученные точки через А и В .

3. Находим угол между векторами ОА и ОВ . Обозначим его через phi .

4. Искомый угол равен Pi - phi

Alexdemath
Сообщения: 22
Зарегистрирован: Вт ноя 23, 2010 3:56 pm
Контактная информация:

Сообщение Alexdemath » Пн сен 09, 2013 12:16 am

Kitonum писал(а):1. Берётся точка, гарантированно лежащая внутри тетраэдра. Проще всего взять центроид. См.

Это координаты которого вычисляются так

( (xA+xB+xC+xD)/4, (yA+yB+yC+yD)/4, (zA+zB+zC+zD)/4 ) ?

Kitonum
Сообщения: 2084
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Сообщение Kitonum » Пн сен 09, 2013 1:21 am

Alexdemath писал(а):
Kitonum писал(а):1. Берётся точка, гарантированно лежащая внутри тетраэдра. Проще всего взять центроид. См.

Это координаты которого вычисляются так

( (xA+xB+xC+xD)/4, (yA+yB+yC+yD)/4, (zA+zB+zC+zD)/4 ) ?


Да.

IVVA
Сообщения: 1036
Зарегистрирован: Вт апр 05, 2005 6:44 pm

Сообщение IVVA » Пн сен 09, 2013 6:52 pm

Kitonum писал(а):
IVVA писал(а):Вот сделано в Маткаде.
Думаю разберетесь.
...

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

Идея общего подхода:

1. Берётся точка, гарантированно лежащая внутри тетраэдра. Проще всего взять центроид. См.

http://en.wikipedia.org/wiki/Centroid

Обозначим через О .

2. Находим проекции точки О на те грани, угол между которыми ищем. В пакете geom3d есть соответствующая команда. Можно и без пакета по известным формулам из аналитической геометрии. Обозначим полученные точки через А и В .

3. Находим угол между векторами ОА и ОВ . Обозначим его через phi .

4. Искомый угол равен Pi - phi

Рисунок строится в зависимости от координат и буквенное обозначение также.Если Вы не усматриваете закона образования векторного произведения - помочь ничем не могу.Делайте по-своему - через ...