|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.03.2011, 12:40 | #1 |
Регистрация: 17.03.2011
Сообщений: 9
|
Задача о кошачьей ноге
Задача состоит в том, чтобы написать программу, определяющую положение двух точек на плоскости, иначе говоря, их координаты.
Имеется система из трёх отрезков (т.н. кошачья нога), концы первого и третьего из которых совпадают с концами второго. Схематически (без учёта углов) можно представить это так: (A)------(B)------(C)------(D) (отрезки, соответственно, - AB, BC и CD). На вход программы поступает длина этих отрезков и координаты точек A и D. При этом известно, что угол ABC (т.е. образуемый отрезками AB и BC) соотносится с углом BCD как c (этот параметр также подаётся в программу). Необходимо найти точки B и C. Помогите, пожалуйста, составить эту программу. |
17.03.2011, 14:29 | #2 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Вообще-то, при таком условии, она однозначного решения не имеет. Необходим ещё один параметр. Например, угол BAD или ADC.
|
17.03.2011, 14:47 | #3 |
Регистрация: 17.03.2011
Сообщений: 9
|
Верно. Решение не однозначно. Оно двузначно. То есть получится по два варианта точек B и C, а суть в том, что первый вариант точки будет симметричен второму относительно прямой AD. В частном случае, когда ломаная ABCD вытягивается в отрезок, эти варианты совпадают.
Последний раз редактировалось Русский человек; 17.03.2011 в 14:57. |
17.03.2011, 14:49 | #4 |
Регистрация: 17.03.2011
Сообщений: 9
|
Это весьма очевидно. Если бы давались какие-то углы, задача была бы намного проще.
|
17.03.2011, 15:21 | #5 |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Язык? Бюджет? Сроки?
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
17.03.2011, 15:52 | #6 |
Регистрация: 17.03.2011
Сообщений: 9
|
Язык - Глагол, на крайняк Рапира.
Сроки - чем быстрее, тем лучше. Желательно в течение дня. Бюджет - сколько хотите за такую работу? |
17.03.2011, 16:21 | #7 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Человека, умеющего решать обратную кинематическую задачу, и до сих пор программирующего на Рапире... Ну, это долго придётся искать!.. :D
|
17.03.2011, 16:32 | #8 |
Регистрация: 17.03.2011
Сообщений: 9
|
Я тоже так думаю =) Поэтому и предлагаю, кому интересны всякие головоломки, поучаствовать в размышлениях. Может, что-нибудь и придумаем.
|
17.03.2011, 16:45 | #9 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Ну, тупое численное решение, путём нахождения минимума ф-ии двух переменных, подойдёт? Только НЕ на Рапиде, естественно.
Последний раз редактировалось Vago; 17.03.2011 в 16:50. |
17.03.2011, 16:51 | #10 |
Регистрация: 17.03.2011
Сообщений: 9
|
Конечно, осталось только вывести эти функции.
Вообще, по условию задачи, мы имеем систему из 4-х уравнений: ( x(A) - x(B) ) ^ 2 + ( y(A) - y(B) ) ^ 2 = |AB| ^ 2 ; ( x(D) - x(С) ) ^ 2 + ( y(D) - y(С) ) ^ 2 = |CD| ^ 2 ; ( x(B) - x(С) ) ^ 2 + ( y(B) - y(С) ) ^ 2 = |BC| ^ 2 ; ABC = c * BCD . Тут x(T) - координата x точки T; y(T) - соответственно, y; |OT| - расстояние между точками O и T (длина отрезка OT); ABC и BCD - углы; c - задаваемая постоянная. Задачу можно сформулировать по-другому: у четырёхугольника известны две противолежащие вершины, длины двух противолежащих сторон и обеих диагоналей, а также соотношение двух противолежащих углов. Найти оставшиеся две вершины. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача минимизации дисбаланса на линии сборки (задача минимакса) | LenZab | Microsoft Office Excel | 13 | 13.03.2011 22:51 |
Задача | Anna T | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 13.12.2010 18:47 |
Задача 1 | UnLimited | Помощь студентам | 1 | 13.10.2010 19:26 |
Задача | darter96 | Помощь студентам | 2 | 24.06.2009 15:34 |