Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 13.12.2019
Сообщений: 8

Найти точки пересечения двух линий заданных функциями

29.12.2019, 15:58. Показов 5863. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Определить, пересекаются ли линии y = ax4 + bx3 + cx2 + dx + f и y = bx3 + mx2 + dx + p. Если пересекаются, найти точки пересечения
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.12.2019, 15:58
Ответы с готовыми решениями:

Вычисление координат точки пересечения двух заданных уравнениями прямых
две прямые описываются уравнениями: а1х+в1у+с1=0; а2х+в2у+с2=0. напечатать координаты точки пересечения этих прямых, либо сообщить что эти...

Найти точки пересечения двух прямых, заданных уравнениями вида ax+by=c, установить параллельность/совпадение
Даны числа a1, b1, c1, а2, b2, c2. напечатать координаты точки пересечения прямых, описываемых уравнениями a1x + b1y = c1 и а2х + b2у =...

DirectxX VB.net координаты точки пересечения двух 3D линий
есть две 3D линии Axyz-Bxyz и Сxyz-Вxyz подскажите, пожалуйста как найти координаты пересечения этих линий? Добавлено через 20...

6
245 / 17 / 5
Регистрация: 18.12.2019
Сообщений: 33
29.12.2019, 17:21
нужно приравнять одну функцию к другой и решить получившееся уравнение 4-й степени, может быть до 4 точек пересечения.
1
0 / 0 / 0
Регистрация: 13.12.2019
Сообщений: 8
29.12.2019, 17:34  [ТС]
код можешь написать
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
29.12.2019, 17:49
коэффициенты с нечетными степенями сокращаются.
Получается биквадратное уравнение
ax4 + (c -m)x2 + (f-p)=0
Решаем его относительно x2 как обыкновенное квадратное уравнение.
t=x2, B=c-m, C=f-p
at2+Bt+C=0

D=B2-4aC
если D<0 - решений нет (кривые вообще не пересекаются).
иначе
t1=(-B-sqrt(D))/(2a)
t2=(-B+sqrt(D))/(2a)

если t1 положительное то есть пересечения при x1=sqrt(t1), x2=-sqrt(t1)

Аналогично для t2
1
245 / 17 / 5
Регистрация: 18.12.2019
Сообщений: 33
29.12.2019, 18:21
Лучший ответ Сообщение было отмечено batyr31 как решение

Решение

примерно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
#include <cmath>
 
using namespace std;
/*y = ax^4 + bx^3 + cx^2 + dx + f и y = bx^3 + mx^2 + dx + p
a x^4  + (c-m)x^2  + f-p =  0
t=x2
b=c-m
c=f-p
at^2+bt+c=0
d=-b-4*a*c
t1=(b^2+sqr(d)) /2a
t2=(b^2-sqr(d)) /2a
 
x1=sqrt(t1)
x2=-sqrt(t1)
x3=sqrt(t2)
x4=-sqrt(t2)y = ax^4 + bx^3 + cx^2 + dx + f и y = bx^3 + mx^2 + dx + p
a x^4  + (c-m)x^2  + f-p =  0
t=x2
b=c-m
c=f-p
at^2+bt+c=0
d=-b-4*a*c
t1=(b^2+sqrt(d)) /2a
t2=(b^2-sqrt(d)) /2a
 
x1=sqrt(t1)
x2=-sqrt(t1)
x3=sqrt(t2)
x4=-sqrt(t2) */
void intersection(double a, double b, double c, double m, double d, double f, double p);
 
int main()
{   intersection(-1,-2,1,1,1,-1,-1.1);
    return 0;
}
void intersection(double a, double b, double c, double m, double d, double f, double p){
    double t1, t2, x1, x2, x3, x4;
    int i=0;
    b=c-m;
    c=f-p;
    d=-b-4*a*c;
    if(d<0){
        cout << "не пересекаются" << endl;
        return;
    }
    t1=(b*b+sqrt(d))/2*a;
    t2=(b*b-sqrt(d))/2*a;
    if(t1>=0){
        x1=sqrt(t1);
        x2=-sqrt(t1);
        i++;
        cout << "пересечение " << i << " x= "<< x1 << endl;
        i++;
        cout << "пересечение " << i << " x= "<< x2 << endl;
    }
    if(t2>=0){
        x3=sqrt(t2);
        x4=-sqrt(t2);
        i++;
        cout << "пересечение " << i << " x= "<< x3 << endl;
        i++;
        cout << "пересечение " << i << " x= "<< x4 << endl;
    }
    return;
}
1
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
29.12.2019, 18:32
SandCat, повнимательнее следите за формулами:
Цитата Сообщение от SandCat Посмотреть сообщение
d=-b-4*a*c;
C++
1
d=b*b-4.0*a*c;
Цитата Сообщение от SandCat Посмотреть сообщение
t1=(b*b+sqrt(d))/2*a;
C++
1
t1=(b*b+sqrt(d))/(2.*a);
p.s. Зря Вы балуете ТС, он ленится даже пару строчек написать самостоятельно.
0
245 / 17 / 5
Регистрация: 18.12.2019
Сообщений: 33
29.12.2019, 18:40
Цитата Сообщение от zss Посмотреть сообщение
повнимательнее следите за формулами:
да, точно перепутал кое-что. Странно только что результат совпал с выданным https://www.wolframalpha.com/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.12.2019, 18:40
Помогаю со студенческими работами здесь

Матлаб - как определить координаты точки пересечения двух линий
Есть вот такая вот программа, помогите сделать так что бы в четырехугольнике(заданий точками) при пересечении двох линий определялись...

Нахождение точки пересечения двух отрезков заданных координатами
Есть ли у кого решение на нахождение точки пересечения двух отрезков заданных координатами A(x1,y1,z1) и B(x2,y2,z2)? Спасибо.

Построение уравнения прямой, проходящей через точки пересечения двух заданных окружностей
Помогите с задачкой на Делфи... Построение уравнения прямой, что проходит через точки пересечения двух заданных окружностей: x и y ...

Найти пересечение двух линий, заданных уравнениями
создать программу для нахождения пересечения двух линий заданіх уравнениями y=a{x}^{2}+bx+c та y=mx+n. значения а,b, с, m, n вводиться с...

Найти координаты точки пересечения и расстояния от нее до заданных точек
Задание: Заданы две пересекающиеся прямые, с помощью 4 точек. Найти координаты точки пересечения и расстояния от нее до заданных точек. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru