![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
gorillka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
мне известны координаты двух точек (х1,у1) (х2,у2) надо между ними провести дугу(хорду). срочно надо если кто знает напишите некогда литературу просто читать. радиус дуги не принципиален, главное чтоб была дуга. заранее спасибо
Добавлено через 1 минуту и 56 секунд а забыл написать мне нужна именно функция y(x) |
|||
|
||||
gorillka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
ну что не ужели не кого нет кто шарит в математике
|
|||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
||||
|
||||
gorillka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
не совсем то то мне нужно но все равно большое спасибо за интересный материал
![]() |
|||
|
||||
Skevalt |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 30.11.2006 Репутация: нет Всего: 3 |
Имея точки (x1, y1) и (x2, y2), задаем некоторый коэффициент k, который определяет отношение радиуса окружности и половину расстояния между данными точками. Для примера k = 2. Остальное в приложенном файле Mathcad (и html вариант)
А вообще KaraKum прав, кривую Безье здесь применить уместнее. Только нужно правильно скорректировать уравнение, чтобы оно определяло квадратичную кривую окружность, а не параболу. А вот тут пишут, что это будет аппроксимация кривой большего порядка, а не точное решение Это сообщение отредактировал(а) Skevalt - 19.1.2011, 15:48 |
|||
|
||||
gorillka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
а вот блин через 1 час 11 минут программа должна быть готова, а тут без этой кривой еще много всего делать. короче обойдусь без кривой. потом как время будет так разберусь с ними. больше спасибо за участие
|
|||
|
||||
Skevalt |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 30.11.2006 Репутация: нет Всего: 3 |
Возьмите координаты центра окружности как середину отрезка, соединяющего известные точки. Половина длины этого отрезка равна радиусу окружности. Будет полуокружность, опирающаяся диаметром на известные точки.
середина x0 = (x1 + x2)/2 y0 = (y1 + y2)/2, радиус R = 0.5*sqrt((x1 - x2)^2 + (y1 - y2)^2) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |