Площадь плоского многоугольника в трёхмерной системе координат

E3605
Сообщений: 7
Зарегистрирован: 29 авг 2009, 21:00

Площадь плоского многоугольника в трёхмерной системе координат

Сообщение E3605 » 30 авг 2009, 13:59

Здравствуйте.

Уверен, что это задача стандартная, но не могу никак найти на неё ответ. Мозг совершенно отказывается что-то придумывать...

Насколько я помню, в плоскости это делается просто - по всем парам соседних точек складываются произведения полусуммы X-ов и разности Y-ков... a вот как быть в пространстве, при условии, что плоскость многоугольника ориентирована произвольным образом? Надо как-то перейти к новой плоской системе координат, и я что-то не пойму как...

И плюс ещё не знаю точно, будет ли это работать для невыпуклого или самопересекающегося многоугольника?

P. S. A если есть какая-нибудь готовая функция в Delphi для этого или в каких-нибудь библиотеках типа OpenGL, было бы вообще шикарно...
Последний раз редактировалось E3605 27 ноя 2019, 18:25, всего редактировалось 1 раз.
Причина: test

qazxsw
Сообщений: 51
Зарегистрирован: 09 авг 2009, 21:00

Площадь плоского многоугольника в трёхмерной системе координат

Сообщение qazxsw » 30 авг 2009, 14:13

Разбиваете на треугольники и для каждого из них считаете векторное произведение. Половина модуля вектора - площадь нужного треугольника.

Или что то же самое - считаете площади 3х проекций на плоскости координат, a дальше корень из суммы 3х квадратов
Последний раз редактировалось qazxsw 27 ноя 2019, 18:25, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
ALEX165
Сообщений: 10578
Зарегистрирован: 30 сен 2008, 21:00

Площадь плоского многоугольника в трёхмерной системе координат

Сообщение ALEX165 » 30 авг 2009, 14:41

del
Последний раз редактировалось ALEX165 27 ноя 2019, 18:25, всего редактировалось 1 раз.
Причина: test

VAL
Сообщений: 1399
Зарегистрирован: 13 апр 2009, 21:00

Площадь плоского многоугольника в трёхмерной системе координат

Сообщение VAL » 30 авг 2009, 20:07

E3605 писал(а):Source of the post
Насколько я помню, в плоскости это делается просто - по всем парам соседних точек складываются произведения полусуммы X-ов и разности Y-ков... a вот как быть в пространстве, при условии, что плоскость многоугольника ориентирована произвольным образом? Надо как-то перейти к новой плоской системе координат, и я что-то не пойму как...

И плюс ещё не знаю точно, будет ли это работать для невыпуклого или самопересекающегося многоугольника?
Полчаса набирал развернутый ответ c длинными формулами и границами их применимости.
A потом случайно прибил

Теперь напишу кратко:
Проектируете многоугольник на координатную плоскость (забываете про одну координату), ищете площадь и делите на косинус угла между исходной плоскостью и плоскостью, на которую спроектировали.

E3605 писал(а):Source of the post
И плюс ещё не знаю точно, будет ли это работать для невыпуклого или самопересекающегося многоугольника?
Ладно, наберу еще раз (не все, a сколько осилю).
Для произвольного (не обязательно выпуклого, возможно, имеющего дыры, но не самопересекающегося) многоугольника справедлива такая формула:
$$S=\sum_{i=1}^k l_i\overline{OM_i}\overline{n_i}$$, где $$O$$ - произвольная точка плоскости, $$M_i$$ - вершины, $$l_i$$, длины сторон, a $$\overline{n_i}$$ - единичные векторы, направленные вовне многоугольника.
Последний раз редактировалось VAL 27 ноя 2019, 18:25, всего редактировалось 1 раз.
Причина: test

qazxsw
Сообщений: 51
Зарегистрирован: 09 авг 2009, 21:00

Площадь плоского многоугольника в трёхмерной системе координат

Сообщение qazxsw » 31 авг 2009, 03:47

VAL писал(а):Source of the post
Проектируете многоугольник на координатную плоскость (забываете про одну координату), ищете площадь и делите на косинус угла между исходной плоскостью и плоскостью, на которую спроектировали.

