IPB
ЛогинПароль:

> Вершины пирамиды
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской
Реальное имя: Юра

Репутация: -  1  +


Доброе время суток всем. Проблемка такая: дано множество точек в пространстве. Каким образом можно проверить - будут ли эти точки являться вершинами пирамиды?

Добавлено через 4 мин.
понятно, что для существования пирамиды, необходимо, чтобы из n точек, n-1 лежало в одной плоскости, а одна точка была бы вне этой плоскости - но вот как выделить эту точку если такая существует?

Сообщение отредактировано: samec -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской
Реальное имя: Юра

Репутация: -  1  +


Спасибо большое!
Код хороший. Алгоритм я понял.
Что то мне подсказывает, что при количестве точек 5 (n=5) написанный код может не сработать.
Ведь если в первом проходе (Pass=1) в любую из точек попадает вершина, то вот в этом моменте:

if m=0 then begin
WriteLn('All points are in one plane');
Exit
end
else if m=1 then begin
if Pass=2 then begin
Exchange(1,4);
Exchange(2,5);
Exchange(3,6);
if i4<=6 then Dec(i4,3)
end;
Exchange(i30,3);
if i4=i30 then i4:=3;
WriteLn('The top is #',i4)
end
else if Pass=2 then WriteLn('Not a piramid')
else begin
Exchange(1,4);
Exchange(2,5);
Exchange(3,6) { <- вот тут}
end;


мы поменяем точку на что то неправильное (ведь всего их пять).

Сообщение отредактировано: samec -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(samec @ 12.11.2008 23:47) *
Что то мне подсказывает, что при количестве точек 5 (n=5) написанный код может не сработать.

Да, верно, я планировал написать об этом в примечаниях, но забыл sad.gif. То же самое для четырех.
Надо подумать, как исправить.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской
Реальное имя: Юра

Репутация: -  1  +


Цитата(Lapp @ 13.11.2008 3:52) *

То же самое для четырех.

а вот для 4-х помоему всё ок. Ведь если будет 4-е вершины, то до этого места не дойдёт
ведь в цикле:

for i:=4 to n do if not Planar(i1,i2,i3,i) then begin
Inc(m);
i4:=i
end;


переменная m - либо увеличится на единицу (если точки составляют вершины пирамиды) либо не увеличится (если все точки лежат в одной плоскости).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 6.05.2024 1:54
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name