![]() |
|
|
![]()
|
|
| BOB4uK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
Всем привет!
Хочу построить многоугольник зная длины его сторон и его диагонали, ну первые две точки, которые лежат на одной оси... Не могу сообразить как сделать!? |
|||
|
||||
| Валерия |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: нет Всего: 8 |
Ты можешь зная начальные координаты линии, длинну линии, и угол на который её повернуть относительно "горизонтали" найти конечные координаты?
Если да, то дело почти в шляпе) Это сообщение отредактировал(а) Валерия - 2.10.2008, 19:42 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Задача сводится к последовательному построению треугольников по двум вершинам (известны) и длинам двух сторон (одна сторона + одна диагональ).
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Валерия |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: нет Всего: 8 |
Хм, а я думаю над вариантом рисования линией, которую постоянно поворачивать на угол, который зависит от того скольки это угольник)
Ну и каждый конец линии являеться началом следующей... |
|||
|
||||
| BOB4uK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
Сейчас алгоритм работает так:
Берется точка, если она не найдена (нет координат), то ищу две точки (у кот известны координаты) с которыми она соединена (есть длина диагонали или стороны) и методом пересечением двух окружностей нахожу точку пересечения итак все точки... Но этот метод плох тем что пересечение двух окружностей может дать две точки пересечения и нужно выбирать какую то одну, а это происходит не всегда правильно... Так же у меня учитывается всего лишь две длины и две точки, а может быть ситуация когда известно три точки и три длины и какая то из длин введена не точно, это тоже нужно отлавливать... и выводить погрешность... Я не знаю как!? |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Если известны три точки, все три длины считаются элементарно. Сравнить расчетные и заданные длины - вот тебе и весь отлов. По-моему аналитически это намного проще. Решить и получить сразу формулу для прямого расчета координат...
Это нормально. При несоответствии придется откатываться... а есть дополнительные условия - типа там многоугольник выпуклый или еще что-нить? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| BOB4uK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
Аналитически как?
Дополнительных условий нет! |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |