![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
TBC |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 186 Регистрация: 5.8.2006 Где: Южный Урал Репутация: нет Всего: нет |
Не могу решить систему уравнений пересечения прямой
с окружностью. Давно очень учился, забыл. В книге после подстановки данных, преобразований и приравнивания уравнения прямой и окружности имеем: 1) (5-0,3х)" = 20"-(x-30)" (" - это так я обозначил возведение в квадрат) затем получаем: 2) х"-57.80х+480.73=0 Какие надо сделать преобразования, чтобы получить из 1), 2)? Кто подскажет? Спасибо! --------------------
http://cadcamkbm.com - 1-я в мире интеллектуальная система-автоматhttp://cnconline.ru - ЧПУ программа в автомате с DXF. Нет ни у кого в мире! |
|||
|
||||
spin2 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 15.12.2005 Где: Москва-Одесса Репутация: нет Всего: 31 |
(5-0.3х)^2=20^2-(x-30)^2
Возводим в квадрат: 25-3x+0.09x^2=400-x^2+60x-900 Группируем: 1.09x^2-63x+525=0 Дальше, видимо, делят на 1.09... x^2-57.8x+481.65=0 Получилось почти как 2). ![]() -------------------- |
|||
|
||||
TBC |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 186 Регистрация: 5.8.2006 Где: Южный Урал Репутация: нет Всего: нет |
Так вот и у меня число 480.73 не выходит, может в книге опечатка.
А дальше то как? Как получить выражение x=...? И так то плохо знал, а за 30 лет вообще позабыл! Спасибо, если кто поможет! ![]() --------------------
http://cadcamkbm.com - 1-я в мире интеллектуальная система-автоматhttp://cnconline.ru - ЧПУ программа в автомате с DXF. Нет ни у кого в мире! |
|||
|
||||
MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: 1 Всего: 3 |
Дальше высчитывешь дискриминан. Если помнишь была такая формула: D = b^2 - 4*a*c. (a*x^2 + b*x +c = 0)
Следовательно -> D = 1414,24...... x1 = (57.8 + sqrt(1414,24)/2) = 47.703...... x2 = (57.8 - sqrt(1414,24)/2) = 10.097...... sqrt - квадратный корень --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
TBC |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 186 Регистрация: 5.8.2006 Где: Южный Урал Репутация: нет Всего: нет |
Спасибо! Вспомнил про дескриминант. Но свою задачу
все равно решить пока не могу. Может кто справится, я готов заплатить, в пределах разумного конечно. Или помещу Ваше имя на своей программе, как консультанта. Программа для машиностроителей между прочим уникальная. На ActionScript я объявляю массивы, куда затем заносятся параметры примитивов: точек, прямых и окружностей. Вот фрагмент кода:
Затем в диалоге вводятся параметры примитивов: 1) Линии - координаты начальной точки и конечной. Они заносятся соответсвенно в xnp[i], ynp[i] и xkp[i], ykp[i] 2) Окружности - координаты центра радиуса и сам радиус в xnp[j], ynp[j], rp[j]. Ну и как отсюда найти координаты точек пересечения? Можно на Си, Java разберусь. Это сообщение отредактировал(а) Fixin - 14.8.2006, 15:48 --------------------
http://cadcamkbm.com - 1-я в мире интеллектуальная система-автоматhttp://cnconline.ru - ЧПУ программа в автомате с DXF. Нет ни у кого в мире! |
|||
|
||||
MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: 1 Всего: 3 |
Чего-то я не понял к чему тут окружность приписывать
![]() А поиск пересечения 2-х прямых выглядит следующим образом: Т.к. нам известны две точки А(x1,y1) и B(x2,y2), то уравнение прямой проходящей через две заданные точки выглядит как y - y1 x - x1 --------- = --------- y2 - y1 x2 - x1 Из этого равенства путем нехитрых преобразований получаем: x*(y2-y1) + y*(x1-x2) + y1*x2 - x1*y2 = 0; А т.к. общий вид уравнения имеет вид: A*x + B*y + C = 0, то => A1 = y2 - y1, B1 = x1 - x2, C1 = y1*x2 - x1*y2; Тоже самое проделываем и для второй пары точек. Соответственно получаем A2, B2, C2. Теперь у нас имеются две прямые: A1*x + B1*y + C1 =0 и A2*x + B2*y + C2 =0. Точка пересечения этих прямых находится так: x0 = (B1*C2 - B2*C1) / (A1*B2 - A2*B1); y0 = (C1*A2 - C2*A1) / (A1*B2 - A2*B1); Если A1*B2 - A2*B1 = 0, то прямые параллельны. Ну и кусок кода:
Поясни к чему тут окружность... Понял что к чему. Немного не то написал. Это сообщение отредактировал(а) MFSham - 14.8.2006, 17:05 --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: 1 Всего: 3 |
Посмотри тут. Особенно обрати внимание на 5-й пост.
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |