Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Алгоритм] построение многоугольников в пространстве, построение многоугольников в простр... 
:(
    Опции темы
maximusrus
Дата 2.12.2008, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.12.2008

Репутация: нет
Всего: нет



Здравствуйте участники форума! Обращаюсь к вам с огромной просьбой, потому что больше не к кому. Короче требуется ваша помощь!

Задача: 

Даны m точек в пространстве, определить, можно-ли выбрать такие n-точек, которые являются вершинами правильного многоугольника. Если Да, то выбрать многоугольник максимальной площади.

Точки задаются произвольно.

Времени в обрез. Вопрос жизни и смерти. Прошу помощи. Всем заранее спасибо.
PM MAIL   Вверх
maxdiver
Дата 2.12.2008, 21:25 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 29.1.2008
Где: Саратов

Репутация: нет
Всего: 18



Ну перебором это легко замутить.
Переберём, какие n точек среди этих m выбираем, и проверяем, что они лежат в одной плоскости. Для этого достаточно проверить, что для любой четвёрки точек среди выбранных n выполняется, что объём тетраэдра, построенного на них, равен нулю - это делается подсчётом определителя, составленного из координат этих четырёх точек.
Далее, вроде как, можно сделать так. Найдём центр этого многоугольника как среднее арифметическое координат его вершин. Тогда, утверждается, что многоугольник будет правильным тогда и только тогда, когда все вершины равноудалены от центра, а все расстояния между соседними вершинами равны между собой (для каждой вершины найдём две ближайшие к ней - это и есть её соседи, если мы надеемся, что многоугольник выпуклый правильный).

Вроде так.

Это сообщение отредактировал(а) maxdiver - 2.12.2008, 22:21
PM MAIL WWW ICQ   Вверх
maximusrus
Дата 2.12.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.12.2008

Репутация: нет
Всего: нет



я в математике не очень силён, но помоему многоугольник в пространстве это многогранник? поправте меня если это не так.
PM MAIL   Вверх
HumanAPI
Дата 3.12.2008, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



Ну если m >= 3  то правильный многоугольник построить можно в любом случаи.
Что бы построить многоугольник максимальной площади нужно знать в каком пространстве мы работаем в 2D или 3D.
PM MAIL   Вверх
maximusrus
Дата 3.12.2008, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.12.2008

Репутация: нет
Всего: нет



в 3D пространстве.
Насчёт алгоритма ни у кого ничё нету, нужен какой нибудь примерчик для толчка и точки опоры. Плиз!

Это сообщение отредактировал(а) maximusrus - 3.12.2008, 00:28
PM MAIL   Вверх
HumanAPI
Дата 3.12.2008, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



Ну если под понятием правильный многоугольник подразумевается выпуклый многоугольник то это не сложно, а если  подразумевается  с равными углами и сторонами то я не представляю как это сделать. (с интересом бы взглянул на такой алгоритм)
PM MAIL   Вверх
maximusrus
Дата 3.12.2008, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.12.2008

Репутация: нет
Всего: нет



я сам с удовольствием посмотрел бы... smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0945 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.