Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Система уравнений прямой и окружности, Кто подскажет? 
:(
    Опции темы
TBC
Дата 12.8.2006, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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. Нет ни у кого в мире!
PM MAIL WWW   Вверх
spin2
Дата 12.8.2006, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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). smile




--------------------
"С кем тяжело молчать, с тем не о чем говорить" (Метерлинк)
блог
Все об ICQ-ботах
PM MAIL WWW ICQ Skype Jabber   Вверх
TBC
Дата 13.8.2006, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 5.8.2006
Где: Южный Урал

Репутация: нет
Всего: нет



Так вот и у меня число 480.73 не выходит, может в книге опечатка.
А дальше то как? Как получить выражение x=...? И так то плохо знал, а
за 30 лет вообще позабыл!
Спасибо, если кто поможет! smile 
--------------------
http://cadcamkbm.com - 1-я в мире интеллектуальная система-автоматhttp://cnconline.ru - ЧПУ программа в автомате с DXF. Нет ни у кого в мире!
PM MAIL WWW   Вверх
MFSham
Дата 13.8.2006, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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 - квадратный корень
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
TBC
Дата 14.8.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 5.8.2006
Где: Южный Урал

Репутация: нет
Всего: нет



Спасибо! Вспомнил про дескриминант. Но свою задачу
все равно решить пока не могу. Может кто справится,
я готов заплатить, в пределах разумного конечно. Или
помещу Ваше имя на своей программе, как консультанта.
Программа для машиностроителей между прочим уникальная.

На ActionScript я объявляю массивы, куда затем заносятся
параметры примитивов: точек, прямых и окружностей. 
Вот фрагмент кода:
Код

//Объявляем массивы для параметров примитивов сложных контуров
npp=new Array(500);//№ типа примитива
namep=new Array(500);//имя КТЭ
xnp=new Array(500); //координата X начальное
ynp=new Array(500); //координата Y начальное
xkp=new Array(500); //координата X конечное
ykp=new Array(500); //координата Y конечное
rp=new Array(500);// радиус окружности


Затем в диалоге вводятся параметры примитивов:
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. Нет ни у кого в мире!
PM MAIL WWW   Вверх
MFSham
Дата 14.8.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: 1
Всего: 3



Чего-то я не понял к чему тут окружность приписывать  smile 

А поиск пересечения 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;

Тоже самое проделываем и для второй пары точек. 
Соответственно получаем A2B2C2.

Теперь у нас имеются две прямые:
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, то прямые параллельны.

Ну и кусок кода:
Код

#include <stdio>
#include <conio>

void main()
{
     double x1, x2, y1, y2;
     double A1, A2, B1, B2, C1, C2;

     x1 = 1;  y1 = 7;
     x2 = 6;  y2 = -3;

     A1 = y2 - y1; B1 = x1 - x2; C1 = y1*x2 - x1*y2;
     printf(" A1 = %f , B1 = %f, C1 = %f \n" , A1, B1, C1);

     x1 = 1;  y1 = -5;
     x2 = 5;  y2 = 7;

     A2 = y2 - y1; B2 = x1 - x2; C2 = y1*x2 - x1*y2;
     printf(" A2 = %f , B2 = %f, C2 = %f \n" , A2, B2, C2);

     double x0, y0;

     x0 = (B1*C2 - B2*C1)/(A1*B2 - A2*B1);
     y0 = (C1*A2 - C2*A1)/(A1*B2 - A2*B1);

     printf(" %f\n" , A1);
     printf("--------------\n");
     printf("x0 = %f\n", x0);
     printf("y0 = %f\n", y0);
     getch();
}


Поясни к чему тут окружность...

Понял что к чему. Немного не то написал. 

Это сообщение отредактировал(а) MFSham - 14.8.2006, 17:05
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
MFSham
Дата 14.8.2006, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: 1
Всего: 3



Посмотри тут. Особенно обрати внимание на 5-й пост.
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0746 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.