Действительно. Выпало из головы. Вот только если вопрос заключается в написании процедурки для такого, видимо процедурка должна начать c того, что выбрать из этих 3х координатных плоскостей ту, к которой нужная плоскость не стоит боком (чтоб не было деления на 0, которое нам ничего не даст) A поэтому для написания программки я бы все-таки выбрал корень из суммы квадратов проекций
Последний раз редактировалось qazxsw 27 ноя 2019, 18:25, всего редактировалось 1 раз.
Причина: test

VAL
Сообщений: 1399
Зарегистрирован: 13 апр 2009, 21:00

Площадь плоского многоугольника в трёхмерной системе координат

Сообщение VAL » 31 авг 2009, 06:23

qazxsw писал(а):Source of the post
VAL писал(а):Source of the post
Проектируете многоугольник на координатную плоскость (забываете про одну координату), ищете площадь и делите на косинус угла между исходной плоскостью и плоскостью, на которую спроектировали.

Действительно. Выпало из головы. Вот только если вопрос заключается в написании процедурки для такого, видимо процедурка должна начать c того, что выбрать из этих 3х координатных плоскостей ту, к которой нужная плоскость не стоит боком (чтоб не было деления на 0, которое нам ничего не даст)
Угу. B посте, который я случайно убил, у меня про это было написано
Впрочем, странник, который задал вопрос, похоже, уже далеко.
Последний раз редактировалось VAL 27 ноя 2019, 18:25, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
ALEX165
Сообщений: 10578
Зарегистрирован: 30 сен 2008, 21:00

Площадь плоского многоугольника в трёхмерной системе координат

Сообщение ALEX165 » 31 авг 2009, 11:02

A чем не нравится #2?

$$S=\frac{1}{2}|\sum_{i=1}^{n-1} (\vec X_{i+1}-\vec X_i) \times (\vec X_{i+2}-\vec X_{i+1})|$$,

где: $$\vec X_i=(X_{i,1},X_{i,2},X_{i,3})$$ - векторы вершин и $$\vec X_{n+1}=\vec X_1$$, n - число вершин.
Последний раз редактировалось ALEX165 27 ноя 2019, 18:25, всего редактировалось 1 раз.
Причина: test

qazxsw
Сообщений: 51
Зарегистрирован: 09 авг 2009, 21:00

Площадь плоского многоугольника в трёхмерной системе координат

Сообщение qazxsw » 31 авг 2009, 11:26

A он чем-то кроме записи отличается от "посчитать 3 проекции и взять корень из суммы квадратов от них"? Если я правильно понял, то этот S - вектор, a надо площадь те модуль этого вектора. A модуль его как раз корень из суммы квадратов, притом не удивлюсь если значения его компонент будут точно те, что и площади проекций (разве что мб знаки будет иметь, но и площади проекций без знаков будут только после применения модуля)
Последний раз редактировалось qazxsw 27 ноя 2019, 18:25, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
ALEX165
Сообщений: 10578
Зарегистрирован: 30 сен 2008, 21:00

Площадь плоского многоугольника в трёхмерной системе координат

Сообщение ALEX165 » 31 авг 2009, 11:29

qazxsw писал(а):Source of the post
A он чем-то кроме записи отличается от "посчитать 3 проекции и взять корень из суммы квадратов от них"? Если я правильно понял, то этот S - вектор, a надо площадь те модуль этого вектора. A модуль его как раз корень из суммы квадратов, притом не удивлюсь если значения его компонент будут точно те, что и площади проекций (разве что мб знаки будет иметь, но и площади проекций без знаков будут только после применения модуля)


A Вы на палочки модуля не обратили внимания? Присмотритесь, a S - скаляр.
Последний раз редактировалось ALEX165 27 ноя 2019, 18:25, всего редактировалось 1 раз.
Причина: test

qazxsw
Сообщений: 51
Зарегистрирован: 09 авг 2009, 21:00

Площадь плоского многоугольника в трёхмерной системе координат

Сообщение qazxsw » 31 авг 2009, 11:36

Ну да. B таком случае обратите что я писал дальше после того как написал что S -вектор. Применение палочек модуля к вектору - это корень суммы квадратов причем компоненты вектора вероятнее всего уже будут этими площадями. Так что это просто другая запись того же самого и все.
(перевожу: B принципе нравится, но это то же самое)
Последний раз редактировалось qazxsw 27 ноя 2019, 18:25, всего редактировалось 1 раз.
Причина: test


Вернуться в «Школьная математика»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 2 гостей