|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.01.2010, 06:52 | #11 |
Любопытная Вредина
Участник клуба
Регистрация: 19.06.2009
Сообщений: 1,285
|
cherw9!40k Почти правильно! Только проверять надо так:
Проводим прямую через 2 точки и если 2 другие находятся в одной полуплоскости значит это сторона и так для всех отрезков!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
|
10.01.2010, 21:02 | #12 |
Пользователь
Регистрация: 07.10.2009
Сообщений: 23
|
В общем нашел решение сам.
Алгоритм следущий: 1. берем за основу что первые три точки А,В,С составляют треугольник. 2. Ищем расстояние от точки Д до каждой из сторон треугольника. 3. Сторона до которой расстояние наименьшее по определению в четырехугольнике не существует, и ее заменяют две стороны идущие от D. Если кому интересно могу выложить листинг задачи. Все отлично работает. проверял со всеми вариантами. |
11.01.2010, 08:36 | #13 | |
АльTRUEи$т
Форумчанин
Регистрация: 19.03.2009
Сообщений: 784
|
А если точка d в ровно центре треугольника и расстояние до всех сторон одинаковое? Всех 3 сторон тогда не существует? Или как то надо выбирать?
Цитата:
|
|
11.01.2010, 21:12 | #14 |
Пользователь
Регистрация: 07.10.2009
Сообщений: 23
|
ну в таком случае и четырехугольник то не получится)
|
11.01.2010, 21:13 | #15 |
Пользователь
Регистрация: 07.10.2009
Сообщений: 23
|
Поправка: решение работает только для фигур у которых высота проецируется на диагональ.((
|
12.01.2010, 06:00 | #16 | |
АльTRUEи$т
Форумчанин
Регистрация: 19.03.2009
Сообщений: 784
|
Проблема указанная в посте 13 решается проще нужно просто взять 3 другие точки для треугольника
Цитата:
|
|
12.01.2010, 09:57 | #17 |
Удален
Форумчанин
Регистрация: 02.12.2009
Сообщений: 309
|
пусть точки храняться в массиве X[1..4]
1. ищем левую нижнюю точку X[L]. 2. меняем местами ее и первую точку X[1] <-> X[L] 3. сортируем три оставшиеся точки X[2], X[3] , X[4] по возрастанию полярного угла, измеряемого против часовой стрелки относительно точки X[1]. 4. Вычисляем длины отрезков [X[1]; X[2]], [X[2]; X[3]], [X[3]; X[4]], [X[4]; X[1]]. Складываем это всё - это и есть периметр. Последний раз редактировалось Alex_FF; 12.01.2010 в 22:40. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите написать программу нахождения площади и периметра на Delphi | _Andruha_ | Помощь студентам | 2 | 24.12.2009 05:29 |
Определение IP | IvanLex | HTML и CSS | 6 | 28.03.2008 07:46 |
Определение IP | IvanLex | Общие вопросы по Java, Java SE, Kotlin | 1 | 19.02.2008 09:12 |
Определение IP | RKS | Работа с сетью в Delphi | 3 | 13.12.2007 15:43 |
из Паскаля определить запущен ли Windows | Трофимов Александр | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 14.06.2007 15:25 |